Nilorea Library
C utilities for networking, threading, graphics
Loading...
Searching...
No Matches
nilorea.h
Go to the documentation of this file.
1/*
2 * Nilorea Library
3 * Copyright (C) 2005-2026 Castagnier Mickael
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14 * implied. See the License for the specific language governing
15 * permissions and limitations under the License.
16 *
17 * SPDX-License-Identifier: Apache-2.0
18 */
19
27
28#ifndef __NILOREA_Unified_Library__
29
30#define __NILOREA_Unified_Library__
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36#include <nilorea/n_3d.h>
38#include <nilorea/n_common.h>
39#include <nilorea/n_log.h>
40#include <nilorea/n_list.h>
43#include <nilorea/n_hash.h>
44#include <nilorea/n_network.h>
46#include <nilorea/n_reactor.h>
47#include <nilorea/n_nodup_log.h>
48#include <nilorea/n_pcre.h>
49#include <nilorea/n_pretty.h>
50#include <nilorea/n_signals.h>
51#include <nilorea/n_stack.h>
52#include <nilorea/n_str.h>
54#include <nilorea/n_time.h>
55#include <nilorea/n_module.h>
57#include <nilorea/n_http_form.h>
59#include <nilorea/n_http_mime.h>
63#include <nilorea/n_user.h>
64#include <nilorea/n_zlib.h>
65#include <nilorea/n_games.h>
67#include <nilorea/n_astar.h>
68
69#ifdef HAVE_KAFKA
70#include <nilorea/n_kafka.h>
71#endif
72
73#ifdef HAVE_LIBGIT2
74#include <nilorea/n_git.h>
75#endif
76
77#ifdef HAVE_ALLEGRO
78#include <nilorea/n_anim.h>
79#include <nilorea/n_atlas.h>
80#include <nilorea/n_gui.h>
81#include <nilorea/n_gui_color.h>
82#include <nilorea/n_gui_curve.h>
83#include <nilorea/n_gui_grid.h>
84#include <nilorea/n_gui_popup.h>
85#include <nilorea/n_particles.h>
87#endif
88
89#ifdef __cplusplus
90}
91#endif
92
93#endif /*#ifndef __NILOREA_Unified_Library__*/
Simple 3D movement simulation.
Animations graphics and animations parameters.
A* Pathfinding API for 2D and 3D grids.
Multi-page sprite atlas: random-access cell blitting from a grid.
Common headers and low-level functions & define.
Config file reading and writing.
Dead Reckoning API for latency hiding in networked games.
A bounded cache of files in one directory, keyed by content.
Exception management for C.
Games helpers functions.
libgit2 wrapper for Git repository operations
GUI system: buttons, sliders, text areas, checkboxes, scrollbars, dropdown menus, windows.
A colour picker dialog for N_GUI, and a swatch to show a colour.
A curve editor for N_GUI: control points on a curve over [0,1].
A virtualised grid of cells for N_GUI, scrolled vertically.
A popup menu with submenus for N_GUI, the kind a right click opens.
Hash functions and table.
Strict percent-decoding, query strings and urlencoded forms.
Media type of a file from its extension, for a static file server.
HTTP/1.1 response: validated headers, memory or file body, framing.
HTTP router: static route tables, typed placeholders, specificity.
HTTP/1.1 server: TLS or plain, deadlines, limits, keep-alive.
Isometric/axonometric tile engine with height maps, terrain transitions, and A* pathfinding integrati...
Kafka generic produce and consume event header.
List structures and definitions.
Generic log system.
Load a shared library at runtime and find its symbols.
Network Engine.
Network messages , serialization tools.
Generic No Dup Log system.
Particles management.
PCRE helpers for regex matching.
Lexical pretty-printers for JSON, XML/HTML and JavaScript text.
Single-threaded epoll reactor for n_network connections.
Signals general handling with stack printing, from https://gist.github.com/jvranish/4441299.
Stack header definitions.
N_STR and string function declaration.
Thread pool declaration.
Timing utilities.
Trajectory interpolation and dead reckoning for 2D/3D networked simulations.
USERS handling for tiny game apps.
ZLIB compression handler.