aboutsummaryrefslogtreecommitdiff

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;