quakeforge/libs
Bill Currie 6d5e8922a5 [qfcc] Add a handle type for engine resources
I never liked the various hacks I had come up with for representing
resource handles in Ruamoko. Structs with an int were awkward to test,
pointers and ints could be modified, etc etc. The new @handle keyword (@
used to keep handle free for use) works just like struct, union and
enum in syntax, but creates an opaque type suitable for a 32-bit handle.
The backing type is a function so v6 progs can use it without (all the
necessary opcodes exist) and no modifications were needed for
type-checking in binary expressions, but only assignment and comparisons
are supported, and (of course) nil. Tested using cbuf_t and QFile: seems
to work as desired.

I had considered 64-bit handles, but really, if more than 4G resource
objects are needed, I'm not sure QF can handle the game. However, that
limit is per resource manager, not total.
2023-05-25 10:41:28 +09:00
..
audio [plist] Use reference counts for items 2023-03-13 11:26:13 +09:00
client [plist] Use reference counts for items 2023-03-13 11:26:13 +09:00
console [ecs] Plug a bunch of memory leaks 2023-03-05 22:03:01 +09:00
ecs [build] Fix some library install issues 2023-04-20 15:15:12 +09:00
gamecode [qfcc] Add a handle type for engine resources 2023-05-25 10:41:28 +09:00
gib [gamecode] Make modules responsible for freeing resources 2023-03-03 20:26:00 +09:00
image [image] Allow color conversion caches to be cleaned up 2023-03-05 18:31:30 +09:00
input [plist] Use reference counts for items 2023-03-13 11:26:13 +09:00
models [gl] Free alias model cache memory when clearing models 2023-03-21 13:18:16 +09:00
net [client] Merge cl_screen.c 2022-11-02 15:11:09 +09:00
qw [util] Make sizebuf and msg sizes unisgned 2021-04-04 15:53:53 +09:00
ruamoko [ruamoko] Make cbuf functions take a cbuf param 2023-05-24 21:01:07 +09:00
scene [glsl] Be more null-safe for free/destroy functions 2023-03-06 18:21:13 +09:00
ui [build] Fix some library install issues 2023-04-20 15:15:12 +09:00
util [util] Fix more ULP issues in the simd tests on arm 2023-03-28 12:43:05 +09:00
video [qfcc] Add a handle type for engine resources 2023-05-25 10:41:28 +09:00
Makemodule.am [ecs] Move ECS core into its own library 2022-10-26 17:24:03 +09:00