C99 libraries for gamedev and high quality programs.
Ungrateful
Note:
Only core features of C99 were used:
- stdint;
- normal comments;
- no implicit function declarations and int;
- long long;
- restrict keyword;
Compilation.
Check USAGE.md.
Ungrateful
Todo: we need to manipulate register of SSE so we disable subnormals (Flush to zero).
You should compile library and program with UN_DOUBLE_PRECISION
if you want to make real
type -- 64 bit float (aka don't define it in code).
Types, Strings, basic memory allocators (platform specific), and so on. Features:
- Memory allocation;
- Strings;
- easing;
- vecs;
- splines (qubic);
- ~ Memory debugging; @todo, we have wrapper but none of the debug functionality.
- complex numbers;
Todo:
- matrix;
- Quaternions;
- raycasting;
- Random;
- Noises;
- Compression;
- Wide strings (internal);
- Sorting;
Cynic
Platform layer for abstracting basic functionality, like loading libraries or threading. Features:
- Library loading;
- Threading;
- non-blocking logging;
- Clocks;
- File IO;
- Configurations;
- Internal compressable filesystem for speeding up IO work;
Visage
Plugin based Input-Output layer (Audio, Keyboard, Video):
- Plugin API for audio and video;
- OpenGL;
- OpenGLES;
- DirectX;
- Vulkan;
Disgrace
Networking library:
- TCP;
- UDP;
- Packing;