XPlor/definitions/cod/multidef.xscript
njohnson 0fa26e5256 Expand Call of Duty XScript definitions
Add new asset type definitions:
- GfxWorld and related structures (cells, lights, probes)
- Menu system (menudef, itemdef, windowdef, listboxdef)
- Sound system (soundalias, soundfile, speakermap, sndcurve)
- D3D resources (vertex/index buffers)
- Font glyphs and expression entries

Update existing definitions with improved field annotations
and UI display properties.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 16:36:40 -05:00

52 lines
3.0 KiB
Plaintext

type multidef [display="Multi Def"]
{
// multiDef_s - fixed part: 392 bytes total
// const char* dvarList[32] + const char* dvarStr[32] + float dvarValue[32] + int count + int strDef
// Read all 32 dvarList pointers
i32 dvar_list_ptr_0; i32 dvar_list_ptr_1; i32 dvar_list_ptr_2; i32 dvar_list_ptr_3;
i32 dvar_list_ptr_4; i32 dvar_list_ptr_5; i32 dvar_list_ptr_6; i32 dvar_list_ptr_7;
i32 dvar_list_ptr_8; i32 dvar_list_ptr_9; i32 dvar_list_ptr_10; i32 dvar_list_ptr_11;
i32 dvar_list_ptr_12; i32 dvar_list_ptr_13; i32 dvar_list_ptr_14; i32 dvar_list_ptr_15;
i32 dvar_list_ptr_16; i32 dvar_list_ptr_17; i32 dvar_list_ptr_18; i32 dvar_list_ptr_19;
i32 dvar_list_ptr_20; i32 dvar_list_ptr_21; i32 dvar_list_ptr_22; i32 dvar_list_ptr_23;
i32 dvar_list_ptr_24; i32 dvar_list_ptr_25; i32 dvar_list_ptr_26; i32 dvar_list_ptr_27;
i32 dvar_list_ptr_28; i32 dvar_list_ptr_29; i32 dvar_list_ptr_30; i32 dvar_list_ptr_31;
// Read all 32 dvarStr pointers
i32 dvar_str_ptr_0; i32 dvar_str_ptr_1; i32 dvar_str_ptr_2; i32 dvar_str_ptr_3;
i32 dvar_str_ptr_4; i32 dvar_str_ptr_5; i32 dvar_str_ptr_6; i32 dvar_str_ptr_7;
i32 dvar_str_ptr_8; i32 dvar_str_ptr_9; i32 dvar_str_ptr_10; i32 dvar_str_ptr_11;
i32 dvar_str_ptr_12; i32 dvar_str_ptr_13; i32 dvar_str_ptr_14; i32 dvar_str_ptr_15;
i32 dvar_str_ptr_16; i32 dvar_str_ptr_17; i32 dvar_str_ptr_18; i32 dvar_str_ptr_19;
i32 dvar_str_ptr_20; i32 dvar_str_ptr_21; i32 dvar_str_ptr_22; i32 dvar_str_ptr_23;
i32 dvar_str_ptr_24; i32 dvar_str_ptr_25; i32 dvar_str_ptr_26; i32 dvar_str_ptr_27;
i32 dvar_str_ptr_28; i32 dvar_str_ptr_29; i32 dvar_str_ptr_30; i32 dvar_str_ptr_31;
// float dvarValue[32] - 128 bytes
dvar_values = read(128) [display="Dvar Values"];
i32 count [ui, readonly, display="Count"];
i32 str_def [ui, readonly, display="Str Def"];
// Parse inline dvarList strings (only for -1 pointers, up to count)
if (dvar_list_ptr_0 == -1 && count > 0) { dvar_list_0 = cstring(); }
if (dvar_list_ptr_1 == -1 && count > 1) { dvar_list_1 = cstring(); }
if (dvar_list_ptr_2 == -1 && count > 2) { dvar_list_2 = cstring(); }
if (dvar_list_ptr_3 == -1 && count > 3) { dvar_list_3 = cstring(); }
if (dvar_list_ptr_4 == -1 && count > 4) { dvar_list_4 = cstring(); }
if (dvar_list_ptr_5 == -1 && count > 5) { dvar_list_5 = cstring(); }
if (dvar_list_ptr_6 == -1 && count > 6) { dvar_list_6 = cstring(); }
if (dvar_list_ptr_7 == -1 && count > 7) { dvar_list_7 = cstring(); }
// Parse inline dvarStr strings (only for -1 pointers, up to count)
if (dvar_str_ptr_0 == -1 && count > 0) { dvar_str_0 = cstring(); }
if (dvar_str_ptr_1 == -1 && count > 1) { dvar_str_1 = cstring(); }
if (dvar_str_ptr_2 == -1 && count > 2) { dvar_str_2 = cstring(); }
if (dvar_str_ptr_3 == -1 && count > 3) { dvar_str_3 = cstring(); }
if (dvar_str_ptr_4 == -1 && count > 4) { dvar_str_4 = cstring(); }
if (dvar_str_ptr_5 == -1 && count > 5) { dvar_str_5 = cstring(); }
if (dvar_str_ptr_6 == -1 && count > 6) { dvar_str_6 = cstring(); }
if (dvar_str_ptr_7 == -1 && count > 7) { dvar_str_7 = cstring(); }
}