3a2041194c
switch to GPL-2.0-only licence
2025-12-18 17:42:00 +01:00
bc0743a72b
add __assume__ macro definition in atrb.h
2025-12-15 12:32:34 +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
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
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
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