quakeforge/ruamoko/lib
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
..
Array+Private.h Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
Array+Private.r [libr] Fix loop counter in removeObjectNoRelease 2020-03-30 16:27:36 +09:00
Array.r [ruamoko] Use the right index in disabled code 2021-12-24 06:45:13 +09:00
AutoreleasePool.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
cbuf.r [qfcc] Add a handle type for engine resources 2023-05-25 10:41:28 +09:00
cmd.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
crudefile.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
cvar.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
debug.r [ruamoko] Fix several builtin declarations 2022-11-12 14:39:18 +09:00
draw.r [render] Add basic 2d line drawing 2022-09-22 09:35:56 +09:00
entities.r [ruamoko] Fix several builtin declarations 2022-11-12 14:39:18 +09:00
Entity.r [plist] Use reference counts for items 2023-03-13 11:26:13 +09:00
gib.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
hash.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
infokey.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
input.r [ruamoko] Fix some misnamed parameters 2022-04-26 07:19:35 +09:00
key.r [gamecode] Provide builtins with information about their parameters 2022-01-23 22:27:27 +09:00
legacy_math.r [ruamoko] Move older math functions 2021-12-24 06:45:13 +09:00
legacy_string.r [ruamoko] Move some string functions 2020-03-25 00:04:20 +09:00
Makemodule.am [build] Fix a pile of issues building under cygwin 2022-09-19 13:41:24 +01:00
math.r [ruamoko] Move older math functions 2021-12-24 06:45:13 +09:00
mersenne.r [ruamoko] Add bindings for Mercenne Twister 2021-12-24 06:45:13 +09:00
message.r [ruamoko] Fix several builtin declarations 2022-11-12 14:39:18 +09:00
msgbuf.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
nq_message.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
obj_forward.r [ruamoko,libr] Begin implementation of __obj_forward 2020-03-09 19:09:08 +09:00
Object.r [ruamoko] Implement default -describe method on Object 2022-09-09 14:48:03 +09:00
physics.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
plist.r [plist] Use reference counts for items 2023-03-13 11:26:13 +09:00
PropertyList.r [plist] Use reference counts for items 2023-03-13 11:26:13 +09:00
Protocol.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
qfile.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
qfs.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
qw_message.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
qw_physics.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
qw_sys.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
scene.r [ruamoko] Add style parameter to Light_AddLight 2022-05-07 00:50:27 +09:00
script.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
server.r [ruamoko] Fix several builtin declarations 2022-11-12 14:39:18 +09:00
Set.r [ruamoko] Implement -describe for Set 2023-05-17 21:09:00 +09:00
sound.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
stdlib.r [ruamoko] Add some stdlib function wrappers 2021-06-01 18:53:53 +09:00
string.r [ruamoko] Add binding for str_upper 2021-01-05 18:24:18 +09:00
sv_sound.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
system.r [libr] Treat ruamoko headers as system headers 2020-03-03 15:24:41 +09:00
types.r [ruamoko] Use pr_type_names for type sizes 2022-01-19 21:26:44 +09:00
va_list.r [ruamoko] Create a va_copy for progs 2020-04-01 19:48:05 +09:00