mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-22 11:41:38 +00:00
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. |
||
---|---|---|
.. | ||
test | ||
convert.py | ||
extend.py | ||
hops.py | ||
Makemodule.am | ||
opcodes.py | ||
pr_builtins.c | ||
pr_debug.c | ||
pr_edict.c | ||
pr_exec.c | ||
pr_load.c | ||
pr_opcode.c | ||
pr_parse.c | ||
pr_resolve.c | ||
pr_resource.c | ||
pr_strings.c | ||
pr_v6p_opcode.c | ||
pr_zone.c | ||
swizzle.py |