387 Commits

Author SHA1 Message Date
e018e1ff1b reorder variables in nbt_nexttag 2025-08-20 10:46:37 +02:00
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
999180cd74 drop windows support
I am done, I could not take it anymore.
Windows cross-compilation was driving me mad, I'll figure something else
out... probably. I just can't deal with this anymore right now.
It will be added back but I am so fucking tired of messing about with
vcpkg and all that crap.
2025-08-18 13:47:54 +02:00
08a8e261f0 remove usage of cross compilation because it's borked. (thanks microsoft!!) 2025-08-13 16:18:50 +02:00
c716a9accd update gitignore to be more accurate with the current workings of things 2025-08-13 16:18:50 +02:00
c1471e92bd remove release.yaml, since it's out of date and will be replaced when/if I get to it. 2025-08-13 16:18:50 +02:00
c2c4afb49f complete overhaul of makefile
- removed logic for creating `compile_commands.json` (programmer must
figure out)
- set to specific shell
- enable globstar to replace `find`
- replace `:=` with `=` where appropriate.
- remove reliance on `vcpkg`
2025-08-13 16:18:50 +02:00
916e81aaad update glad library 2025-08-13 16:01:51 +02:00
ee27935aab add vcpkg.json, and modify ci.yaml to improve usage vcpkg
Now we utilise storing dependencies in `vcpkg.json`, we can use this to
more easily install the dependencies.
Furthermore, we moved cloning vcpkg to `checkout`, which creates clones
with `--depth=1` by default.
2025-08-13 16:00:51 +02:00
51a05f2d7c seperate json from the yaml column, to use tabs instead of spaces 2025-08-13 12:23:54 +02:00
ebd5b6b430 rewrite the style guide 2025-08-13 12:21:07 +02:00
2e7932a70c add a section about general code information 2025-08-13 12:21:07 +02:00
37181a299c write a note 2025-08-13 12:21:07 +02:00
41828c6ea7 modify line about british spelling 2025-08-13 12:19:19 +02:00
f0e6aa38c7 seperate out general good C practice from the style guide 2025-08-13 12:19:17 +02:00
54428e72f9 fix: tests were still using types.h, rather than intdef.h 2025-08-13 12:19:17 +02:00
75008c6ca8 add comment to explain sar test 2025-08-13 12:19:15 +02:00
7ef32c06ea add libarchive to the dependencies.
library for handling archives, like gzip, xz, zstd, et cetera.
This'll be crucial later on.
2025-08-10 23:24:55 +02:00
5c57a77ad4 remove types.h, and start using intdef.h 2025-08-08 12:37:31 +02:00
bdf4d7b22b remove atrb_* macros for the attributes, and replace with single-word, all uppercase versions.
improves briefity, and reduces confusion.
2025-08-08 12:30:59 +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
4871a19695 update README to include (some) planned features 2025-08-07 13:02:08 +02:00
2d33255ce8 remove release CI status indicator, since it won't hold any value 2025-08-07 13:02:08 +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
ff7598a7e3 rework attributes to be a bit safer and more logical.
we are targeting GNU extensions, GNU attributes are a part of that.
added aliases for the new attribute names (name as all caps = shorter
due to `atrb_` prefix)
The aliases are likely to be removed in a later commit
2025-07-31 11:27:57 +02:00
e472d9c251 rename types.h to intdef.h and replace types.h with a symlink.
`intdef.h` is more clear in the purpose that it describes, rather than
`types`, `types` is too generic.
Note: floating points are still defined in this header, I imagine this
to be removed later, alongside the compatibility symlink.
2025-07-31 11:27:57 +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
1ea37b6e86 fix: there is no need to let the compilation continue if it fails.
it actually makes it less easy to locate errors.
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
8964a1a563 fix: atrb for when _MSC_VER is defined did not have parameters 2025-07-24 16:29:03 +02:00
f0c5408c51 fix: error.h should exit with EXIT_FAILURE, rather than 1 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
cdf13b7529 change qualifier alignment to be left again 2025-07-24 16:28:25 +02:00
13e1ceddfc update nbt_proc function, still inoperable 2025-07-24 16:28:25 +02:00