Commit Graph

90 Commits

Author SHA1 Message Date
1b09d3d7f1 remove need for mems, since the compiler will likely optimise it away regardless 2025-08-20 10:44:46 +02:00
e4b90246c5 remove unused nbt_primsize function 2025-08-19 11:15:41 +02:00
c15046e017 small fix with nbt_proctag, and remove usage of nbt_primsize 2025-08-19 11:14:14 +02:00
e3a8063124 calling nbt_primsize actually takes up more lines than if I didn't. 2025-08-19 11:07:13 +02:00
10a2aca0a5 fix: remove recursive functions and improve (theoretical) performance
note that lists are no longer handled here, this will be re-implemented
in a newer commit. The basic functionality for compound/end and other
tags are there, though.
2025-08-18 14:35:05 +02:00
e6cc6ce2e8 fix: swapped calloc arguments 2025-08-18 13:51:49 +02:00
37181a299c write a note 2025-08-13 12:21:07 +02:00
5c57a77ad4 remove types.h, and start using intdef.h 2025-08-08 12:37:31 +02:00
114a7d4ea5 implement nbt_nextcompound
this is still flawed, due to recursion and there being a better way.
Just gotta find it.
2025-08-08 12:27:46 +02:00
e287f6034f add copyright information to nbt.c 2025-08-07 13:49:50 +02:00
0e00cb2d54 remove non-functional code 2025-08-07 13:23:47 +02:00
c3fc688c35 remove nbt_proc and replace it with nbt_initproc
we're moving towards that the user will handle most of the looping and
data feed.
So the use of these functions is no longer intended, becides, they
weren't being maintained whilst the parameters changed, causing the
portion of code to lag behind.
I'd rather rewrite code than have to prune old, unused code.
2025-08-07 13:23:33 +02:00
066e1c0049 remove nbt_isprim function, because it never really served any purpose.' 2025-08-07 13:02:08 +02:00
1052dcaac9 add functions for incrementing to the next tag 2025-08-07 13:01:27 +02:00
f952268152 fix: the + unary operator does not add 1, but just specifies intent.
I was very mistaken, and I feel like an idiot.
2025-08-07 13:00:09 +02:00
4b2404e903 move utility functions upwards to keep the logical order 2025-08-07 13:00:09 +02:00
d70888f9fb remove __attribute__((fallthrough)) from all that do not require it. Replace with // fall through in some places for readability 2025-07-24 16:32:41 +02:00
6dbf034ba1 add marker so I remember to add this back in 2025-07-24 16:29:03 +02:00
f3273ed5d0 fix: include my endian.h in nbt.h 2025-07-24 16:29:03 +02:00
6ccb55de8b remove unused function nbt_cmpstr, since we're performing this check directly now. 2025-07-24 16:29:03 +02:00
69dc174ff2 remove nbt_arrlen function 2025-07-24 16:29:03 +02:00
58d0dd01e2 move nbt_strlen to nbt.h, and rename to nbt_namelen 2025-07-24 16:29:03 +02:00
4005163d61 fix: use atrb_pure for functions reading global state 2025-07-24 16:29:03 +02:00
1d5df8df0a apply new formatting rules to the whole project 2025-07-24 16:29:03 +02:00
13e1ceddfc update nbt_proc function, still inoperable 2025-07-24 16:28:25 +02:00
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
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
be87ccbe22 explicitly set hexadecimal values in NBT tags 2025-07-15 10:37:10 +02:00
2cb5d03211 write headers for data processing 2025-07-07 15:02:47 +02:00