Commit Graph

52 Commits

Author SHA1 Message Date
4f081e7f3e remove usage of mempcpy; this is apart of GNU C 2025-09-13 21:09:56 +02:00
55635d44ae delete redundant COLOUR32 definitions 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
4e230ae856 add a utility macro for getting the bitwise ceiling. (e.i. the next power of 2) 2025-08-26 11:32:26 +02:00
89ceb5263c put attributes after function declarations
super confusing, but the formatter is being annoying otherwise
2025-08-23 23:09:09 +02:00
4fa0a84c94 fix attributes with parameters to be less messy due to vardiac arguments 2025-08-23 23:01:01 +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
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
8964a1a563 fix: atrb for when _MSC_VER is defined did not have parameters 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
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
ceea087a88 remove colour32 typedef, and just use a 4D vector. 2025-07-07 14:27:28 +02:00
9b9a20e226 we are using GNU extensions, using __builtin_bswap* is fine. 2025-07-07 14:27:28 +02:00
271773a28c replace vectors with SMID vectors. 2025-07-07 14:27:28 +02:00
2d059cf1db apply new formatting rules 2025-07-03 10:55:33 +02:00
d56c69ec4c remove functions marked "inline" in conf.c 2025-06-20 20:39:59 +02:00
80b8b65b73 define short-hand types for int32/uint32 et cetera 2025-06-20 20:39:59 +02:00
cf1ed2a721 make colour definition more consise 2025-06-18 14:17:31 +02:00
9de057112b add integer vector types 2025-06-18 13:24:33 +02:00
e686baf5c1 clairify usage of long long with a comment 2025-06-18 13:24:23 +02:00
6a10122858 define some more utility functionality 2025-06-18 13:24:04 +02:00
d28b0189c2 fix: integer types are truncated, rather than clamped. Prefer clamping so values behave as expected for the user. 2025-06-16 13:40:53 +02:00
fe097f9d69 cleanup 2025-06-16 13:40:53 +02:00
1c8e3252e6 for byte swapping, now use a seperate header in which the compatibility code lives 2025-06-15 15:54:38 +02:00
bb1b36127e make compat/endian.h use different methods for swapping bytes depending on what is available 2025-06-15 13:57:52 +02:00
d277a1735b fix: long is 4 bytes on mingw systems 2025-06-15 13:57:52 +02:00
e833a13d29 fix: ulong not a type in mingw 2025-06-15 13:57:52 +02:00
78f6d565fb fix: config getpat appender, using mempcpy and strpcpy instead, since it makes it less prone to errors 2025-06-13 01:55:44 +02:00
c3bb0621c3 fix: wasn't handling floating-point numbers as output 2025-06-13 01:55:44 +02:00
2489ecbb0b fix: no error return with procbuff. 2025-06-12 21:47:36 +02:00
e72de37642 add copyright info to the files that were missing it 2025-06-12 18:21:35 +02:00
51be23d109 implement conf 2025-06-12 18:17:31 +02:00
364bc9dacd fix: windows syntax errors / typos 2025-06-12 10:51:45 +02:00
5e6d7d22e0 use my atrb header, since it's more platform-agnostic 2025-06-12 10:51:00 +02:00
cad49f2912 rework attribute definitions in atrb.h 2025-06-12 10:50:07 +02:00
261188e257 fix: no boolean incrementation 2025-06-11 17:57:28 +02:00
0633de838c fix: attributes must be ahead of the function definition 2025-06-11 17:57:28 +02:00
be34e101fd remove loading file logic and instead focus on parsing the incomming text 2025-06-11 17:56:22 +02:00
ef0125e7b0 reorder functions to have config path generation be at the bottom 2025-06-11 17:56:22 +02:00
0fe19b28fc add conf code start
add the start for conf file loading
2025-06-11 17:56:22 +02:00
56749e2379 code semantic fixups 2025-06-06 18:09:49 +02:00
5ae974d84f move from float3 to float2, and general cleanup 2025-06-05 00:13:05 +02:00
4f95dc144d add code for a 3-dimentional vector. 2025-06-03 14:18:20 +02:00
0f97969254 add compatibility headers 2025-06-02 12:41:01 +02:00
c403273e7a add colour32 header 2025-06-02 12:41:01 +02:00
fc2cbd9924 switch from c17 to gnu99
I am choosing gnu99 over c99, since I am planning to use GNU extensions,
like bswap. (in a future commit)
Why I choose c99 over c17, is because this'll produce more portable
code.

c99 does not implement noreturn.h, thus I added it to the compiler
attributes header.
2025-06-02 12:41:01 +02:00
42646baa1a don't indent post-processes directives 2025-06-02 12:41:01 +02:00