XPlor/definitions/cod/multidef.xscript
njohnson 7b1f5d34a1 Consolidate XScript definitions with byte order inheritance
- Volition VPP: Unified BE/LE types using inheritance pattern
- THQA PAK: Child types now inherit byte order from parent
- Various XScript definition updates and fixes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 16:08:46 -05:00

54 lines
3.1 KiB
Plaintext

type multidef ui("Multi Def")
{
const PTR_INLINE = -1;
// 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) ui("Dvar Values");
i32 count ui("Count");
i32 str_def ui("Str Def");
// Parse inline dvarList strings (only for -1 pointers, up to count)
if (dvar_list_ptr_0 == PTR_INLINE && count > 0) { dvar_list_0 = cstring(); }
if (dvar_list_ptr_1 == PTR_INLINE && count > 1) { dvar_list_1 = cstring(); }
if (dvar_list_ptr_2 == PTR_INLINE && count > 2) { dvar_list_2 = cstring(); }
if (dvar_list_ptr_3 == PTR_INLINE && count > 3) { dvar_list_3 = cstring(); }
if (dvar_list_ptr_4 == PTR_INLINE && count > 4) { dvar_list_4 = cstring(); }
if (dvar_list_ptr_5 == PTR_INLINE && count > 5) { dvar_list_5 = cstring(); }
if (dvar_list_ptr_6 == PTR_INLINE && count > 6) { dvar_list_6 = cstring(); }
if (dvar_list_ptr_7 == PTR_INLINE && count > 7) { dvar_list_7 = cstring(); }
// Parse inline dvarStr strings (only for -1 pointers, up to count)
if (dvar_str_ptr_0 == PTR_INLINE && count > 0) { dvar_str_0 = cstring(); }
if (dvar_str_ptr_1 == PTR_INLINE && count > 1) { dvar_str_1 = cstring(); }
if (dvar_str_ptr_2 == PTR_INLINE && count > 2) { dvar_str_2 = cstring(); }
if (dvar_str_ptr_3 == PTR_INLINE && count > 3) { dvar_str_3 = cstring(); }
if (dvar_str_ptr_4 == PTR_INLINE && count > 4) { dvar_str_4 = cstring(); }
if (dvar_str_ptr_5 == PTR_INLINE && count > 5) { dvar_str_5 = cstring(); }
if (dvar_str_ptr_6 == PTR_INLINE && count > 6) { dvar_str_6 = cstring(); }
if (dvar_str_ptr_7 == PTR_INLINE && count > 7) { dvar_str_7 = cstring(); }
}