quakeforge/ruamoko/qwaq
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
..
builtins [qwaq] Get the console working for qwaq-x11 2023-05-24 12:44:16 +09:00
debugger [qfcc] Add a handle type for engine resources 2023-05-25 10:41:28 +09:00
device [qwaq] Fix window closure 2021-09-26 10:35:24 +09:00
editor [gamecode] Clean up string_t and pointer_t 2022-01-18 12:11:14 +09:00
ui [qwaq] Pass the correct selector when listeners respond 2022-02-05 19:30:08 +09:00
.gdbinit [qwaq] Move from tools to ruamoko 2020-03-01 00:55:15 +09:00
gcd.r [qwaq] Implement execute-to-cursor 2021-06-08 16:54:04 +09:00
input-app.h [qwaq] Implement device management for input-app 2021-09-25 14:22:19 +09:00
input-app.r [qwaq] Fix window closure 2021-09-26 10:35:24 +09:00
Makemodule.am [ui] Move font loading into new gui library 2022-12-07 17:38:38 +09:00
qdb [qwaq] Put my qdb script in a safe place 2021-01-30 14:45:47 +09:00
qwaq-app.h [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
qwaq-app.r [qwaq] Separate out mouse (de)init code 2021-09-23 13:14:42 +09:00
qwaq-input.h [gamecode] Clean up string_t and pointer_t 2022-01-18 12:11:14 +09:00
qwaq-input.r [qwaq] Move input handling to its own thread 2021-09-22 16:22:11 +09:00
qwaq.h [hash] Rename the publicly visible hashlink_t to hashctx_t 2022-05-12 18:02:01 +09:00
threading.h [qwaq] Add input test app 2021-09-21 12:58:10 +09:00
z-transform.r [qwaq] Add a little z-transform program 2021-06-19 11:25:05 +09:00