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(); } }