blob: 728a63728d9bda744c8ad5048220871ecb59ef1f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# 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;
# Compile flags
```
# clang gcc
-std=c99 -lm -ffast-math
# cl (i guess right now)
/std:c99 /fp:fast
```
# Ungrateful
Note: we need to manipulate register of SSE so we disable subnormals (Flush to zero).
Types, Strings, basic memory allocators (platform specific), and so on. Features:
+ Memory allocation;
+ Strings;
+ easing;
- splines (qubic);
- vecs/ivec;
- matrix;
- Quaternions;
- raycasting;
- Random;
- Noises;
- Compression;
- Wide strings, u16/u32;
- Sorting;
- Memory debugging;
# 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;
|