Commit Graph

353 Commits

Author SHA1 Message Date
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
28b98705f5 refactor the lot a bit, for clairity. 2025-09-15 15:08:15 +02:00
057b234251 fix: don't free window twice 2025-09-15 15:07:41 +02:00
dd2f4c403c add copyright information to error.c 2025-09-15 14:23:03 +02:00
dc3abf992b handle window exits more gracefully and appropriately. 2025-09-15 14:23:03 +02:00
1e10fec9c6 rename input callback to something more appropriate. 2025-09-15 14:12:18 +02:00
41d944ac21 remove old/stale code from main.c 2025-09-15 14:00:40 +02:00
faa93f4372 remove needless inline function from main.c
this is shorter, does the same, and this was an incorrect application of
`inline`.
2025-09-15 13:58:47 +02:00
e3c0afbb2f fix: glfw error logging inconsistent with how the rest of our application logs errors. 2025-09-15 13:55:32 +02:00
11c8748262 define GLFW_INCLUDE_NONE, so glfw knows we're using custom headers. 2025-09-15 13:51:36 +02:00
25fa078c98 add a check for debug logging, to only log when the environment variable DEBUG is set to 1 2025-09-15 13:51:36 +02:00
023123e54f make debug loggers not be needlessly abbreviated. 2025-09-15 13:06:20 +02:00
b13739c782 do not bother with recompiling the libraries, if we got a cache hit. 2025-09-15 12:57:35 +02:00
5db42a2b15 disable windows from the CI.
yeah, fuck you too.
Windows has been... quite the pain to deal with, and I've reached the
limit of what I can be arsed to do to try and make it work.
2025-09-15 12:43:52 +02:00
2277b8ec77 use a more accurate hash for caching submodule objects. 2025-09-15 12:41:52 +02:00
fa26a3561d disable macosx for the time being, it is non-functional and I can't/won't test it anyway. 2025-09-15 12:34:30 +02:00
15b5430611 Instead of using cmake, I *obviously* need to use cmake -G 'Unix Makefiles'. How silly of me.
MicroSoft Windows: "it just works"
2025-09-15 12:30:01 +02:00
6c184a4d36 re-enable windows, and see what happens. 2025-09-15 12:17:37 +02:00
82ebe1f4d1 fix: use CC instead of LD, and deprecate LD
this is a bit confusing, since setting `LD=cc` would have the same
issue; `ld: -f may not be used without -shared`. So I've got no idea
what is going wrong, I guess it's something funky.
This works, so we shall stick with this.
2025-09-15 12:08:39 +02:00
5f3bd40a47 potato time.
this is quite upsetting.
2025-09-15 12:04:41 +02:00
158a7f8383 fix: don't use UNIX sh based ifs, instead opt for GNU Make.
This is more portable acorss machines
2025-09-15 12:04:41 +02:00
c32d1551c8 fix: regular xxd does not have -n, thus using some argument manipulation magic
On my main system I use `tinyxxd`, henceforth: "regular"
2025-09-15 12:04:41 +02:00
b04ce9998f fix: shader hex code is formatted incorrectly 2025-09-15 11:59:39 +02:00
218b98e684 fix: colour coding on error messages is incorrect 2025-09-15 11:59:39 +02:00
f20171c0d7 fix: using the linker for generating a .o file is a feature for only GNU ld.
Now utilising a process to generate a .c file using `xxd`, and compiling
those to object files.
2025-09-15 11:59:39 +02:00
3a7709c392 fix: use more accurate linker flags / calling. 2025-09-15 11:59:39 +02:00
ec36d8c475 add runner architecture to the action cache 2025-09-15 11:59:39 +02:00
a14ef55262 fix: testing compilation does not correctly filter out main.o 2025-09-15 11:14:41 +02:00
d340bbe40b fix: fminf and other <math.h> from libm not found.
The `-lm` linker flag was applied preceding the libraries, but it
should've been succeding.
2025-09-15 11:14:41 +02:00
0f6a2579b9 forcibly recompile the libs, so if deps get updated, this will be carried through.
This sacrifices a bit of workflow performance, but won't be too
significant. The heaviest step (cmake) is still circumvented
2025-09-15 11:14:40 +02:00
1ac4592503 Aparrently, the act docker container does not have cmake installed.
Adding this should not make a significant impact on workflow
performance.
2025-09-15 09:35:59 +02:00
4da02373a5 disable fail fast, so feedback is provided for all matrix combinations 2025-09-15 09:25:18 +02:00
c724ff0449 remove explicit definition for repository, since it messes with act
`act` allows to debug github workflows before sending them to the
server, allowing to test some behaviour, before pushing.
2025-09-15 09:20:07 +02:00
348c4e484c fix: clean-libs can fail when it shouldn't 2025-09-13 21:44:46 +02:00
1140bd97bf fix: linking library glfw, whilst the library compilation produces libglfw3.
This slight discrepancy is a tad annoying, since it doesn't work
backwards so it uses my system's version. But we'll figure something for
that out later... probably.
2025-09-13 21:32:33 +02:00
997b15c640 fix: obj/res/ path did not create a directory, so likely failed to place anything there. 2025-09-13 21:17:07 +02:00
f481af7e78 fix: incorrect gl.c path 2025-09-13 21:16:33 +02:00
1169ca98b1 use threaded makefile for more efficiency. 2025-09-13 21:11:58 +02:00
75ebff9071 remove pointer arithmatic warnings, since they are just useful 2025-09-13 21:11:38 +02:00
4f081e7f3e remove usage of mempcpy; this is apart of GNU C 2025-09-13 21:09:56 +02:00
8a1ed6e3c4 attempt without including windows 2025-09-13 21:04:29 +02:00
a7678c874c write a CI workflow for multiple OSes, that compile and test the code using the makefile. 2025-09-13 20:57:54 +02:00
d9ddae770a fix: just use compiler builtins with endianess
this is the most portable and clean approach. Compiler built-ins should
always be present regardless, and is more maintainable, since we're not
trying to keep up with various versions of this header.
2025-09-13 20:25:38 +02:00
c2e1b67b4c seperate out library compilation from general compilation
This can help with a more nuanced compilation. (eg. use system libraries
rather than compile our own)
Furthermore, it decreases the needed compilation time, since we needn't
recompile the whole thing when having cleaned out our local sources.
2025-09-13 20:25:38 +02:00
8548c2d037 fix: log macros were using GNU extensions without them needing them.
We can optionally add `,` utilising the `__VA_OPT__` macro. However,
this lead to the next problem, which is that an empty vardiac parameter
is a C23 extension. This was solved by dropping the string parameter,
making it be part of the vardiac parameters.
2025-09-13 20:25:38 +02:00
7ec6a3b91a fix: using __bswap_X functions over bswap_X macros, which we should be using. 2025-09-13 20:25:38 +02:00
3f48a7abb2 add compile commands events to gitignore 2025-09-13 20:25:38 +02:00
667814fb72 rework makefile to put extera emphasis on us no longer performing cross-platform compilation
Furthermore, we removed a bunch of behaviour that wasn't needed, and
simplified the bunch.
2025-09-13 20:25:38 +02:00
23fda298e6 fix: makefile had some duplicate configurations 2025-09-11 23:28:58 +02:00
03c76b0be6 rename makefile to Makefile, to reflect how everyone seems to name their makefile.
it just makes sense, and I might as well do it like this to prevent
confusing people.
2025-09-11 23:28:58 +02:00