quakeforge/ruamoko/qwaq/debugger
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
..
views [qwaq] Fix window closure 2021-09-26 10:35:24 +09:00
debug.h [qwaq] Fetch Ruamoko progs locals from the stack frame 2022-02-12 10:19:45 +09:00
debug.r [qwaq] Fetch Ruamoko progs locals from the stack frame 2022-02-12 10:19:45 +09:00
debugger.h [qwaq] Fix page up/down and deal with tabs 2021-06-10 12:13:55 +09:00
debugger.r [qwaq] Fix page up/down and deal with tabs 2021-06-10 12:13:55 +09:00
localsdata.h [qwaq] Fetch Ruamoko progs locals from the stack frame 2022-02-12 10:19:45 +09:00
localsdata.r [qwaq] Fetch Ruamoko progs locals from the stack frame 2022-02-12 10:19:45 +09:00
typeencodings.h [qwaq] Calculate type sizes for compound types 2021-06-04 13:34:15 +09:00
typeencodings.r [qfcc] Add a handle type for engine resources 2023-05-25 10:41:28 +09:00