- 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>
54 lines
3.1 KiB
Plaintext
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(); }
|
|
}
|