Commit Graph

402 Commits

Author SHA1 Message Date
a4a0b2e845 Add check recipe, which checks the code using sparse. 2026-01-22 12:25:39 +01:00
52d1f9a6f7 Add C files produced in /res to gitignore 2026-01-22 12:25:39 +01:00
8f49ae45bb Modify clang format to allow short functions to be put on a singular line. 2026-01-21 17:27:54 +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
cf79f7fdc8 Use native packages over included submodules.
This is the best option out of all, since it removes the requirement of
manually managing the dependencies, and should not matter for stable
ABI.
2026-01-21 15:57:22 +01:00
2192acbc9d fix: Second LDFLAGS not used. Replace variable appending with escaping.
This reduces the probability for this happening in the future, and
improve overall clairity.
2026-01-21 11:02:17 +01:00
2ae24f588c Remove a large section of .editorconfig to allow for customisation with specifying a tab width.
Users of the codebase may now use `tab_width` to override the preferred
indentation width, i.e. the width of the tabulation character.
2026-01-21 10:22:44 +01:00
c259a90fa4 Rename CONF_I* to CONF_S, to match the recent typedef change.
Note: not changing `NBT_I*` macros, since the NBT specification does not
specify a difference between signed/unsigned types. Generally speaking,
internally we treat these as unsigned types for the purpose of
computations being correct.
2026-01-20 11:24:03 +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
1b1e906015 Rework Makefile, to be more robust, reliable and minimal.
- Improved logic for overriding compiler flags.
- Made tooling and logging more robust.
- Added functionality to disable "silent mode" by listening to
`--no-silent`
- Removed OSX/Darwin build support (for now)
- No longer utilising /obj directory, but instead just building files
right in the worktree.
- Generating dependency files seperately from general code, for
clairity.
2026-01-15 21:23:34 +01:00
91383e205f Remove /test and /.github, the CI/testing framework.
The unit tests and continious integration is... exessive.
Yes, it's useful, but creates more complications than that it helps, so
it is removed for the time being. Maybe I will add a new framework at a
later date, but at the moment it is constraining development.
2026-01-15 13:35:38 +01:00
0d0038735f Rework some values in .clang-format for better consistency. 2026-01-15 12:01:47 +01:00
40c1fd7dc4 fix: GNU Make predefines variables, and ?= will not behave as expected. 2025-12-22 14:22:37 +01:00
b595d83468 add value processing to conf.c 2025-12-18 17:42:00 +01:00
3a2041194c switch to GPL-2.0-only licence 2025-12-18 17:42:00 +01:00
9e8f5958c7 write conf scripts 2025-12-15 18:52:47 +01:00
bc0743a72b add __assume__ macro definition in atrb.h 2025-12-15 12:32:34 +01:00
81b21ff7ce move windowing code into io/win 2025-12-15 10:02:54 +01:00
7df20e9aa1 remove mapcolour files, since we don't use them 2025-12-15 09:56:45 +01:00
5cf0292ebe delete configuration logic
The configuration logic was violating alignment rules, and will be
rewritten.
2025-12-15 09:54:57 +01:00
64b06d88c8 fix: error headers were needlessly backing out of util/ 2025-12-15 09:54:17 +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
5f909d1d65 rework the flow of the Makefile. 2025-10-23 15:28:42 +02:00
87541d5789 modify Makefile to be more in-line with the GNU standard.
Mainly so the makefile is a bit less esoteric to use, debugging flags
must be specified manually.

changed:
- `$RM` for calling `rm`
- removed unused `$ISWIN`
- renamed `test` to `check`
- added `install` and `install-strip` recipes, which for now remain
empty
- added `-g` to `$CFLAGS`, since it helps debugging, and in case of
failures makes bug report less of a headache.

I decided to not modify it further so "specialised tools" don't need to
store files in the git repo, which seemed to complicate logic.
This is the same reason to why I chose to not adapt clean in a way to
introduce `mostlyclean`.
2025-10-20 15:19:24 +02: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
8ca49aa4fa fix: ssize got removed in rework of intdef.h/types.h. 2025-10-09 12:28:24 +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
27c862c215 rework intdef.h to not rely upon standard library headers by using predefined macros. 2025-10-09 12:05:05 +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
1e24a4ee92 add a CI status badge to the README.md 2025-09-18 09:58:05 +02:00
181fca6828 fix: windows test; USERPROFILE should also result in a roaming path. 2025-09-18 09:50:56 +02:00
f6e5712876 fix: testing warnings 2025-09-18 09:47:31 +02:00
47d34b3f7d rewrite testing code to be a bit more durable and clean. 2025-09-17 16:52:18 +02:00
e623a352d2 fix: windows cache is not caching correctly. 2025-09-17 13:59:03 +02:00
079361771f fix-test: windows compilation; append some extra libraries when compiling windows. 2025-09-17 13:44:34 +02:00
66e3d0d06f revert previous, since the compilation has concluded 2025-09-17 12:55:33 +02:00
adfca88d3c push compilation of libraries on everything to get rid of turtle compilation speeds 2025-09-17 12:51:20 +02:00
e9c922d3cd revert forced usage of bash, instead opt for (more) explicit compiler selection. 2025-09-17 12:39:21 +02:00
d46f8c0900 always use bash as the shell. 2025-09-17 12:13:46 +02:00
2261209d8d win: increase cores, to hopefully not spend 20min on compilation. 2025-09-17 12:13:34 +02:00
a16f454396 drop macosx support; the fix introduced a new bug
We're now running into dynamic linker problems, so we shall disable
macosx support for now.
2025-09-17 11:32:40 +02:00
945a82e5f6 test-fix: windows compilation 2025-09-17 11:32:40 +02:00
88d39150dd test-fix: macosx compilation 2025-09-17 11:32:40 +02:00
76c992efdc note about the memory leak I could not locate within my code.
hint: I couldn't locate it, because it isn't in my code.
2025-09-15 15:14:08 +02:00