Dependencies: lib_2da, lib_2daq, lib_anon, lib_array, lib_fn, lib_ini, lib_sfo, lib_sugar, lib_tools, lib_ui
This library implements the 'vtable' (virtual table) system, which creates a virtual table of data by extracting one row from each of many 2da files. That table can then be edited as a WEIDU 2D array and then written back. Example applications are to edit classes, races or kits.
The vtable system is used by SFO's lib_class and lib_kit libraries.
vtable_debug(function:s, vtable:s, struct:s)=() dimorphic
Checks an expression (assumed to be an anon function) for apparent references to nonexistent keys.
vtable_generate_aliases(vtable:s)=() action
vtable_initialize action_macro
Loads a bunch of data used by the vtable system.
vtable_read(silent:b, row:s, vtable:s)=(struct:a) dimorphic
Read a virtual-table row into an array.
This is hardcoded for speed - even using 2daq functions slows things down a bit, and that matters for bulk editing of kits.
vtable_write(edit_strrefs_in_place:i, vtable:s, row:s, struct:s)=() dimorphic