387 Commits

Author SHA1 Message Date
333417dadd add funciton for data loading/processing 2025-07-24 16:28:25 +02:00
fd8db02e77 modify the array bytelength function to get the bytelength of a single tag. 2025-07-24 16:28:25 +02:00
2daeb9823c add a function to get an NBT array bytelength 2025-07-23 14:55:24 +02:00
4e1cd68c38 semantic fix, use explicit fallthrough
GCC was complaining, and I didn't have a valid counter argument.
2025-07-23 14:07:06 +02:00
501c623f01 rename nbt_prim_tagsize to nbt_primsize, for consistency. 2025-07-23 13:00:53 +02:00
65ee7c5b55 add a function for checking whether a tag is primitive or not
mainly for niche uses
2025-07-23 13:00:53 +02:00
5d7c244c8f optimise switch of nbt_prim_tagsize
had duplicate switch branches, which wastes binary size.
2025-07-23 13:00:53 +02:00
9fd920908e move nbt_prim_tagsize to header, since it's a pretty useful funciton. 2025-07-23 13:00:53 +02:00
8102dd6a71 fix: markdown footnote now uses correct format 2025-07-23 13:00:53 +02:00
ac3be7e8ab add link time optimalisation flag to makefile 2025-07-23 11:38:06 +02:00
6c2f51929b write a function for skipping to the next NBT tag
including a function for acquireing the array size, and bytesize of a
tag.
2025-07-18 10:29:08 +02:00
ee1811a3a5 rewrite endian header to not interfere with the endian system header.
the system header is inconsistently available across platforms.
This header provides the same functionality for less of the cost,
overriding the system macros.
2025-07-18 10:29:08 +02:00
db76d6992b add function for comparing an NBT string with a C string 2025-07-15 13:51:23 +02:00
8345ac1164 remove nbt_procdat struct 2025-07-15 13:51:23 +02:00
13451da2e8 add basic function signature for processing the NBT data 2025-07-15 13:51:23 +02:00
6aff9aa528 adapt data spec to use hexadecimal as well 2025-07-15 11:15:28 +02:00
be87ccbe22 explicitly set hexadecimal values in NBT tags 2025-07-15 10:37:10 +02:00
d1d5e14971 add a test which ensures that bit shift right is an arithmetic shift, not logical shift. 2025-07-13 12:21:37 +02:00
bcf7c9be60 improve coordinate conversion documentation, since our division was incorrect. 2025-07-13 12:05:27 +02:00
8861e591f6 improve mc-data-spec docs code example slightly for cache predictability. 2025-07-07 15:03:34 +02:00
2cb5d03211 write headers for data processing 2025-07-07 15:02:47 +02:00
600fa0f25e add map colour definitions. 2025-07-07 14:27:28 +02:00
ceea087a88 remove colour32 typedef, and just use a 4D vector. 2025-07-07 14:27:28 +02:00
9b9a20e226 we are using GNU extensions, using __builtin_bswap* is fine. 2025-07-07 14:27:28 +02:00
c56e2399e9 add struct for clairity 2025-07-07 14:27:28 +02:00
66badc2dc6 add a definition to what BE means 2025-07-07 14:27:28 +02:00
5e0db59198 fix: remove vector unit tests, since this code no longer exists. 2025-07-07 14:27:28 +02:00
271773a28c replace vectors with SMID vectors. 2025-07-07 14:27:28 +02:00
9de6e7f92e fix: window resize updates happen each update. 2025-07-03 11:52:27 +02:00
2d059cf1db apply new formatting rules 2025-07-03 10:55:33 +02:00
da8e8c1450 update clang format to use better formatting rules 2025-07-03 10:55:33 +02:00
f4b1b46b49 strip end of line comments from clang-format file 2025-07-03 09:58:42 +02:00
3e4d16a5be explicitly undefine NDEBUG in CFLAGS. 2025-06-23 13:19:06 +02:00
f78a5b6557 fix bug on windows tests failing; out was containing rubbish data 2025-06-20 20:58:31 +02:00
d56c69ec4c remove functions marked "inline" in conf.c 2025-06-20 20:39:59 +02:00
80b8b65b73 define short-hand types for int32/uint32 et cetera 2025-06-20 20:39:59 +02:00
ad66d9465a remove unused header 2025-06-20 12:35:26 +02:00
cf1ed2a721 make colour definition more consise 2025-06-18 14:17:31 +02:00
16e0c9a95e use vec2 to store window position 2025-06-18 13:28:03 +02:00
9de057112b add integer vector types 2025-06-18 13:24:33 +02:00
e686baf5c1 clairify usage of long long with a comment 2025-06-18 13:24:23 +02:00
6a10122858 define some more utility functionality 2025-06-18 13:24:04 +02:00
d28b0189c2 fix: integer types are truncated, rather than clamped. Prefer clamping so values behave as expected for the user. 2025-06-16 13:40:53 +02:00
48f4b28f90 expand integer config tests 2025-06-16 13:40:53 +02:00
38aa65942f cleanup shader code
added a cast to uintptr_t, since we're (pretty) certain that both array
pointers point to the same array.
Other than that, made the shader initialization code more consise
2025-06-16 13:40:53 +02:00
87af7f293f remove double include 2025-06-16 13:40:53 +02:00
047b4155c3 make the three triangles of the screen 2025-06-16 13:40:53 +02:00
fe097f9d69 cleanup 2025-06-16 13:40:53 +02:00
f2c2eaf36d replace endianness tests with more robust and architecture-agnostic tests for swapping byte order 2025-06-15 16:01:28 +02:00
1c8e3252e6 for byte swapping, now use a seperate header in which the compatibility code lives 2025-06-15 15:54:38 +02:00