d79fec3f91
fix the simple semantic type issues.
...
Fixed all the simple issues when it came to type semantics. The
remaining warnings/errors are near buggy / poor quality code, and need a
finer comb to resolve.
2026-01-22 16:14:25 +01:00
51dc8f85a6
Rewrite endian.h to utilise the new endian-specific integer types, for better type safety.
2026-01-22 12:25:39 +01:00
f5784844a8
Move more of the utility headers into /include/mcaselector-lite.
...
These headers have no associated C files, and are mainly used for
utility logic.
Having them in `/include` makes them more easily located, and more
globally used.
We are using "classic" header guards here over `#pragma once` for better
support. Since `#pragma once` is defined by the compiler, rather than
standard C.
Why isn't it used across the project? I have no idea.
2026-01-21 17:27:54 +01:00
aa09b6591f
Migrate from i* signed integer type definitions to s* integer definitions.
...
The `s*` format is preferred due to it being
2026-01-20 10:26:14 +01:00
3a2041194c
switch to GPL-2.0-only licence
2025-12-18 17:42:00 +01:00
8bb8671fb0
rephrase the header a little, to not be confusing when a file is copy-pasted.
2025-11-13 22:29:41 +01:00
8d0e825157
rewrite copyright file header to provide more information about where the file is from.
2025-11-13 22:24:09 +01:00
316726a610
tmp: revert enabling a column limit
2025-10-16 23:35:30 +02:00
1aa34f7d3f
enable a column limit.
2025-10-09 21:12:53 +02:00
00719b1933
refactor code with new formatting rules
...
Functions now break before their brace, mirroring the Linux kernel.
The reason for this is that breaking the parameter list otherwise makes
code unreadable.
2025-10-09 19:02:16 +02:00
eb45650178
fix: use uintptr over usize in locations where applicable
2025-10-09 18:35:39 +02:00
d4fabf437c
reformat the code by enabeling assignment- and declaration alignment.
2025-10-09 12:17:04 +02:00
cebe0df8a2
move /src/error.? to /src/util/error.?
2025-10-09 12:16:38 +02:00
aa58d931aa
move /src/util/intdef.h to /src/util/types.h
2025-10-09 12:16:06 +02:00
6eb7d126da
create a custom definition for size_t and ssize_t, which is ssize and usize, for conveinience.
2025-09-18 10:39:57 +02:00
f0d14e76b2
write decompression logic up to the point of hanelling the buffer.
2025-09-10 12:52:35 +02:00
5de0c77992
start writing code for decompressing chunk data.
...
I still haven't much of an idea where I'll take this, but it's a start.
I know it is needed for block filtering and such, I still need to find a
way how I'll actually implement it.
2025-09-10 11:37:20 +02:00
d933931829
fix: shouldn't multiply by CHUNKS, but by SECTOR
2025-09-10 10:13:26 +02:00
f020347f71
change mvchunks parameter order, to be a bit more clear and consistent with functions such as memmove
2025-09-10 10:13:26 +02:00
b13de01f24
fix: violating strict aliasing rules in most areas in the new code.
...
Yes, I am aware there are plenty of violations in `conf.c`, but I'll
likely fix/rewrite those when I will use it. Since there are some other
changes I think I'll want to make.
2025-09-10 10:13:26 +02:00
b72b8eaee1
add comments to point at where strict aliasing rule violations occur in data scripts
...
this is definitely not all of them, a thorough rewrite must take place
to fix as many as we can.
2025-09-10 10:13:26 +02:00
8a5afd6915
write a portable version of endian.h, to replace the system's endian.h.
...
utilising GNU C standard library for some of the functionality, or GNU C
extensions.
2025-09-10 10:13:26 +02:00
0baadfca75
update copyright information in all files
...
the comment was using single-line comments, I prefer multi-line comments
now.
This bothered me for much too long.
2025-08-29 09:36:55 +02:00
9a45294e56
write some constants for mcx.c, so things are less error-prone.
2025-08-29 09:35:02 +02:00
5b5f1f54af
remove unneeded code
2025-08-28 16:46:27 +02:00
f1141e0db4
fix: not moving chunks correctly in mcx_delchunk_range
2025-08-28 10:59:30 +02:00
15942b47f5
fix: assertion was inverted
2025-08-28 10:57:00 +02:00
bc8803525d
update comments and a parameter name in mcx.h
2025-08-27 14:57:34 +02:00
7531d786be
add a function for range deleting chunks
2025-08-27 14:50:35 +02:00
2c5b9def28
should set the spare chunk to 0x400, not 0
2025-08-27 14:50:35 +02:00
cd277873b5
split apart the moving of the data, for further flexibility
2025-08-27 14:50:35 +02:00
f203cabad9
fix: endianess was (often) converted after performing computations or missing completely.
2025-08-27 14:47:50 +02:00
28dd8af353
add comments
2025-08-27 14:38:30 +02:00
9c690eb327
add NONNULL attributes to chunk deletion functions
2025-08-27 12:58:59 +02:00
af8211c5ce
write function for bulk removal of chunks
2025-08-27 12:58:28 +02:00
767f3a5c13
refactor of mcx_delchunk to make things a bit more clear and flexible
2025-08-27 12:30:38 +02:00
43e3e4fe85
fix: not converting big-endian numbers to host.
...
I swear I did have this here at some point... I've got no idea when I
removed it, or even why.
2025-08-27 12:30:38 +02:00
fad6f366b4
fix: mcx_delchunk was not updating the byte offset of affected chunks.
2025-08-27 12:30:38 +02:00
b7859d56d9
add function for computing the bytesize of the *.mcX file
2025-08-27 12:30:38 +02:00
1c863099a9
write a function for deleting a specific chunk.
2025-08-27 11:43:17 +02:00
2f68574aea
swap order of nbt_proctag and nbt_nexttag
2025-08-26 11:32:26 +02:00
e02f4091b8
start writing code for *.mcX file parsing, starting with indexing logic.
2025-08-26 11:32:26 +02:00
17357d4672
remove unused/unmaintained code.
...
this will likely re-appear in some form or another later on, but
currently I don't see its use.
2025-08-25 12:42:45 +02:00
5644d377de
make helper functions for nbt_proctag have similar IO as itself.
...
fix: `procarr` was counting `nmem`, whilst we should be counting the
bytes.
fix: `procarr` wasn't actually writing to `struct nbt_array`'s `len`
member.
2025-08-25 12:41:12 +02:00
44d2271972
fix: return values and list processing was too funky with nbt_proctag.
...
- Updated documentation
- Fixed logic so `nbt_proctag` actually returns the next pointer.
2025-08-25 10:57:15 +02:00
6dae1d1600
use a flexible array member for including length with array data
2025-08-24 13:37:33 +02:00
a6442a851e
write a function for processing NBT_LIST
2025-08-24 13:06:04 +02:00
ec04177f45
remove exessive comments
2025-08-24 12:52:43 +02:00
40b8c0ef30
write documentation for nbt_procarr.
2025-08-24 12:51:59 +02:00
7feb193c51
make procarr code more consise.
2025-08-24 12:48:21 +02:00