diff --git a/game_re/gh_auto/r3_main.cxx b/game_re/gh_auto/r3_main.cxx new file mode 100644 index 00000000..97421530 --- /dev/null +++ b/game_re/gh_auto/r3_main.cxx @@ -0,0 +1,616 @@ +// AUTO-GENERATED FILE, MOVE TO 'gh_fix' FOLDER PREVENT OVERWRITING!!!!! + +#include +#include + +extern "C" { +int setupWindow(HINSTANCE instance, undefined4 param_2, int windowedParam); // 00402140 // setupWindow +undefined FUN_00470db0(void); // 00470db0 // FUN_00470db0 +undefined r3_checkDisc(void); // 004464f0 // r3_checkDisc +undefined FUN_00503710(void); // 00503710 // FUN_00503710 +undefined r3_initAllModules(void); // 00401000 // r3_initAllModules +undefined FUN_00472150(void); // 00472150 // FUN_00472150 +undefined r3_wait_for_dvd(char * param_1, char * param_2, undefined4 param_3); // 0043e540 // r3_wait_for_dvd +undefined FUN_004725a0(void); // 004725a0 // FUN_004725a0 +int r3_get_gli_width1(void); // 0047baf0 // r3_get_gli_width1 +undefined gfx_init2(void); // 00470be0 // gfx_init2 +void g_setInitVar0(void); // 00401310 // g_setInitVar0 +int r3_get_gli_height1(void); // 0047bb00 // r3_get_gli_height1 +undefined FUN_004010b0(void); // 004010b0 // FUN_004010b0 +undefined FUN_00401320(void); // 00401320 // FUN_00401320 +void r3_noop(void * p_cTxt1, void * p_cTxt2); // 00401100 // r3_noop +undefined FUN_005038e0(void); // 005038e0 // FUN_005038e0 +undefined FUN_004fb300(void); // 004fb300 // FUN_004fb300 +undefined spawnThread(void); // 004477d0 // spawnThread +undefined r3_engineLoop(void); // 00401220 // r3_engineLoop + +// 00401630 +int r3_main(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR *cmdline,int showCmd) + +{ + undefined4 uVar1; + undefined2 uVar2; + undefined2 uVar3; + LPSTR pCVar3; + char *pcVar4; + FILE *pFVar5; + LONG LVar6; + HMODULE hLibModule; + DWORD DVar7; + HANDLE hTargetProcessHandle; + HANDLE hSourceHandle; + HANDLE hSourceProcessHandle; + uint *ppCVar8; + HWND hWnd; + int iVar10; + int iVar11; + int iVar12; + int iVar13; + uint uVar14; + HKEY unaff_ESI; + char *pcVar17; + void *p_cTxt1; + void *p_cTxt2; + undefined4 uStack_85c; + undefined4 uStack_858; + LPSTR lpBuffer; + UINT uiParam; + BYTE uStack_83c [4]; + DWORD pHStack_838; + DWORD pvStack_834; + char UStack_830 [16]; + char tStack_820 [260]; + CHAR aCStack_71c [256]; + char acStack_61c [16]; + CHAR pathToUbi_ini [228]; + char acStack_528 [16]; + char acStack_518 [244]; + char acStack_424 [16]; + CHAR aCStack_414 [244]; + char acStack_320 [16]; + char acStack_310 [240]; + char acStack_220 [256]; + char acStack_120 [260]; + HINSTANCE instance; + uint *puStack_14; + undefined4 uStack_10; + int iStack_8; + BOOL BVar18; + char cVar1; + undefined4 chars; + DWORD dwOptions; + LPRECT lpRect; + LPHANDLE lpTargetHandle; + undefined4 uVar22; + + lpBuffer = pathToUbi_ini; + uiParam = 0x104; + /* Append windows dir / ubi.ini */ + uStack_858 = 0x40164d; + GetWindowsDirectoryA(lpBuffer,0x104); + iVar13 = -1; + pcVar4 = acStack_61c; + do { + pcVar17 = pcVar4; + if (iVar13 == 0) break; + iVar13 = iVar13 + -1; + pcVar17 = pcVar4 + 1; + cVar1 = *pcVar4; + pcVar4 = pcVar17; + } while (cVar1 != '\0'); + *(undefined4 *)(pcVar17 + -1) = s_UbiSoft_Ubi_ini + Field<0, 4>(); + *(undefined4 *)(pcVar17 + 3) = s_UbiSoft_Ubi_ini + Field<4, 4>(); + *(undefined4 *)(pcVar17 + 7) = s_UbiSoft_Ubi_ini + Field<8, 4>(); + *(undefined4 *)(pcVar17 + 0xb) = s_UbiSoft_Ubi_ini + Field<12, 4>(); + pcVar17[0xf] = s_UbiSoft_Ubi_ini[0x10]; + pCVar3 = GetCommandLineA(); + pcVar4 = pCVar3 + 1; + iVar13 = -(int)pcVar4; + do { + cVar1 = *pcVar4; + pcVar4[(int)(tStack_820 + iVar13)] = cVar1; + pcVar4 = pcVar4 + 1; + } while (cVar1 != '\0'); + pcVar4 = strrchr(tStack_820,0x5c); + if (pcVar4 == (char *)0x0) { + /* Read from ubi.ini */ + GetPrivateProfileStringA + (lpAppName_005b68f0,s_Directory_005b68f8,s_None,tStack_820,0xff,acStack_61c); + iVar13 = strcmpi(tStack_820,s_None); + } + else { + pcVar4 = strrchr(tStack_820,0x5c); + *pcVar4 = '\0'; + iVar13 = chdir(tStack_820); + if (iVar13 != -1) goto LAB_00401765; + /* Read from ubi.ini */ + GetPrivateProfileStringA + (lpAppName_005b68f0,s_Directory_005b68f8,s_None,tStack_820,0xff,acStack_61c); + iVar13 = strcmpi(tStack_820,s_None); + } + if (iVar13 != 0) { + chdir(tStack_820); + } +LAB_00401765: + /* strcpy */ + iVar13 = 0; + do { + cVar1 = tStack_820[iVar13]; + r3_main_data_005d28b6.gameDataDir[iVar13] = cVar1; + iVar13 = iVar13 + 1; + } while (cVar1 != '\0'); + strlwr(r3_main_data_005d28b6.gameDataDir); + iVar13 = -1; + pcVar4 = r3_main_data_005d28b6.gameDataDir; + do { + if (iVar13 == 0) break; + iVar13 = iVar13 + -1; + cVar1 = *pcVar4; + pcVar4 = pcVar4 + 1; + } while (cVar1 != '\0'); +joined_r0x00401792: + if (iVar13 != -2) { + uVar14 = 0xffffffff; + pcVar4 = r3_main_data_005d28b6.gameDataDir; + do { + if (uVar14 == 0) break; + uVar14 = uVar14 - 1; + cVar1 = *pcVar4; + pcVar4 = pcVar4 + 1; + } while (cVar1 != '\0'); + if (r3_main_data_005d28b6.gameDataDir[~uVar14 - 2] != '\\') goto LAB_004017ce; + uVar14 = 0xffffffff; + pcVar4 = r3_main_data_005d28b6.gameDataDir; + do { + if (uVar14 == 0) break; + uVar14 = uVar14 - 1; + cVar1 = *pcVar4; + pcVar4 = pcVar4 + 1; + } while (cVar1 != '\0'); + r3_main_data_005d28b6.gameDataDir[~uVar14 - 2] = '\0'; + iVar13 = -1; + pcVar4 = r3_main_data_005d28b6.gameDataDir; + do { + if (iVar13 == 0) break; + iVar13 = iVar13 + -1; + cVar1 = *pcVar4; + pcVar4 = pcVar4 + 1; + } while (cVar1 != '\0'); + goto joined_r0x00401792; + } +LAB_004017ce: + pFVar5 = fopen(acStack_61c,fopen_mode_r_text); + GetPrivateProfileStringA + (lpAppName_005b68f0,s_Adapter_005b68e4,(LPCSTR)&lpDefault_005cf96c,acStack_310,0xff, + acStack_61c); + if ((pFVar5 == (FILE *)0x0) || (acStack_310[0] == '\0')) { + /* Concat game data dir with r3 setup exe */ + iVar13 = 0; + do { + cVar1 = r3_main_data_005d28b6.gameDataDir[iVar13]; + acStack_518[iVar13] = cVar1; + iVar13 = iVar13 + 1; + } while (cVar1 != '\0'); + iVar13 = -1; + pcVar4 = acStack_518; + do { + pcVar17 = pcVar4; + if (iVar13 == 0) break; + iVar13 = iVar13 + -1; + pcVar17 = pcVar4 + 1; + cVar1 = *pcVar4; + pcVar4 = pcVar17; + } while (cVar1 != '\0'); + *(undefined4 *)(pcVar17 + -1) = s__R3_Setup_DX8_exe_005b68d0 + Field<0, 4>(); + *(undefined4 *)(pcVar17 + 3) = s__R3_Setup_DX8_exe_005b68d0 + Field<4, 4>(); + *(undefined4 *)(pcVar17 + 7) = s__R3_Setup_DX8_exe_005b68d0 + Field<8, 4>(); + *(undefined4 *)(pcVar17 + 0xb) = s__R3_Setup_DX8_exe_005b68d0 + Field<12, 4>(); + *(undefined2 *)(pcVar17 + 0xf) = s__R3_Setup_DX8_exe_005b68d0 + Field<16, 2>(); + pFVar5 = fopen(acStack_518,fopen_mode_r_binary); + if (pFVar5 == (FILE *)0x0) { + MessageBoxA((HWND)0x0,s_Unable_to_find_R3_Setup_DX8_exe__005b6880,s_Rayman_3_Error_005b68bc, + 0x10); + return -1; + } + fclose(pFVar5); + spawnl(0,acStack_518,acStack_518,0); + pFVar5 = fopen(acStack_61c,fopen_mode_r_text); + if (pFVar5 == (FILE *)0x0) { + return -1; + } + } + fclose(pFVar5); + /* Open reg key + HKEY_LOCAL_MACHINE\\SOFTWARE\\UBI SOFT\\RAYMAN 3 */ + LVar6 = RegOpenKeyExA((HKEY)0x80000002,s_SOFTWARE_UBI_SOFT_RAYMAN_3_005b6864,0,0x20019, + (PHKEY)&stack0xfffff7b8); + if (LVar6 == 0) { + LVar6 = RegQueryValueExA(unaff_ESI,s_CompleteInstall_005b6854,(LPDWORD)0x0,&pvStack_834, + uStack_83c,&pHStack_838); + DAT_007d9cc4 = (uint)(LVar6 == 0); + if (unaff_ESI != (HKEY)0x0) { + RegCloseKey(unaff_ESI); + } + } + else { + DAT_007d9cc4 = 0; + } + GetPrivateProfileStringA + (lpAppName_005b68f0,s_Language_005b6840,s_English_005b684c,aCStack_71c,0xff,acStack_61c) + ; + sprintf(g_mutexName_Rayman3,s_percents,lpAppName_005b68f0); + sprintf(g_windowTitle,s_percents,s_windowTitle); + /* Setup localized quiting/restoring strings */ + iVar13 = strcmpi(aCStack_71c,s_French_005b6828); + if (iVar13 == 0) { + sprintf(s_windowTitleRestoring,s_Restauration_fmt,s_windowTitle); + chars = s_QUITTER + Field<4, 4>(); + pcVar4 = s_ou_appuyez_sur_Echap_pour_quitte_005b67d0; + pcVar17 = s_quitting1; + for (iVar13 = 0xb; uVar22 = s_QUITTER + Field<4, 4>(), iVar13 != 0; iVar13 = iVar13 + -1) { + *(undefined4 *)pcVar17 = *(undefined4 *)pcVar4; + pcVar4 = pcVar4 + 4; + pcVar17 = pcVar17 + 4; + } + s_wndStrQuiting[0] = s_QUITTER[0]; + s_wndStrQuiting[1] = s_QUITTER[1]; + s_wndStrQuiting[2] = s_QUITTER[2]; + s_wndStrQuiting[3] = s_QUITTER[3]; + /* Wrong decompilation? */ + s_QUITTER[4] = (char)chars; + s_QUITTER[5] = SUB41(chars,1); + s_QUITTER[6] = SUB41(chars,2); + s_QUITTER[7] = SUB41(chars,3); + s_wndStrQuiting[4] = s_QUITTER[4]; + s_wndStrQuiting[5] = s_QUITTER[5]; + s_wndStrQuiting[6] = s_QUITTER[6]; + s_wndStrQuiting[7] = s_QUITTER[7]; + s_QUITTER + Field<4, 4>() = uVar22; + sprintf(g_windowTitle,s__s___Pause_005b67c4,s_windowTitle); + pcVar4 = s_Restauration; + pcVar17 = s_wndStrRestoring; + for (iVar13 = 7; iVar13 != 0; iVar13 = iVar13 + -1) { + *(undefined4 *)pcVar17 = *(undefined4 *)pcVar4; + pcVar4 = pcVar4 + 4; + pcVar17 = pcVar17 + 4; + } + } + else { + iVar13 = strcmpi(aCStack_71c,s_Spanish_005b67a0); + if (iVar13 == 0) { + sprintf(s_windowTitleRestoring,s__s___Restablecer_datos____005b6784,s_windowTitle); + uVar2 = s_SALIR_005b675c + Field<4, 2>(); + pcVar4 = s_Pulsa_ESC_para_salir_Rayman_3__005b6764; + pcVar17 = s_quitting1; + for (iVar13 = 7; chars = s_SALIR_005b675c + Field<0, 4>(), iVar13 != 0; iVar13 = iVar13 + -1) { + *(undefined4 *)pcVar17 = *(undefined4 *)pcVar4; + pcVar4 = pcVar4 + 4; + pcVar17 = pcVar17 + 4; + } + *(undefined2 *)pcVar17 = *(undefined2 *)pcVar4; + pcVar17[2] = pcVar4[2]; + uVar3 = s_SALIR_005b675c + Field<4, 2>(); + uVar22 = s_SALIR_005b675c + Field<0, 4>(); + s_SALIR_005b675c[0] = (char)chars; + s_SALIR_005b675c[1] = SUB41(chars,1); + s_SALIR_005b675c[2] = SUB41(chars,2); + s_SALIR_005b675c[3] = SUB41(chars,3); + s_wndStrQuiting[0] = s_SALIR_005b675c[0]; + s_wndStrQuiting[1] = s_SALIR_005b675c[1]; + s_wndStrQuiting[2] = s_SALIR_005b675c[2]; + s_wndStrQuiting[3] = s_SALIR_005b675c[3]; + s_SALIR_005b675c[4] = (char)uVar2; + s_SALIR_005b675c[5] = SUB21(uVar2,1); + s_wndStrQuiting[4] = s_SALIR_005b675c[4]; + s_wndStrQuiting[5] = s_SALIR_005b675c[5]; + s_SALIR_005b675c + Field<0, 4>() = uVar22; + s_SALIR_005b675c + Field<4, 2>() = uVar3; + sprintf(g_windowTitle,s__s___Rotura_005b6750,s_windowTitle); + pcVar4 = s_Restablecer_datos____005b6738; + pcVar17 = s_wndStrRestoring; + for (iVar13 = 5; iVar13 != 0; iVar13 = iVar13 + -1) { + *(undefined4 *)pcVar17 = *(undefined4 *)pcVar4; + pcVar4 = pcVar4 + 4; + pcVar17 = pcVar17 + 4; + } + *pcVar17 = *pcVar4; + } + else { + iVar13 = strcmpi(aCStack_71c,s_Italian_005b6730); + if (iVar13 == 0) { + sprintf(s_windowTitleRestoring,s__s___Ripristino_dati____005b6718,s_windowTitle); + uVar2 = s_USCIRE_005b66ec + Field<4, 2>(); + pcVar4 = s_Premi_ESC_per_uscire_da_Rayman_3_005b66f4; + pcVar17 = s_quitting1; + for (iVar13 = 8; cVar1 = s_USCIRE_005b66ec[6], iVar13 != 0; iVar13 = iVar13 + -1) { + *(undefined4 *)pcVar17 = *(undefined4 *)pcVar4; + pcVar4 = pcVar4 + 4; + pcVar17 = pcVar17 + 4; + } + s_wndStrQuiting[0] = s_USCIRE_005b66ec[0]; + s_wndStrQuiting[1] = s_USCIRE_005b66ec[1]; + s_wndStrQuiting[2] = s_USCIRE_005b66ec[2]; + s_wndStrQuiting[3] = s_USCIRE_005b66ec[3]; + *(undefined2 *)pcVar17 = *(undefined2 *)pcVar4; + uVar3 = s_USCIRE_005b66ec + Field<4, 2>(); + s_wndStrQuiting[6] = cVar1; + s_USCIRE_005b66ec[4] = (char)uVar2; + s_USCIRE_005b66ec[5] = SUB21(uVar2,1); + s_wndStrQuiting[4] = s_USCIRE_005b66ec[4]; + s_wndStrQuiting[5] = s_USCIRE_005b66ec[5]; + s_USCIRE_005b66ec + Field<4, 2>() = uVar3; + sprintf(g_windowTitle,s__s___Pausa_005b66e0,s_windowTitle); + s_wndStrRestoring[0] = s_Ripristino_dati____005b66cc[0]; + s_wndStrRestoring[1] = s_Ripristino_dati____005b66cc[1]; + s_wndStrRestoring[2] = s_Ripristino_dati____005b66cc[2]; + s_wndStrRestoring[3] = s_Ripristino_dati____005b66cc[3]; + s_wndStrRestoring[4] = s_Ripristino_dati____005b66cc[4]; + s_wndStrRestoring[5] = s_Ripristino_dati____005b66cc[5]; + s_wndStrRestoring[6] = s_Ripristino_dati____005b66cc[6]; + s_wndStrRestoring[7] = s_Ripristino_dati____005b66cc[7]; + s_wndStrRestoring[8] = s_Ripristino_dati____005b66cc[8]; + s_wndStrRestoring[9] = s_Ripristino_dati____005b66cc[9]; + s_wndStrRestoring[10] = s_Ripristino_dati____005b66cc[10]; + s_wndStrRestoring[0xb] = s_Ripristino_dati____005b66cc[0xb]; + s_wndStrRestoring + Field<12, 4>() = s_Ripristino_dati____005b66cc + Field<12, 4>(); + s_wndStrRestoring + Field<16, 2>() = s_Ripristino_dati____005b66cc + Field<16, 2>(); + s_wndStrRestoring[0x12] = s_Ripristino_dati____005b66cc[0x12]; + } + else { + iVar13 = strcmpi(aCStack_71c,s_German_005b66c4); + if (iVar13 == 0) { + sprintf(s_windowTitleRestoring,s__s___Daten_Reparatur____005b66ac,s_windowTitle); + chars = s_BEENDIGEN_005b6678 + Field<0, 4>(); + pcVar4 = &CHAR_E_005b6684; + pcVar17 = s_quitting1; + for (iVar13 = 9; uVar2 = s_BEENDIGEN_005b6678 + Field<8, 2>(), uVar22 = s_BEENDIGEN_005b6678 + Field<4, 4>(), + iVar13 != 0; iVar13 = iVar13 + -1) { + *(undefined4 *)pcVar17 = *(undefined4 *)pcVar4; + pcVar4 = pcVar4 + 4; + pcVar17 = pcVar17 + 4; + } + *(undefined2 *)pcVar17 = *(undefined2 *)pcVar4; + uVar1 = s_BEENDIGEN_005b6678 + Field<0, 4>(); + s_BEENDIGEN_005b6678[0] = (char)chars; + s_BEENDIGEN_005b6678[1] = SUB41(chars,1); + s_BEENDIGEN_005b6678[2] = SUB41(chars,2); + s_BEENDIGEN_005b6678[3] = SUB41(chars,3); + s_wndStrQuiting[0] = s_BEENDIGEN_005b6678[0]; + s_wndStrQuiting[1] = s_BEENDIGEN_005b6678[1]; + s_wndStrQuiting[2] = s_BEENDIGEN_005b6678[2]; + s_wndStrQuiting[3] = s_BEENDIGEN_005b6678[3]; + s_BEENDIGEN_005b6678 + Field<0, 4>() = uVar1; + pcVar17[2] = pcVar4[2]; + uVar3 = s_BEENDIGEN_005b6678 + Field<8, 2>(); + chars = s_BEENDIGEN_005b6678 + Field<4, 4>(); + s_BEENDIGEN_005b6678[4] = (char)uVar22; + s_BEENDIGEN_005b6678[5] = SUB41(uVar22,1); + s_BEENDIGEN_005b6678[6] = SUB41(uVar22,2); + s_BEENDIGEN_005b6678[7] = SUB41(uVar22,3); + s_wndStrQuiting[4] = s_BEENDIGEN_005b6678[4]; + s_wndStrQuiting[5] = s_BEENDIGEN_005b6678[5]; + s_wndStrQuiting[6] = s_BEENDIGEN_005b6678[6]; + s_wndStrQuiting[7] = s_BEENDIGEN_005b6678[7]; + s_BEENDIGEN_005b6678[8] = (char)uVar2; + s_BEENDIGEN_005b6678[9] = SUB21(uVar2,1); + s_wndStrQuiting[8] = s_BEENDIGEN_005b6678[8]; + s_wndStrQuiting[9] = s_BEENDIGEN_005b6678[9]; + s_BEENDIGEN_005b6678 + Field<4, 4>() = chars; + s_BEENDIGEN_005b6678 + Field<8, 2>() = uVar3; + sprintf(g_windowTitle,s__s___Pause_005b67c4,s_windowTitle); + s_wndStrRestoring[0] = s_Daten_Reparatur____005b6664[0]; + s_wndStrRestoring[1] = s_Daten_Reparatur____005b6664[1]; + s_wndStrRestoring[2] = s_Daten_Reparatur____005b6664[2]; + s_wndStrRestoring[3] = s_Daten_Reparatur____005b6664[3]; + s_wndStrRestoring[4] = s_Daten_Reparatur____005b6664[4]; + s_wndStrRestoring[5] = s_Daten_Reparatur____005b6664[5]; + s_wndStrRestoring[6] = s_Daten_Reparatur____005b6664[6]; + s_wndStrRestoring[7] = s_Daten_Reparatur____005b6664[7]; + s_wndStrRestoring[8] = s_Daten_Reparatur____005b6664[8]; + s_wndStrRestoring[9] = s_Daten_Reparatur____005b6664[9]; + s_wndStrRestoring[10] = s_Daten_Reparatur____005b6664[10]; + s_wndStrRestoring[0xb] = s_Daten_Reparatur____005b6664[0xb]; + s_wndStrRestoring[0xc] = s_Daten_Reparatur____005b6664[0xc]; + s_wndStrRestoring[0xd] = s_Daten_Reparatur____005b6664[0xd]; + s_wndStrRestoring[0xe] = s_Daten_Reparatur____005b6664[0xe]; + s_wndStrRestoring[0xf] = s_Daten_Reparatur____005b6664[0xf]; + s_wndStrRestoring[0x10] = s_Daten_Reparatur____005b6664[0x10]; + s_wndStrRestoring[0x11] = s_Daten_Reparatur____005b6664[0x11]; + s_wndStrRestoring[0x12] = s_Daten_Reparatur____005b6664[0x12]; + } + else { + sprintf(s_windowTitleRestoring,s__s___Restoring_data____005b664c,s_windowTitle); + chars = s_QUIT + Field<0, 4>(); + pcVar4 = s_or_press_ESC_to_quit_Rayman_3__005b662c; + pcVar17 = s_quitting1; + for (iVar13 = 7; cVar1 = s_QUIT[4], iVar13 != 0; iVar13 = iVar13 + -1) { + *(undefined4 *)pcVar17 = *(undefined4 *)pcVar4; + pcVar4 = pcVar4 + 4; + pcVar17 = pcVar17 + 4; + } + *(undefined2 *)pcVar17 = *(undefined2 *)pcVar4; + pcVar17[2] = pcVar4[2]; + uVar22 = s_QUIT + Field<0, 4>(); + s_QUIT[0] = (char)chars; + s_QUIT[1] = SUB41(chars,1); + s_QUIT[2] = SUB41(chars,2); + s_QUIT[3] = SUB41(chars,3); + s_wndStrQuiting[0] = s_QUIT[0]; + s_wndStrQuiting[1] = s_QUIT[1]; + s_wndStrQuiting[2] = s_QUIT[2]; + s_wndStrQuiting[3] = s_QUIT[3]; + s_wndStrQuiting[4] = cVar1; + s_QUIT + Field<0, 4>() = uVar22; + sprintf(g_windowTitle,s__s___Pause_005b67c4,s_windowTitle); + s_wndStrRestoring[0] = s_Restoring_data_____005b6610[0]; + s_wndStrRestoring[1] = s_Restoring_data_____005b6610[1]; + s_wndStrRestoring[2] = s_Restoring_data_____005b6610[2]; + s_wndStrRestoring[3] = s_Restoring_data_____005b6610[3]; + s_wndStrRestoring[4] = s_Restoring_data_____005b6610[4]; + s_wndStrRestoring[5] = s_Restoring_data_____005b6610[5]; + s_wndStrRestoring[6] = s_Restoring_data_____005b6610[6]; + s_wndStrRestoring[7] = s_Restoring_data_____005b6610[7]; + s_wndStrRestoring[8] = s_Restoring_data_____005b6610[8]; + s_wndStrRestoring[9] = s_Restoring_data_____005b6610[9]; + s_wndStrRestoring[10] = s_Restoring_data_____005b6610[10]; + s_wndStrRestoring[0xb] = s_Restoring_data_____005b6610[0xb]; + s_wndStrRestoring + Field<12, 4>() = s_Restoring_data_____005b6610 + Field<12, 4>(); + s_wndStrRestoring + Field<16, 2>() = s_Restoring_data_____005b6610 + Field<16, 2>(); + s_wndStrRestoring[0x12] = s_Restoring_data_____005b6610[0x12]; + } + } + } + } + /* Create draw semaphore + Initial count = 1 + Maximum count = 1 */ + g_drawSemaphore = CreateSemaphoreA((LPSECURITY_ATTRIBUTES)0x0,1,1,s_DRAWSEM_005b6608); + if (iStack_8 != 0) { + return -1; + } + /* Load DirectPlay probably unused */ + hLibModule = LoadLibraryA(s_dpnhpast_dll_005b65f8); + if (hLibModule == (HMODULE)0x0) { + iVar13 = strcmpi(aCStack_71c,s_French_005b6828); + if (iVar13 == 0) { + MessageBoxA((HWND)0x0,lpText_005b6598,s_Erreur_Rayman_3_005b65e4,0x10); + return -1; + } + iVar13 = strcmpi(aCStack_71c,s_Spanish_005b67a0); + if (iVar13 == 0) { + MessageBoxA((HWND)0x0,lpText_005b6540,s_Rayman_3_005b6588,0x10); + return -1; + } + iVar13 = strcmpi(aCStack_71c,s_Italian_005b6730); + if (iVar13 == 0) { + MessageBoxA((HWND)0x0,lpText_005b64f0,s_Rayman_3_005b6588,0x10); + return -1; + } + iVar13 = strcmpi(aCStack_71c,s_German_005b66c4); + if (iVar13 != 0) { + MessageBoxA((HWND)0x0,s_Check_your_version_of_DirectX__V_005b6430,s_Rayman_3_Error_005b68bc, + 0x10); + return -1; + } + MessageBoxA((HWND)0x0,lpText_005b6478,s_Rayman_3_005b6588,0x10); + return -1; + } + FreeLibrary(hLibModule); + p_cTxt1 = (void *)0x401e2a; + CreateMutexA((LPSECURITY_ATTRIBUTES)0x0,1,g_mutexName_Rayman3); + DVar7 = GetLastError(); + if (DVar7 == 0xb7) { + /* Mutex already exists */ + return -1; + } + p_cTxt2 = (void *)0x401e5a; + GetWindowsDirectoryA(aCStack_414,0x104); + iVar13 = -1; + /* Append ubi.ini */ + pcVar4 = acStack_424; + do { + pcVar17 = pcVar4; + if (iVar13 == 0) break; + iVar13 = iVar13 + -1; + pcVar17 = pcVar4 + 1; + cVar1 = *pcVar4; + pcVar4 = pcVar17; + } while (cVar1 != '\0'); + *(undefined4 *)(pcVar17 + -1) = s_UbiSoft_Ubi_ini + Field<0, 4>(); + *(undefined4 *)(pcVar17 + 3) = s_UbiSoft_Ubi_ini + Field<4, 4>(); + *(undefined4 *)(pcVar17 + 7) = s_UbiSoft_Ubi_ini + Field<8, 4>(); + *(undefined4 *)(pcVar17 + 0xb) = s_UbiSoft_Ubi_ini + Field<12, 4>(); + pcVar17[0xf] = s_UbiSoft_Ubi_ini[0x10]; + /* Read graphics settings */ + GetPrivateProfileStringA + (lpAppName_005b68f0,s_Adapter_005b68e4,(LPCSTR)&lpDefault_005cf96c,acStack_320,0xff, + acStack_424); + GetPrivateProfileStringA + (lpAppName_005b68f0,s_Identifier_005b6420,(LPCSTR)&lpDefault_005cf96c,acStack_120,0xff, + acStack_424); + GetPrivateProfileStringA + (lpAppName_005b68f0,s_Gli_Mode_005b6414,(LPCSTR)&lpDefault_005cf96c,acStack_220,0xff, + acStack_424); + /* If they're all set */ + if (((acStack_320[0] != '\0') && (acStack_120[0] != '\0')) && (acStack_220[0] != '\0')) { + /* For GLIMode + 1 = maximize + 0 = windowed */ + g_runMaximized = (int)(acStack_220[0] != '0'); + r3_checkDisc(); + dwOptions = 0; + BVar18 = 0; + lpTargetHandle = (LPHANDLE)&stack0xfffff7ac; + DVar7 = 0x1f03ff; + g_hinstance = instance; + hTargetProcessHandle = GetCurrentProcess(); + hSourceHandle = GetCurrentThread(); + hSourceProcessHandle = GetCurrentProcess(); + DuplicateHandle(hSourceProcessHandle,hSourceHandle,hTargetProcessHandle,lpTargetHandle,DVar7, + BVar18,dwOptions); + /* Copy cmdline */ + ppCVar8 = puStack_14; + g_mainThreadHandle = lpBuffer; + do { + uVar14 = *ppCVar8; + *(char *)(((int)g_appCmdLine - (int)puStack_14) + (int)ppCVar8) = (char)uVar14; + ppCVar8 = (uint *)((int)ppCVar8 + 1); + } while ((char)uVar14 != '\0'); + /* SEM_FAILCRITICALERRORS */ + SetErrorMode(1); + pcVar4 = strstr(puStack_14,s_dashCC); + if (pcVar4 == (char *)0x0) { + r3_initAllModules(); + iVar13 = setupWindow(instance,uStack_10,g_runMaximized); + if (iVar13 == 0) { + return -1; + } + g_setInitVar0(); + FUN_00401320(); + spawnThread(); + r3_noop(p_cTxt1,p_cTxt2); + gfx_init2(); + lpRect = (LPRECT)&stack0xfffff7c0; + hWnd = GetDesktopWindow(); + GetWindowRect(hWnd,lpRect); + BVar18 = 1; + iVar13 = r3_get_gli_height1(); + iVar13 = iVar13 + 0x20; + iVar10 = r3_get_gli_width1(); + iVar10 = iVar10 + 0xc; + iVar11 = r3_get_gli_height1(); + iVar11 = (int)(pvStack_834 - iVar11) / 2; + iVar12 = r3_get_gli_width1(); + MoveWindow(g_gameHWND,(int)(pHStack_838 - iVar12) / 2,iVar11,iVar10,iVar13,BVar18); + FUN_004010b0(); + SystemParametersInfoA(0x10,0,&stack0xfffff7b0,0); + SystemParametersInfoA(0x11,0,(PVOID)0x0,0); + ShowCursor(0); + uStack_85c = 0; + SystemParametersInfoA(0x61,1,&uStack_85c,0); + g_engineRunning = 1; + r3_engineLoop(); + /* cleanup starts here */ + FUN_004725a0(); + FUN_005038e0(); + FUN_00503710(); + FUN_004fb300(); + FUN_00472150(); + FUN_00470db0(); + uStack_85c = 0; + SystemParametersInfoA(0x61,0,&uStack_85c,0); + ShowCursor(1); + SystemParametersInfoA(0x11,uiParam,(PVOID)0x0,0); + CloseHandle(lpBuffer); + } + return 0; + } + sprintf(UStack_830,s_Please_run_the__s_setup__005b63f4,s_windowTitle); + sprintf(acStack_528,s__s_not_initialized__005b63e0,s_windowTitle); + r3_wait_for_dvd(UStack_830,acStack_528,0); + /* WARNING: Subroutine does not return */ + exit(-1); +} + +} + diff --git a/game_re/gh_global.cxx b/game_re/gh_global.cxx new file mode 100644 index 00000000..d7e490bf --- /dev/null +++ b/game_re/gh_global.cxx @@ -0,0 +1,76 @@ +// AUTO-GENERATED FILE +#include +char(&s__s_not_initialized__005b63e0)[20] = reinterpret_cast(GH_MEM(0x005b63e0)); +char(&s_Please_run_the__s_setup__005b63f4)[28] = reinterpret_cast(GH_MEM(0x005b63f4)); +char(&s_dashCC)[4] = reinterpret_cast(GH_MEM(0x005b6410)); +char(&s_Gli_Mode_005b6414)[12] = reinterpret_cast(GH_MEM(0x005b6414)); +char(&s_Identifier_005b6420)[16] = reinterpret_cast(GH_MEM(0x005b6420)); +char(&s_Check_your_version_of_DirectX__V_005b6430)[72] = reinterpret_cast(GH_MEM(0x005b6430)); +char(&lpText_005b6478)[120] = reinterpret_cast(GH_MEM(0x005b6478)); +char(&lpText_005b64f0)[80] = reinterpret_cast(GH_MEM(0x005b64f0)); +char(&lpText_005b6540)[72] = reinterpret_cast(GH_MEM(0x005b6540)); +char(&s_Rayman_3_005b6588)[16] = reinterpret_cast(GH_MEM(0x005b6588)); +char(&lpText_005b6598)[76] = reinterpret_cast(GH_MEM(0x005b6598)); +char(&s_Erreur_Rayman_3_005b65e4)[20] = reinterpret_cast(GH_MEM(0x005b65e4)); +char(&s_dpnhpast_dll_005b65f8)[16] = reinterpret_cast(GH_MEM(0x005b65f8)); +char(&s_DRAWSEM_005b6608)[8] = reinterpret_cast(GH_MEM(0x005b6608)); +char(&s_Restoring_data_____005b6610)[20] = reinterpret_cast(GH_MEM(0x005b6610)); +char(&s_QUIT)[8] = reinterpret_cast(GH_MEM(0x005b6624)); +char(&s_or_press_ESC_to_quit_Rayman_3__005b662c)[32] = reinterpret_cast(GH_MEM(0x005b662c)); +char(&s__s___Restoring_data____005b664c)[24] = reinterpret_cast(GH_MEM(0x005b664c)); +char(&s_Daten_Reparatur____005b6664)[20] = reinterpret_cast(GH_MEM(0x005b6664)); +char(&s_BEENDIGEN_005b6678)[12] = reinterpret_cast(GH_MEM(0x005b6678)); +char& CHAR_E_005b6684= (char&) GH_MEM(0x005b6684); +char(&s__s___Daten_Reparatur____005b66ac)[24] = reinterpret_cast(GH_MEM(0x005b66ac)); +char(&s_German_005b66c4)[8] = reinterpret_cast(GH_MEM(0x005b66c4)); +char(&s_Ripristino_dati____005b66cc)[20] = reinterpret_cast(GH_MEM(0x005b66cc)); +char(&s__s___Pausa_005b66e0)[12] = reinterpret_cast(GH_MEM(0x005b66e0)); +char(&s_USCIRE_005b66ec)[8] = reinterpret_cast(GH_MEM(0x005b66ec)); +char(&s_Premi_ESC_per_uscire_da_Rayman_3_005b66f4)[36] = reinterpret_cast(GH_MEM(0x005b66f4)); +char(&s__s___Ripristino_dati____005b6718)[24] = reinterpret_cast(GH_MEM(0x005b6718)); +char(&s_Italian_005b6730)[8] = reinterpret_cast(GH_MEM(0x005b6730)); +char(&s_Restablecer_datos____005b6738)[24] = reinterpret_cast(GH_MEM(0x005b6738)); +char(&s__s___Rotura_005b6750)[12] = reinterpret_cast(GH_MEM(0x005b6750)); +char(&s_SALIR_005b675c)[8] = reinterpret_cast(GH_MEM(0x005b675c)); +char(&s_Pulsa_ESC_para_salir_Rayman_3__005b6764)[32] = reinterpret_cast(GH_MEM(0x005b6764)); +char(&s__s___Restablecer_datos____005b6784)[28] = reinterpret_cast(GH_MEM(0x005b6784)); +char(&s_Spanish_005b67a0)[8] = reinterpret_cast(GH_MEM(0x005b67a0)); +char(&s_Restauration)[28] = reinterpret_cast(GH_MEM(0x005b67a8)); +char(&s__s___Pause_005b67c4)[11] = reinterpret_cast(GH_MEM(0x005b67c4)); +char(&s_ou_appuyez_sur_Echap_pour_quitte_005b67d0)[44] = reinterpret_cast(GH_MEM(0x005b67d0)); +char(&s_QUITTER)[8] = reinterpret_cast(GH_MEM(0x005b67fc)); +char(&s_Restauration_fmt)[36] = reinterpret_cast(GH_MEM(0x005b6804)); +char(&s_French_005b6828)[8] = reinterpret_cast(GH_MEM(0x005b6828)); +char(&s_windowTitle)[12] = reinterpret_cast(GH_MEM(0x005b6830)); +char(&s_percents)[4] = reinterpret_cast(GH_MEM(0x005b683c)); +const char* s_Language_005b6840 = "Language"; // 005b6840 +const char* s_English_005b684c = "English"; // 005b684c +const char* s_CompleteInstall_005b6854 = "CompleteInstall"; // 005b6854 +const char* s_SOFTWARE_UBI_SOFT_RAYMAN_3_005b6864 = "SOFTWARE\\UBI SOFT\\RAYMAN 3"; // 005b6864 +const char* s_Unable_to_find_R3_Setup_DX8_exe__005b6880 = "Unable to find R3_Setup_DX8.exe. Please reinstall the game."; // 005b6880 +const char* s_Rayman_3_Error_005b68bc = "Rayman 3 Error"; // 005b68bc +const char* fopen_mode_r_binary = "rb"; // 005b68cc +const char* s__R3_Setup_DX8_exe_005b68d0 = "\\R3_Setup_DX8.exe"; // 005b68d0 +const char* s_Adapter_005b68e4 = "Adapter"; // 005b68e4 +const char* fopen_mode_r_text = "rt"; // 005b68ec +char(&lpAppName_005b68f0)[8] = reinterpret_cast(GH_MEM(0x005b68f0)); +const char* s_Directory_005b68f8 = "Directory"; // 005b68f8 +const char* s_None = "None"; // 005b6904 +const char* s_UbiSoft_Ubi_ini = "/UbiSoft/Ubi.ini"; // 005b690c +long& lpDefault_005cf96c= (long&) GH_MEM(0x005cf96c); +r3_main_data& r3_main_data_005d28b6= (r3_main_data&) GH_MEM(0x005d28b6); +int& g_runMaximized= (int&) GH_MEM(0x0077d0a8); +undefined4& g_engineRunning= (undefined4&) GH_MEM(0x0077d0b4); +undefined4& g_drawSemaphore= (undefined4&) GH_MEM(0x0077d0bc); +char(&g_mutexName_Rayman3)[256] = reinterpret_cast(GH_MEM(0x0077d0c0)); +char(&g_windowTitle)[256] = reinterpret_cast(GH_MEM(0x0077d1c0)); +char(&g_windowTitle)[256] = reinterpret_cast(GH_MEM(0x0077d2c0)); +char(&s_windowTitleRestoring)[256] = reinterpret_cast(GH_MEM(0x0077d3c0)); +HINSTANCE& g_hinstance= (HINSTANCE&) GH_MEM(0x0077d4c0); +HWND& g_gameHWND= (HWND&) GH_MEM(0x0077d4c4); +HANDLE& g_mainThreadHandle= (HANDLE&) GH_MEM(0x0077d4c8); +char(&g_appCmdLine)[256] = reinterpret_cast(GH_MEM(0x0077d4e0)); +char(&s_wndStrRestoring)[256] = reinterpret_cast(GH_MEM(0x0077d5e0)); +char(&s_quitting1)[64] = reinterpret_cast(GH_MEM(0x007825c0)); +char(&s_wndStrQuiting)[56] = reinterpret_cast(GH_MEM(0x00782600)); +uint& DAT_007d9cc4= (uint&) GH_MEM(0x007d9cc4); diff --git a/game_re/gh_global.h b/game_re/gh_global.h new file mode 100644 index 00000000..c2e94345 --- /dev/null +++ b/game_re/gh_global.h @@ -0,0 +1,82 @@ +// AUTO-GENERATED FILE +#ifndef GH_GENERATED_GLOBALS_H +#define GH_GENERATED_GLOBALS_H + +#include + + +extern char(&s__s_not_initialized__005b63e0)[20]; // 005b63e0 +extern char(&s_Please_run_the__s_setup__005b63f4)[28]; // 005b63f4 +extern char(&s_dashCC)[4]; // 005b6410 +extern char(&s_Gli_Mode_005b6414)[12]; // 005b6414 +extern char(&s_Identifier_005b6420)[16]; // 005b6420 +extern char(&s_Check_your_version_of_DirectX__V_005b6430)[72]; // 005b6430 +extern char(&lpText_005b6478)[120]; // 005b6478 +extern char(&lpText_005b64f0)[80]; // 005b64f0 +extern char(&lpText_005b6540)[72]; // 005b6540 +extern char(&s_Rayman_3_005b6588)[16]; // 005b6588 +extern char(&lpText_005b6598)[76]; // 005b6598 +extern char(&s_Erreur_Rayman_3_005b65e4)[20]; // 005b65e4 +extern char(&s_dpnhpast_dll_005b65f8)[16]; // 005b65f8 +extern char(&s_DRAWSEM_005b6608)[8]; // 005b6608 +extern char(&s_Restoring_data_____005b6610)[20]; // 005b6610 +extern char(&s_QUIT)[8]; // 005b6624 +extern char(&s_or_press_ESC_to_quit_Rayman_3__005b662c)[32]; // 005b662c +extern char(&s__s___Restoring_data____005b664c)[24]; // 005b664c +extern char(&s_Daten_Reparatur____005b6664)[20]; // 005b6664 +extern char(&s_BEENDIGEN_005b6678)[12]; // 005b6678 +extern char& CHAR_E_005b6684; // 005b6684 +extern char(&s__s___Daten_Reparatur____005b66ac)[24]; // 005b66ac +extern char(&s_German_005b66c4)[8]; // 005b66c4 +extern char(&s_Ripristino_dati____005b66cc)[20]; // 005b66cc +extern char(&s__s___Pausa_005b66e0)[12]; // 005b66e0 +extern char(&s_USCIRE_005b66ec)[8]; // 005b66ec +extern char(&s_Premi_ESC_per_uscire_da_Rayman_3_005b66f4)[36]; // 005b66f4 +extern char(&s__s___Ripristino_dati____005b6718)[24]; // 005b6718 +extern char(&s_Italian_005b6730)[8]; // 005b6730 +extern char(&s_Restablecer_datos____005b6738)[24]; // 005b6738 +extern char(&s__s___Rotura_005b6750)[12]; // 005b6750 +extern char(&s_SALIR_005b675c)[8]; // 005b675c +extern char(&s_Pulsa_ESC_para_salir_Rayman_3__005b6764)[32]; // 005b6764 +extern char(&s__s___Restablecer_datos____005b6784)[28]; // 005b6784 +extern char(&s_Spanish_005b67a0)[8]; // 005b67a0 +extern char(&s_Restauration)[28]; // 005b67a8 +extern char(&s__s___Pause_005b67c4)[11]; // 005b67c4 +extern char(&s_ou_appuyez_sur_Echap_pour_quitte_005b67d0)[44]; // 005b67d0 +extern char(&s_QUITTER)[8]; // 005b67fc +extern char(&s_Restauration_fmt)[36]; // 005b6804 +extern char(&s_French_005b6828)[8]; // 005b6828 +extern char(&s_windowTitle)[12]; // 005b6830 +extern char(&s_percents)[4]; // 005b683c +extern const char* s_Language_005b6840; // 005b6840 +extern const char* s_English_005b684c; // 005b684c +extern const char* s_CompleteInstall_005b6854; // 005b6854 +extern const char* s_SOFTWARE_UBI_SOFT_RAYMAN_3_005b6864; // 005b6864 +extern const char* s_Unable_to_find_R3_Setup_DX8_exe__005b6880; // 005b6880 +extern const char* s_Rayman_3_Error_005b68bc; // 005b68bc +extern const char* fopen_mode_r_binary; // 005b68cc +extern const char* s__R3_Setup_DX8_exe_005b68d0; // 005b68d0 +extern const char* s_Adapter_005b68e4; // 005b68e4 +extern const char* fopen_mode_r_text; // 005b68ec +extern char(&lpAppName_005b68f0)[8]; // 005b68f0 +extern const char* s_Directory_005b68f8; // 005b68f8 +extern const char* s_None; // 005b6904 +extern const char* s_UbiSoft_Ubi_ini; // 005b690c +extern long& lpDefault_005cf96c; // 005cf96c +extern r3_main_data& r3_main_data_005d28b6; // 005d28b6 +extern int& g_runMaximized; // 0077d0a8 +extern undefined4& g_engineRunning; // 0077d0b4 +extern undefined4& g_drawSemaphore; // 0077d0bc +extern char(&g_mutexName_Rayman3)[256]; // 0077d0c0 +extern char(&g_windowTitle)[256]; // 0077d1c0 +extern char(&g_windowTitle)[256]; // 0077d2c0 +extern char(&s_windowTitleRestoring)[256]; // 0077d3c0 +extern HINSTANCE& g_hinstance; // 0077d4c0 +extern HWND& g_gameHWND; // 0077d4c4 +extern HANDLE& g_mainThreadHandle; // 0077d4c8 +extern char(&g_appCmdLine)[256]; // 0077d4e0 +extern char(&s_wndStrRestoring)[256]; // 0077d5e0 +extern char(&s_quitting1)[64]; // 007825c0 +extern char(&s_wndStrQuiting)[56]; // 00782600 +extern uint& DAT_007d9cc4; // 007d9cc4 +#endif // GH_GENERATED_GLOBALS_H diff --git a/game_re/gh_stub/FUN_004010b0.cxx b/game_re/gh_stub/FUN_004010b0.cxx new file mode 100644 index 00000000..15cd9b37 --- /dev/null +++ b/game_re/gh_stub/FUN_004010b0.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 004010b0 +// FUN_004010b0 +extern "C" undefined FUN_004010b0(void) { + return gh_stub_impl_cdecl((void*)0x004010b0); +} diff --git a/game_re/gh_stub/FUN_00401320.cxx b/game_re/gh_stub/FUN_00401320.cxx new file mode 100644 index 00000000..f5bc3e64 --- /dev/null +++ b/game_re/gh_stub/FUN_00401320.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 00401320 +// FUN_00401320 +extern "C" undefined FUN_00401320(void) { + return gh_stub_impl_cdecl((void*)0x00401320); +} diff --git a/game_re/gh_stub/FUN_00470db0.cxx b/game_re/gh_stub/FUN_00470db0.cxx new file mode 100644 index 00000000..6f2503dc --- /dev/null +++ b/game_re/gh_stub/FUN_00470db0.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 00470db0 +// FUN_00470db0 +extern "C" undefined FUN_00470db0(void) { + return gh_stub_impl_cdecl((void*)0x00470db0); +} diff --git a/game_re/gh_stub/FUN_00472150.cxx b/game_re/gh_stub/FUN_00472150.cxx new file mode 100644 index 00000000..f1c63be4 --- /dev/null +++ b/game_re/gh_stub/FUN_00472150.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 00472150 +// FUN_00472150 +extern "C" undefined FUN_00472150(void) { + return gh_stub_impl_cdecl((void*)0x00472150); +} diff --git a/game_re/gh_stub/FUN_004725a0.cxx b/game_re/gh_stub/FUN_004725a0.cxx new file mode 100644 index 00000000..e2059d34 --- /dev/null +++ b/game_re/gh_stub/FUN_004725a0.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 004725a0 +// FUN_004725a0 +extern "C" undefined FUN_004725a0(void) { + return gh_stub_impl_cdecl((void*)0x004725a0); +} diff --git a/game_re/gh_stub/FUN_004fb300.cxx b/game_re/gh_stub/FUN_004fb300.cxx new file mode 100644 index 00000000..733d346a --- /dev/null +++ b/game_re/gh_stub/FUN_004fb300.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 004fb300 +// FUN_004fb300 +extern "C" undefined FUN_004fb300(void) { + return gh_stub_impl_cdecl((void*)0x004fb300); +} diff --git a/game_re/gh_stub/FUN_00503710.cxx b/game_re/gh_stub/FUN_00503710.cxx new file mode 100644 index 00000000..01eea361 --- /dev/null +++ b/game_re/gh_stub/FUN_00503710.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 00503710 +// FUN_00503710 +extern "C" undefined FUN_00503710(void) { + return gh_stub_impl_cdecl((void*)0x00503710); +} diff --git a/game_re/gh_stub/FUN_005038e0.cxx b/game_re/gh_stub/FUN_005038e0.cxx new file mode 100644 index 00000000..dea394e9 --- /dev/null +++ b/game_re/gh_stub/FUN_005038e0.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 005038e0 +// FUN_005038e0 +extern "C" undefined FUN_005038e0(void) { + return gh_stub_impl_cdecl((void*)0x005038e0); +} diff --git a/game_re/gh_stub/g_setInitVar0.cxx b/game_re/gh_stub/g_setInitVar0.cxx new file mode 100644 index 00000000..6ca90679 --- /dev/null +++ b/game_re/gh_stub/g_setInitVar0.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 00401310 +// g_setInitVar0 +extern "C" void g_setInitVar0(void) { + gh_stub_impl_stdcall((void*)0x00401310); +} diff --git a/game_re/gh_stub/gfx_init2.cxx b/game_re/gh_stub/gfx_init2.cxx new file mode 100644 index 00000000..11ebdad1 --- /dev/null +++ b/game_re/gh_stub/gfx_init2.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 00470be0 +// gfx_init2 +extern "C" undefined gfx_init2(void) { + return gh_stub_impl_cdecl((void*)0x00470be0); +} diff --git a/game_re/gh_stub/r3_checkDisc.cxx b/game_re/gh_stub/r3_checkDisc.cxx new file mode 100644 index 00000000..705e21c7 --- /dev/null +++ b/game_re/gh_stub/r3_checkDisc.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 004464f0 +// r3_checkDisc +extern "C" undefined r3_checkDisc(void) { + return gh_stub_impl_cdecl((void*)0x004464f0); +} diff --git a/game_re/gh_stub/r3_engineLoop.cxx b/game_re/gh_stub/r3_engineLoop.cxx new file mode 100644 index 00000000..edc0c523 --- /dev/null +++ b/game_re/gh_stub/r3_engineLoop.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 00401220 +// r3_engineLoop +extern "C" undefined r3_engineLoop(void) { + return gh_stub_impl_cdecl((void*)0x00401220); +} diff --git a/game_re/gh_stub/r3_get_gli_height1.cxx b/game_re/gh_stub/r3_get_gli_height1.cxx new file mode 100644 index 00000000..7abb1045 --- /dev/null +++ b/game_re/gh_stub/r3_get_gli_height1.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 0047bb00 +// r3_get_gli_height1 +extern "C" int r3_get_gli_height1(void) { + return gh_stub_impl_stdcall((void*)0x0047bb00); +} diff --git a/game_re/gh_stub/r3_get_gli_width1.cxx b/game_re/gh_stub/r3_get_gli_width1.cxx new file mode 100644 index 00000000..bfe6ce45 --- /dev/null +++ b/game_re/gh_stub/r3_get_gli_width1.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 0047baf0 +// r3_get_gli_width1 +extern "C" int r3_get_gli_width1(void) { + return gh_stub_impl_stdcall((void*)0x0047baf0); +} diff --git a/game_re/gh_stub/r3_initAllModules.cxx b/game_re/gh_stub/r3_initAllModules.cxx new file mode 100644 index 00000000..e94c4e11 --- /dev/null +++ b/game_re/gh_stub/r3_initAllModules.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 00401000 +// r3_initAllModules +extern "C" undefined r3_initAllModules(void) { + return gh_stub_impl_cdecl((void*)0x00401000); +} diff --git a/game_re/gh_stub/r3_noop.cxx b/game_re/gh_stub/r3_noop.cxx new file mode 100644 index 00000000..c965128c --- /dev/null +++ b/game_re/gh_stub/r3_noop.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 00401100 +// r3_noop +extern "C" void r3_noop(void * p_cTxt1, void * p_cTxt2) { + gh_stub_impl_stdcall((void*)0x00401100, p_cTxt1, p_cTxt2); +} diff --git a/game_re/gh_stub/r3_wait_for_dvd.cxx b/game_re/gh_stub/r3_wait_for_dvd.cxx new file mode 100644 index 00000000..84ba35e1 --- /dev/null +++ b/game_re/gh_stub/r3_wait_for_dvd.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 0043e540 +// r3_wait_for_dvd +extern "C" undefined r3_wait_for_dvd(char * param_1, char * param_2, undefined4 param_3) { + return gh_stub_impl_cdecl((void*)0x0043e540, param_1, param_2, param_3); +} diff --git a/game_re/gh_stub/setupWindow.cxx b/game_re/gh_stub/setupWindow.cxx new file mode 100644 index 00000000..815225a4 --- /dev/null +++ b/game_re/gh_stub/setupWindow.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 00402140 +// setupWindow +extern "C" int setupWindow(HINSTANCE instance, undefined4 param_2, int windowedParam) { + return gh_stub_impl_stdcall((void*)0x00402140, instance, param_2, windowedParam); +} diff --git a/game_re/gh_stub/spawnThread.cxx b/game_re/gh_stub/spawnThread.cxx new file mode 100644 index 00000000..4b3b7ca8 --- /dev/null +++ b/game_re/gh_stub/spawnThread.cxx @@ -0,0 +1,13 @@ +// AUTO-GENERATED FILE!!!! +// This function has yet to be decompiled using 'Dump Current Function' in ghidra +// with possible manualy fixes + +#include +#include +#include + +// 004477d0 +// spawnThread +extern "C" undefined spawnThread(void) { + return gh_stub_impl_cdecl((void*)0x004477d0); +} diff --git a/game_re/gh_types.h b/game_re/gh_types.h new file mode 100644 index 00000000..deb463e6 --- /dev/null +++ b/game_re/gh_types.h @@ -0,0 +1,6133 @@ +#ifndef GH_GENERATED_STRUCTS_H +#define GH_GENERATED_STRUCTS_H + +// AUTO-GENERATED FILE +#include +typedef struct _ExtraSoundParam _ExtraSoundParam, *P_ExtraSoundParam; + +struct _ExtraSoundParam { + RollOffParam stRollOff; + SwitchParam stSwitch; +}; + +typedef struct _MicroLink _MicroLink, *P_MicroLink; + +struct _MicroLink { + long lId; + SndBool bLinked; +}; + +typedef struct _MicroParam _MicroParam, *P_MicroParam; + +struct _MicroParam { + SndVector pos; + SndVector vit; + SndVector dirnor; + SndVector dirtan; +}; + +typedef struct _RollOffParam _RollOffParam, *P_RollOffParam; + +struct _RollOffParam { + SndReal rDistSatur; + SndReal rDistBackGround; +}; + +typedef struct _SampleParam _SampleParam, *P_SampleParam; + +struct _SampleParam { + SndReal Freq; + uchar ucVol; + uchar ucPan; + uchar ucSpace; + uchar ucReverb; +}; + +typedef struct _SND_tdstBlockEvent _SND_tdstBlockEvent, *P_SND_tdstBlockEvent; + +struct _SND_tdstBlockEvent { +}; + +typedef struct _SND_tdstCallback _SND_tdstCallback, *P_SND_tdstCallback; + +struct _SND_tdstCallback { + SND_tduTypeCallback eType; + union _union_2482 uCallback; + union _union_2483 uInfo; +}; + +typedef struct _SND_tdstFormat _SND_tdstFormat, *P_SND_tdstFormat; + +struct _SND_tdstFormat { + tdeTypeZip eZip; + union _union_2479 uFormat; +}; + +typedef struct _SND_tdstStackBuffer _SND_tdstStackBuffer, *P_SND_tdstStackBuffer; + +struct _SND_tdstStackBuffer { + ulong ulNbSamples; + void *ptrData; +}; + +typedef struct _SndVector _SndVector, *P_SndVector; + +struct _SndVector { + SndReal x; + SndReal y; + SndReal z; +}; + +typedef struct _SoundParam _SoundParam, *P_SoundParam; + +struct _SoundParam { + SndReal Freq; + uchar ucVol; + uchar ucPan; + uchar ucSpace; + uchar ucReverb; + SndVector Pos; + SndVector Vit; + int iFlags; + int iNbLinks; + MicroLink astMicro[2]; + ExtraSoundParam xExtra; +}; + +typedef struct _SwitchParam _SwitchParam, *P_SwitchParam; + +struct _SwitchParam { + long lObjectType; + long lObjectId; +}; + +typedef struct _tdstAllRetChannelSound _tdstAllRetChannelSound, *P_tdstAllRetChannelSound; + +struct _tdstAllRetChannelSound { + td_pfn_rRetChannelCoord X; + td_pfn_rRetChannelCoord Y; + td_pfn_rRetChannelCoord Z; + td_pfn_rRetChannelCoord VX; + td_pfn_rRetChannelCoord VY; + td_pfn_rRetChannelCoord VZ; + td_pfn_bRetChannelActive Active; + SndBool bAbsCoord; +}; + +typedef struct _tdstAllRetMicroSound _tdstAllRetMicroSound, *P_tdstAllRetMicroSound; + +struct _tdstAllRetMicroSound { + td_pfn_rRetSoundCoord X; + td_pfn_rRetSoundCoord Y; + td_pfn_rRetSoundCoord Z; + td_pfn_rRetSoundCoord VX; + td_pfn_rRetSoundCoord VY; + td_pfn_rRetSoundCoord VZ; + td_pfn_rRetSoundCoord DNX; + td_pfn_rRetSoundCoord DNY; + td_pfn_rRetSoundCoord DNZ; + td_pfn_rRetSoundCoord DTX; + td_pfn_rRetSoundCoord DTY; + td_pfn_rRetSoundCoord DTZ; + td_pfn_lRetSoundLong Filtre; +}; + +typedef struct _tdstAllRetObjectSound _tdstAllRetObjectSound, *P_tdstAllRetObjectSound; + +struct _tdstAllRetObjectSound { + td_pfn_rRetSoundCoord X; + td_pfn_rRetSoundCoord Y; + td_pfn_rRetSoundCoord Z; + td_pfn_rRetSoundCoord VX; + td_pfn_rRetSoundCoord VY; + td_pfn_rRetSoundCoord VZ; + td_pfn_ucRetSoundMidi REVERB; + td_pfn_vRetSoundExtraCoef ExtraCoef; + td_pfn_lRetSoundSwitch Switch; + td_pfn_bRetSoundLink MicroLink; + td_pfn_vRetSoundVector VectorI; + td_pfn_vRetSoundVector VectorJ; + td_pfn_vRetSoundVector VectorK; + void *Unk0; + void *InfoType; +}; + +typedef struct _tdstBlockResourceDisk _tdstBlockResourceDisk, *P_tdstBlockResourceDisk; + +struct _tdstBlockResourceDisk { +}; + +typedef struct _tdstBlockResourceMem _tdstBlockResourceMem, *P_tdstBlockResourceMem; + +struct _tdstBlockResourceMem { +}; + +typedef struct _tdstFormatPCM _tdstFormatPCM, *P_tdstFormatPCM; + +struct _tdstFormatPCM { + ulong ulNbSamples; + ushort uwResolution; + ushort uwNbChannels; + ulong ulFreq; +}; + +typedef struct _tdstInfoTrackDisk _tdstInfoTrackDisk, *P_tdstInfoTrackDisk; + +struct _tdstInfoTrackDisk { +}; + +typedef struct _tdstInfoTrackList _tdstInfoTrackList, *P_tdstInfoTrackList; + +struct _tdstInfoTrackList { +}; + +typedef struct _tdstInfoTrackMem _tdstInfoTrackMem, *P_tdstInfoTrackMem; + +struct _tdstInfoTrackMem { +}; + +typedef struct _tdstMidiMemory _tdstMidiMemory, *P_tdstMidiMemory; + +struct _tdstMidiMemory { +}; + +typedef struct _tdstMidiStreaming _tdstMidiStreaming, *P_tdstMidiStreaming; + +struct _tdstMidiStreaming { +}; + +typedef struct _tdstRandomElement _tdstRandomElement, *P_tdstRandomElement; + +struct _tdstRandomElement { +}; + +typedef struct _tdstRangeSplitDisk _tdstRangeSplitDisk, *P_tdstRangeSplitDisk; + +struct _tdstRangeSplitDisk { +}; + +typedef struct _tdstRangeSplitListDisk _tdstRangeSplitListDisk, *P_tdstRangeSplitListDisk; + +struct _tdstRangeSplitListDisk { +}; + +typedef struct _tdstRangeSplitListMem _tdstRangeSplitListMem, *P_tdstRangeSplitListMem; + +struct _tdstRangeSplitListMem { +}; + +typedef struct _tdstRangeSplitMem _tdstRangeSplitMem, *P_tdstRangeSplitMem; + +struct _tdstRangeSplitMem { +}; + +typedef struct _tdstRefRes _tdstRefRes, *P_tdstRefRes; + +struct _tdstRefRes { +}; + +typedef struct _tdstRefResList _tdstRefResList, *P_tdstRefResList; + +struct _tdstRefResList { +}; + +typedef struct _tdstSampleMemory _tdstSampleMemory, *P_tdstSampleMemory; + +struct _tdstSampleMemory { +}; + +typedef struct _tdstSampleStreaming _tdstSampleStreaming, *P_tdstSampleStreaming; + +struct _tdstSampleStreaming { +}; + +typedef struct _tdstSndBankDescriptor _tdstSndBankDescriptor, *P_tdstSndBankDescriptor; + +struct _tdstSndBankDescriptor { +}; + +typedef struct _tdstSndBankHead _tdstSndBankHead, *P_tdstSndBankHead; + +struct _tdstSndBankHead { +}; + +typedef struct _tdstSndBankHeader _tdstSndBankHeader, *P_tdstSndBankHeader; + +struct _tdstSndBankHeader { +}; + +typedef struct _tdstSndPolyEvent _tdstSndPolyEvent, *P_tdstSndPolyEvent; + +struct _tdstSndPolyEvent { +}; + +typedef struct _tdstSndPolyResource _tdstSndPolyResource, *P_tdstSndPolyResource; + +struct _tdstSndPolyResource { +}; + +typedef struct _tdstSwitchElement _tdstSwitchElement, *P_tdstSwitchElement; + +struct _tdstSwitchElement { +}; + +typedef struct _tdstSwitchList _tdstSwitchList, *P_tdstSwitchList; + +struct _tdstSwitchList { +}; + +typedef struct _tdstThemeBridge _tdstThemeBridge, *P_tdstThemeBridge; + +struct _tdstThemeBridge { +}; + +typedef struct _tdstThemePart _tdstThemePart, *P_tdstThemePart; + +struct _tdstThemePart { +}; + +typedef struct _tdstThemePartOutro _tdstThemePartOutro, *P_tdstThemePartOutro; + +struct _tdstThemePartOutro { +}; + +typedef struct _tdstTimer _tdstTimer, *P_tdstTimer; + +struct _tdstTimer { + short m_wTimerType; + short m_wTimerState; + struct TMR_tdstTimerCount m_stTimerCount_InitValue; + struct TMR_tdstTimerCount m_stTimerCount_LastValue; + struct TMR_tdstTimerCount m_stTimerCount_TotalValue; + ulong m_ulEventId; + td_p_fn_vTimerEventCallback m_p_fn_vEventCallback; +}; + +typedef struct _tdstTypeCD _tdstTypeCD, *P_tdstTypeCD; + +struct _tdstTypeCD { +}; + +typedef struct _tdstTypeMidiDisk _tdstTypeMidiDisk, *P_tdstTypeMidiDisk; + +struct _tdstTypeMidiDisk { +}; + +typedef struct _tdstTypeMidiMem _tdstTypeMidiMem, *P_tdstTypeMidiMem; + +struct _tdstTypeMidiMem { +}; + +typedef struct _tdstTypeRandomDisk _tdstTypeRandomDisk, *P_tdstTypeRandomDisk; + +struct _tdstTypeRandomDisk { +}; + +typedef struct _tdstTypeRandomMem _tdstTypeRandomMem, *P_tdstTypeRandomMem; + +struct _tdstTypeRandomMem { +}; + +typedef struct _tdstTypeSampleDisk _tdstTypeSampleDisk, *P_tdstTypeSampleDisk; + +struct _tdstTypeSampleDisk { +}; + +typedef struct _tdstTypeSampleMem _tdstTypeSampleMem, *P_tdstTypeSampleMem; + +struct _tdstTypeSampleMem { +}; + +typedef struct _tdstTypeSequenceDisk _tdstTypeSequenceDisk, *P_tdstTypeSequenceDisk; + +struct _tdstTypeSequenceDisk { +}; + +typedef struct _tdstTypeSequenceMem _tdstTypeSequenceMem, *P_tdstTypeSequenceMem; + +struct _tdstTypeSequenceMem { +}; + +typedef struct _tdstTypeSplitDisk _tdstTypeSplitDisk, *P_tdstTypeSplitDisk; + +struct _tdstTypeSplitDisk { +}; + +typedef struct _tdstTypeSplitMem _tdstTypeSplitMem, *P_tdstTypeSplitMem; + +struct _tdstTypeSplitMem { +}; + +typedef struct _tdstTypeSwitchDisk _tdstTypeSwitchDisk, *P_tdstTypeSwitchDisk; + +struct _tdstTypeSwitchDisk { +}; + +typedef struct _tdstTypeSwitchMem _tdstTypeSwitchMem, *P_tdstTypeSwitchMem; + +struct _tdstTypeSwitchMem { +}; + +typedef struct _tdstTypeThemeDisk _tdstTypeThemeDisk, *P_tdstTypeThemeDisk; + +struct _tdstTypeThemeDisk { +}; + +typedef struct _tdstTypeThemeMem _tdstTypeThemeMem, *P_tdstTypeThemeMem; + +struct _tdstTypeThemeMem { +}; + +typedef struct AI_tdstMind_ AI_tdstMind_, *PAI_tdstMind_; + +struct AI_tdstMind_ { +}; + +typedef struct Anim3d Anim3d, *PAnim3d; + +struct Anim3d { + struct Frame3d *d_stFrame3d; + uchar ucNumberOfFrames; + uchar ucFrameRate; + uchar ucMaxNumberOfElements; + struct Event *d_stAnimEvent; + uchar ucNumberOfEvents; + struct POS_stCompletePosition stOffsetMatrix; + uchar bCompressedAnim; + struct AnimLights *p_stLights; + struct stMorphData *d_stMorphDataArray; + ushort uwNumOfA3dGENERAL; +}; + +typedef struct AnimLights AnimLights, *PAnimLights; + +struct AnimLights { + void **a_p_stLights; + ushort uwNumberOfLights; + void *a_hLightsInSector; +}; + +typedef struct astruct_2 astruct_2, *Pastruct_2; + +struct astruct_2 { + uint *field0_0x0; + uint *field1_0x4; + uint *field2_0x8; + undefined field3_0xc; + undefined field4_0xd; + undefined field5_0xe; + undefined field6_0xf; + undefined field7_0x10; + undefined field8_0x11; + undefined field9_0x12; + undefined field10_0x13; + color_rgba8_t unkColor; + byte field12_0x18; + undefined field13_0x19; + byte field14_0x1a; +}; + +typedef struct astruct_3 astruct_3, *Pastruct_3; + +struct astruct_3 { + undefined field0_0x0; + undefined field1_0x1; + undefined field2_0x2; + undefined field3_0x3; + undefined field4_0x4; + undefined field5_0x5; + undefined field6_0x6; + undefined field7_0x7; + undefined field8_0x8; + undefined field9_0x9; + undefined field10_0xa; + undefined field11_0xb; + undefined field12_0xc; + undefined field13_0xd; + undefined field14_0xe; + undefined field15_0xf; + int *binkFrameMemory; +}; + +typedef struct AutoClass1 AutoClass1, *PAutoClass1; + +struct AutoClass1 { /* PlaceHolder Class Structure */ + int *field0_0x0; +}; + +typedef struct BinkInner0 BinkInner0, *PBinkInner0; + +struct BinkInner0 { + int unk_neg1; + undefined *field1_0x4; + float field2_0x8; + float field3_0xc; + undefined field4_0x10; + undefined field5_0x11; + undefined field6_0x12; + undefined field7_0x13; + float field8_0x14; + float field9_0x18; + float field10_0x1c; + undefined field11_0x20; + undefined field12_0x21; + undefined field13_0x22; + undefined field14_0x23; + undefined field15_0x24; + undefined field16_0x25; + undefined field17_0x26; + undefined field18_0x27; + undefined field19_0x28; + undefined field20_0x29; + undefined field21_0x2a; + undefined field22_0x2b; + undefined field23_0x2c; + undefined field24_0x2d; + undefined field25_0x2e; + undefined field26_0x2f; + undefined field27_0x30; + undefined field28_0x31; + undefined field29_0x32; + undefined field30_0x33; + undefined field31_0x34; + undefined field32_0x35; + undefined field33_0x36; + undefined field34_0x37; + undefined field35_0x38; + undefined field36_0x39; + undefined field37_0x3a; + undefined field38_0x3b; + undefined field39_0x3c; + undefined field40_0x3d; + undefined field41_0x3e; + undefined field42_0x3f; + undefined field43_0x40; + undefined field44_0x41; + undefined field45_0x42; + undefined field46_0x43; + undefined field47_0x44; + undefined field48_0x45; + undefined field49_0x46; + undefined field50_0x47; + undefined field51_0x48; + undefined field52_0x49; + undefined field53_0x4a; + undefined field54_0x4b; + undefined field55_0x4c; + undefined field56_0x4d; + undefined field57_0x4e; + undefined field58_0x4f; + undefined field59_0x50; + undefined field60_0x51; + undefined field61_0x52; + undefined field62_0x53; + undefined field63_0x54; + undefined field64_0x55; + undefined field65_0x56; + undefined field66_0x57; + undefined field67_0x58; + undefined field68_0x59; + undefined field69_0x5a; + undefined field70_0x5b; + undefined field71_0x5c; + undefined field72_0x5d; + undefined field73_0x5e; + undefined field74_0x5f; + undefined field75_0x60; + undefined field76_0x61; + undefined field77_0x62; + undefined field78_0x63; + undefined field79_0x64; + undefined field80_0x65; + undefined field81_0x66; + undefined field82_0x67; + undefined field83_0x68; + undefined field84_0x69; + undefined field85_0x6a; + undefined field86_0x6b; + undefined field87_0x6c; + undefined field88_0x6d; + undefined field89_0x6e; + undefined field90_0x6f; + undefined field91_0x70; + undefined field92_0x71; + undefined field93_0x72; + undefined field94_0x73; + undefined field95_0x74; + undefined field96_0x75; + undefined field97_0x76; + undefined field98_0x77; + undefined field99_0x78; + undefined field100_0x79; + undefined field101_0x7a; + undefined field102_0x7b; + undefined field103_0x7c; + undefined field104_0x7d; + undefined field105_0x7e; + undefined field106_0x7f; + undefined field107_0x80; + undefined field108_0x81; + undefined field109_0x82; + undefined field110_0x83; + undefined field111_0x84; + undefined field112_0x85; + undefined field113_0x86; + undefined field114_0x87; + undefined field115_0x88; + undefined field116_0x89; + undefined field117_0x8a; + undefined field118_0x8b; + undefined field119_0x8c; + undefined field120_0x8d; + undefined field121_0x8e; + undefined field122_0x8f; + undefined field123_0x90; + undefined field124_0x91; + undefined field125_0x92; + undefined field126_0x93; + undefined field127_0x94; + undefined field128_0x95; + undefined field129_0x96; + undefined field130_0x97; + undefined field131_0x98; + undefined field132_0x99; + undefined field133_0x9a; + undefined field134_0x9b; + undefined field135_0x9c; + undefined field136_0x9d; + undefined field137_0x9e; + undefined field138_0x9f; + undefined field139_0xa0; + undefined field140_0xa1; + undefined field141_0xa2; + undefined field142_0xa3; + undefined field143_0xa4; + undefined field144_0xa5; + undefined field145_0xa6; + undefined field146_0xa7; + undefined field147_0xa8; + undefined field148_0xa9; + undefined field149_0xaa; + undefined field150_0xab; + undefined field151_0xac; + undefined field152_0xad; + undefined field153_0xae; + undefined field154_0xaf; + undefined field155_0xb0; + undefined field156_0xb1; + undefined field157_0xb2; + undefined field158_0xb3; + undefined field159_0xb4; + undefined field160_0xb5; + undefined field161_0xb6; + undefined field162_0xb7; + undefined field163_0xb8; + undefined field164_0xb9; + undefined field165_0xba; + undefined field166_0xbb; + undefined field167_0xbc; + undefined field168_0xbd; + undefined field169_0xbe; + undefined field170_0xbf; + undefined field171_0xc0; + undefined field172_0xc1; + undefined field173_0xc2; + undefined field174_0xc3; + undefined field175_0xc4; + undefined field176_0xc5; + undefined field177_0xc6; + undefined field178_0xc7; + undefined field179_0xc8; + undefined field180_0xc9; + undefined field181_0xca; + undefined field182_0xcb; + undefined field183_0xcc; + undefined field184_0xcd; + undefined field185_0xce; + undefined field186_0xcf; + undefined field187_0xd0; + undefined field188_0xd1; + undefined field189_0xd2; + undefined field190_0xd3; + undefined field191_0xd4; + undefined field192_0xd5; + undefined field193_0xd6; + undefined field194_0xd7; + undefined field195_0xd8; + undefined field196_0xd9; + undefined field197_0xda; + undefined field198_0xdb; + undefined field199_0xdc; + undefined field200_0xdd; + undefined field201_0xde; + undefined field202_0xdf; + undefined field203_0xe0; + undefined field204_0xe1; + undefined field205_0xe2; + undefined field206_0xe3; + undefined field207_0xe4; + undefined field208_0xe5; + undefined field209_0xe6; + undefined field210_0xe7; + undefined field211_0xe8; + undefined field212_0xe9; + undefined field213_0xea; + undefined field214_0xeb; + undefined field215_0xec; + undefined field216_0xed; + undefined field217_0xee; + undefined field218_0xef; + undefined field219_0xf0; + undefined field220_0xf1; + undefined field221_0xf2; + undefined field222_0xf3; + undefined field223_0xf4; + undefined field224_0xf5; + undefined field225_0xf6; + undefined field226_0xf7; + undefined field227_0xf8; + undefined field228_0xf9; + undefined field229_0xfa; + undefined field230_0xfb; + undefined field231_0xfc; + undefined field232_0xfd; + undefined field233_0xfe; + undefined field234_0xff; + undefined field235_0x100; + undefined field236_0x101; + undefined field237_0x102; + undefined field238_0x103; + undefined field239_0x104; + undefined field240_0x105; + undefined field241_0x106; + undefined field242_0x107; + undefined field243_0x108; + undefined field244_0x109; + undefined field245_0x10a; + undefined field246_0x10b; + undefined field247_0x10c; + undefined field248_0x10d; + undefined field249_0x10e; + undefined field250_0x10f; + undefined field251_0x110; + undefined field252_0x111; + undefined field253_0x112; + undefined field254_0x113; + undefined field255_0x114; + undefined field256_0x115; + undefined field257_0x116; + undefined field258_0x117; + undefined field259_0x118; + undefined field260_0x119; + undefined field261_0x11a; + undefined field262_0x11b; + undefined field263_0x11c; + undefined field264_0x11d; + undefined field265_0x11e; + undefined field266_0x11f; + undefined field267_0x120; + undefined field268_0x121; + undefined field269_0x122; + undefined field270_0x123; + undefined field271_0x124; + undefined field272_0x125; + undefined field273_0x126; + undefined field274_0x127; + undefined field275_0x128; + undefined field276_0x129; + undefined field277_0x12a; + undefined field278_0x12b; + undefined field279_0x12c; + undefined field280_0x12d; + undefined field281_0x12e; + undefined field282_0x12f; + undefined field283_0x130; + undefined field284_0x131; + undefined field285_0x132; + undefined field286_0x133; + undefined field287_0x134; + undefined field288_0x135; + undefined field289_0x136; + undefined field290_0x137; + undefined field291_0x138; + undefined field292_0x139; + undefined field293_0x13a; + undefined field294_0x13b; + undefined field295_0x13c; + undefined field296_0x13d; + undefined field297_0x13e; + undefined field298_0x13f; + undefined field299_0x140; + undefined field300_0x141; + undefined field301_0x142; + undefined field302_0x143; + undefined field303_0x144; + undefined field304_0x145; + undefined field305_0x146; + undefined field306_0x147; + undefined field307_0x148; + undefined field308_0x149; + undefined field309_0x14a; + undefined field310_0x14b; + undefined field311_0x14c; + undefined field312_0x14d; + undefined field313_0x14e; + undefined field314_0x14f; + undefined field315_0x150; + undefined field316_0x151; + undefined field317_0x152; + undefined field318_0x153; + undefined field319_0x154; + undefined field320_0x155; + undefined field321_0x156; + undefined field322_0x157; + undefined field323_0x158; + undefined field324_0x159; + undefined field325_0x15a; + undefined field326_0x15b; + undefined field327_0x15c; + undefined field328_0x15d; + undefined field329_0x15e; + undefined field330_0x15f; + undefined field331_0x160; + undefined field332_0x161; + undefined field333_0x162; + undefined field334_0x163; + undefined field335_0x164; + undefined field336_0x165; + undefined field337_0x166; + undefined field338_0x167; + undefined field339_0x168; + undefined field340_0x169; + undefined field341_0x16a; + undefined field342_0x16b; + undefined field343_0x16c; + undefined field344_0x16d; + undefined field345_0x16e; + undefined field346_0x16f; + undefined field347_0x170; + undefined field348_0x171; + undefined field349_0x172; + undefined field350_0x173; + undefined field351_0x174; + undefined field352_0x175; + undefined field353_0x176; + undefined field354_0x177; + undefined field355_0x178; + undefined field356_0x179; + undefined field357_0x17a; + undefined field358_0x17b; + undefined field359_0x17c; + undefined field360_0x17d; + undefined field361_0x17e; + undefined field362_0x17f; + undefined field363_0x180; + undefined field364_0x181; + undefined field365_0x182; + undefined field366_0x183; + undefined field367_0x184; + undefined field368_0x185; + undefined field369_0x186; + undefined field370_0x187; +}; + +typedef struct Brain Brain, *PBrain; + +struct Brain { + struct AI_tdstMind_ *p_stMind; + GMT_tdxHandleToGameMaterial hLastCollidedGoThroughMaterial; + bool bWarnMechanicsFlag; +}; + +typedef struct Couple Couple, *PCouple; + +struct Couple { + ushort wChild; + ushort wFather; +}; + +typedef struct Element3d Element3d, *PElement3d; + +struct Element3d { + POS_tdxHandleToPosition stMatrix; + uchar ucElement; + uchar ucChannelNumber; + uchar bActiveStatus; + ulong eTypeOfElement; +}; + +typedef struct EngineObject EngineObject, *PEngineObject; + +struct EngineObject { + MS_tdxHandleTo3dData h_3dData; + MS_tdxHandleToStandardGame h_StandardGame; + MS_tdxHandleToDynam h_Dynam; + struct Brain *h_Brain; + MS_tdxHandleToCineinfo h_Cineinfo; + MS_tdxHandleToCollSet h_CollSet; + MS_tdxHandleToMSWay h_MSWay; + MS_tdxHandleToMSLight h_MSLight; + MS_tdxHandleToSectInfo h_SectInfo; + MS_tdxHandleToMicro h_Micro; + MS_tdxHandleToMSPrtSrc h_MSPrtSrc; + MS_tdxHandleToMSSound h_MSSound; + MS_tdxHandleToAnimEffect h_AnimEffect; + MS_tdxHandleToMSMagnet h_MSMagnet; +}; + +typedef struct Event Event, *PEvent; + +struct Event { + struct EventInTable *p_stfEventInTBL; + ushort usEventNumberInTBL; + ushort uwFrameNumber; + ushort uwChannelNumber; +}; + +typedef struct EventInTable EventInTable, *PEventInTable; + +struct EventInTable { + void *p_xEvent; + uchar ucTypeOfEvent; + uchar ucPriority; + uchar ucFirstCall; + uchar ucPeriod; + ulong ulBinaryEventId; +}; + +typedef struct FIL_ConcatFile FIL_ConcatFile, *PFIL_ConcatFile; + +struct FIL_ConcatFile { + FILE *p_stFile; + ulong ulNumberOfPath; + ulong ulNumberOfFile; + uchar bUseXorCode; + uchar bUseCheckSum; + uchar ucPathXorCode; + uchar ucPathCheckSum; + char **d_szPathList; + struct FIL_ConcatFileElement *d_stConcatFileElement; +}; + +typedef struct FIL_ConcatFileElement FIL_ConcatFileElement, *PFIL_ConcatFileElement; + +struct FIL_ConcatFileElement { + char *p_szFileName; + long lPathNumber; + long lOffset; + ulong ulFileLength; + ulong ulXorCode; + ulong ulCheckSum; +}; + +typedef struct FIL_FileHeader FIL_FileHeader, *PFIL_FileHeader; + +struct FIL_FileHeader { + ulong ulWidth; + ulong ulHeight; + ulong ulImageSize; + long lChromakeyIndex; + ushort uwNbColorInPalette; + uchar ucBpcInPalette; + uchar ucBpp; + uchar ucRLECode; + uchar ucRed; + uchar ucGreen; + uchar ucBlue; + uchar ucFormat; + uchar ucVersion; +}; + +typedef struct FIL_FileInConcatFile FIL_FileInConcatFile, *PFIL_FileInConcatFile; + +struct FIL_FileInConcatFile { + uchar bUseConcatFile; + FILE *p_stFile; + ulong ulFileActualSeek; + ulong ulFileEndSeek; + ulong ulFileXorCode; + ulong ulFileCheckSum; + ulong ulCacheSeek; + ulong ulCacheSize; + ulong ulCacheCheckSum; + uchar *p_ucCache; +}; + +typedef struct FIL_FileNameList FIL_FileNameList, *PFIL_FileNameList; + +struct FIL_FileNameList { + struct LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn hFileNameListAnchor; +}; + +typedef struct FIL_FileNameListElement FIL_FileNameListElement, *PFIL_FileNameListElement; + +struct FIL_FileNameListElement { + struct FIL_FileNameListElement *hNextBrotherDyn; + struct FIL_FileNameListElement *hPrevBrotherDyn; + struct LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn *hFatherDyn; + char *szFileName; +}; + +typedef struct FIL_GF FIL_GF, *PFIL_GF; + +struct FIL_GF { + struct FIL_FileHeader stFileHeader; + uchar *p_ucBitMap; + uchar *p_ucPalette; +}; + +typedef struct FIL_RealGFFileHeader FIL_RealGFFileHeader, *PFIL_RealGFFileHeader; + +struct FIL_RealGFFileHeader { + ulong ulFormat; + ulong ulWidth; + ulong ulHeight; + uchar ucBpp; + uchar ucRLECode; +}; + +typedef struct FileInner1 FileInner1, *PFileInner1; + +struct FileInner1 { + undefined field0_0x0; + undefined field1_0x1; + undefined field2_0x2; + undefined field3_0x3; + undefined field4_0x4; + undefined field5_0x5; + undefined field6_0x6; + undefined field7_0x7; + undefined field8_0x8; + undefined field9_0x9; + undefined field10_0xa; + undefined field11_0xb; + undefined field12_0xc; + undefined field13_0xd; + undefined field14_0xe; + undefined field15_0xf; + undefined field16_0x10; + undefined field17_0x11; + undefined field18_0x12; + undefined field19_0x13; + undefined field20_0x14; + undefined field21_0x15; + undefined field22_0x16; + undefined field23_0x17; +}; + +typedef struct Float2 Float2, *PFloat2; + +struct Float2 { /* Vector (r3) */ + float x; + float y; +}; + +typedef struct Float3 Float3, *PFloat3; + +struct Float3 { /* Vector (r3) */ + float x; + float y; + float z; +}; + +typedef struct Float4 Float4, *PFloat4; + +struct Float4 { /* Vector (r3) */ + float x; + float y; + float z; + float w; +}; + +typedef struct Float4x4 Float4x4, *PFloat4x4; + +struct Float4x4 { /* Matrix (row major?) math type */ + struct Float4 x; + struct Float4 y; + struct Float4 z; + struct Float4 w; +}; + +typedef struct Frame3d Frame3d, *PFrame3d; + +struct Frame3d { + struct Element3d *p_stArrayOfElts3d; + struct MTH3D_Matrix *p_stAngularSpeedMatrix; + struct MTH3_Vector *p_stLinearSpeedVector; + tdstPLA_Hierarchy *p_stHierarchy; +}; + +typedef struct GAM_as4_inner GAM_as4_inner, *PGAM_as4_inner; + +struct GAM_as4_inner { + dword unk; + byte tag; /* Created by retype action */ + undefined field2_0x5; + undefined field3_0x6; + undefined field4_0x7; + undefined field5_0x8; + undefined field6_0x9; + undefined field7_0xa; + undefined field8_0xb; + undefined field9_0xc; + undefined field10_0xd; + undefined field11_0xe; + undefined field12_0xf; + undefined field13_0x10; + undefined field14_0x11; + undefined field15_0x12; + undefined field16_0x13; + undefined field17_0x14; + undefined field18_0x15; + undefined field19_0x16; + undefined field20_0x17; + undefined field21_0x18; + undefined field22_0x19; + undefined field23_0x1a; + undefined field24_0x1b; + float field25_0x1c; + undefined field26_0x20; + undefined field27_0x21; + undefined field28_0x22; + undefined field29_0x23; + float field30_0x24; + undefined field31_0x28; + undefined field32_0x29; + undefined field33_0x2a; + undefined field34_0x2b; + undefined field35_0x2c; + undefined field36_0x2d; + undefined field37_0x2e; + undefined field38_0x2f; + undefined field39_0x30; + undefined field40_0x31; + undefined field41_0x32; + undefined field42_0x33; + float field43_0x34; + undefined field44_0x38; + undefined field45_0x39; + undefined field46_0x3a; + undefined field47_0x3b; + float field48_0x3c; + float field49_0x40; + dword counter; +}; + +typedef struct GAM_astruct_4 GAM_astruct_4, *PGAM_astruct_4; + +struct GAM_astruct_4 { + undefined field0_0x0; + undefined field1_0x1; + undefined field2_0x2; + undefined field3_0x3; + undefined field4_0x4; + undefined field5_0x5; + undefined field6_0x6; + undefined field7_0x7; + undefined field8_0x8; + undefined field9_0x9; + undefined field10_0xa; + undefined field11_0xb; + undefined field12_0xc; + undefined field13_0xd; + undefined field14_0xe; + undefined field15_0xf; + undefined field16_0x10; + undefined field17_0x11; + undefined field18_0x12; + undefined field19_0x13; + undefined field20_0x14; + undefined field21_0x15; + undefined field22_0x16; + undefined field23_0x17; + undefined field24_0x18; + undefined field25_0x19; + undefined field26_0x1a; + undefined field27_0x1b; + undefined field28_0x1c; + undefined field29_0x1d; + undefined field30_0x1e; + undefined field31_0x1f; + undefined field32_0x20; + undefined field33_0x21; + undefined field34_0x22; + undefined field35_0x23; + undefined field36_0x24; + undefined field37_0x25; + undefined field38_0x26; + undefined field39_0x27; + undefined field40_0x28; + undefined field41_0x29; + undefined field42_0x2a; + undefined field43_0x2b; + undefined field44_0x2c; + undefined field45_0x2d; + undefined field46_0x2e; + undefined field47_0x2f; + undefined field48_0x30; + undefined field49_0x31; + undefined field50_0x32; + undefined field51_0x33; + undefined field52_0x34; + undefined field53_0x35; + undefined field54_0x36; + undefined field55_0x37; + undefined field56_0x38; + undefined field57_0x39; + undefined field58_0x3a; + undefined field59_0x3b; + undefined field60_0x3c; + undefined field61_0x3d; + undefined field62_0x3e; + undefined field63_0x3f; + undefined field64_0x40; + undefined field65_0x41; + undefined field66_0x42; + undefined field67_0x43; + undefined field68_0x44; + undefined field69_0x45; + undefined field70_0x46; + undefined field71_0x47; + undefined field72_0x48; + undefined field73_0x49; + undefined field74_0x4a; + undefined field75_0x4b; + undefined field76_0x4c; + undefined field77_0x4d; + undefined field78_0x4e; + undefined field79_0x4f; + undefined field80_0x50; + undefined field81_0x51; + undefined field82_0x52; + undefined field83_0x53; + undefined field84_0x54; + undefined field85_0x55; + undefined field86_0x56; + undefined field87_0x57; + undefined field88_0x58; + undefined field89_0x59; + undefined field90_0x5a; + undefined field91_0x5b; + undefined field92_0x5c; + undefined field93_0x5d; + undefined field94_0x5e; + undefined field95_0x5f; + undefined field96_0x60; + undefined field97_0x61; + undefined field98_0x62; + undefined field99_0x63; + undefined field100_0x64; + undefined field101_0x65; + undefined field102_0x66; + undefined field103_0x67; + struct GAM_as4_inner field104_0x68[4]; + undefined field105_0x188; + undefined field106_0x189; + undefined field107_0x18a; + undefined field108_0x18b; + undefined field109_0x18c; + undefined field110_0x18d; + undefined field111_0x18e; + undefined field112_0x18f; + undefined field113_0x190; + undefined field114_0x191; + undefined field115_0x192; + undefined field116_0x193; + undefined field117_0x194; + undefined field118_0x195; + undefined field119_0x196; + undefined field120_0x197; +}; + +typedef struct GAM_EngineStructure GAM_EngineStructure, *PGAM_EngineStructure; + +struct GAM_EngineStructure { + enum GAM_EngineMode eEngineMode; + char szLevelName[30]; + char szNextLevelName[30]; + char szFirstLevelName[30]; + undefined field4_0x5b; + enum GAM_DisplayFixMode eDisplayFixMode; + ulong ulDisplayMode; + undefined field7_0x61; + undefined field8_0x62; + undefined field9_0x63; + struct TMR_tdstEngineTimerStructure stEngineTimer; + short ?renderCtl; /* controls level rendeirng parameter */ + enum GAM_InputMode eInputMode; /* maybe? */ + undefined field13_0xda; + undefined field14_0xdb; + undefined field15_0xdc; + undefined field16_0xdd; + undefined field17_0xde; + undefined field18_0xdf; + undefined field19_0xe0; + undefined field20_0xe1; + undefined field21_0xe2; + undefined field22_0xe3; + undefined field23_0xe4; + undefined field24_0xe5; + undefined field25_0xe6; + undefined field26_0xe7; + GLD_DeviceHandle hGLDDevice; /* correct */ + GLD_ViewportHandle hGLDViewport; /* correct */ + undefined field29_0xec; + undefined field30_0xed; + undefined field31_0xee; + undefined field32_0xef; + undefined field33_0xf0; + undefined field34_0xf1; + word screenshotVpHandle_maybe; + struct GLD_ViewportAttributes stViewportAttr; /* correct 0xf4 */ + struct GLI_Camera *p_stGameViewportCamera; + GLD_ViewportHandle hGLDFixViewport; + struct GLD_ViewportAttributes stFixViewportAttr1; + struct GLI_SpecificAttributesFor3D stFixAttributes3D; + struct GLI_Camera *p_stFixCamera; + struct GLI_tdstViewportManagement *a_hViewportArray; + struct LST2_tdstAnchorTotdxHandleToNodeCameraDyn hCameraList; + struct LST2_tdstAnchorTotdxHandleToFamilyListDyn hFamilyList; + struct LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeDyn hMainCharacterList; + struct LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeDyn hAlwaysActiveCharactersList; + struct HIE_tdstSuperObject *g_hMainActor; + struct HIE_tdstSuperObject *g_hNextMainActor; + struct HIE_tdstSuperObject *g_hStdCamCharacter; + undefined field50_0x202; + undefined field51_0x203; + undefined field52_0x204; + undefined field53_0x205; + undefined field54_0x206; + undefined field55_0x207; + undefined field56_0x208; + undefined field57_0x209; + undefined field58_0x20a; + undefined field59_0x20b; + undefined field60_0x20c; + undefined field61_0x20d; + undefined field62_0x20e; + undefined field63_0x20f; + undefined field64_0x210; + undefined field65_0x211; + undefined field66_0x212; + undefined field67_0x213; + undefined field68_0x214; + undefined field69_0x215; + undefined field70_0x216; + undefined field71_0x217; + undefined field72_0x218; + undefined field73_0x219; + undefined field74_0x21a; + undefined field75_0x21b; + undefined field76_0x21c; + undefined field77_0x21d; + undefined field78_0x21e; + undefined field79_0x21f; + undefined field80_0x220; + undefined field81_0x221; + undefined field82_0x222; + undefined field83_0x223; + undefined field84_0x224; + undefined field85_0x225; + undefined field86_0x226; + undefined field87_0x227; + undefined field88_0x228; + undefined field89_0x229; + undefined field90_0x22a; + undefined field91_0x22b; + undefined field92_0x22c; + undefined field93_0x22d; + undefined field94_0x22e; + undefined field95_0x22f; + undefined field96_0x230; + undefined field97_0x231; + undefined field98_0x232; + undefined field99_0x233; + undefined field100_0x234; + undefined field101_0x235; + undefined field102_0x236; + undefined field103_0x237; + undefined field104_0x238; + undefined field105_0x239; + undefined field106_0x23a; + undefined field107_0x23b; + undefined field108_0x23c; + undefined field109_0x23d; + undefined field110_0x23e; + undefined field111_0x23f; + undefined field112_0x240; + undefined field113_0x241; + undefined field114_0x242; + undefined field115_0x243; + undefined field116_0x244; + undefined field117_0x245; + undefined field118_0x246; + undefined field119_0x247; + undefined field120_0x248; + undefined field121_0x249; + undefined field122_0x24a; + undefined field123_0x24b; + undefined field124_0x24c; + undefined field125_0x24d; + undefined field126_0x24e; + undefined field127_0x24f; + undefined field128_0x250; + undefined field129_0x251; + undefined field130_0x252; + undefined field131_0x253; + undefined field132_0x254; + undefined field133_0x255; + undefined field134_0x256; + undefined field135_0x257; + undefined field136_0x258; + undefined field137_0x259; + undefined field138_0x25a; + undefined field139_0x25b; + undefined field140_0x25c; + undefined field141_0x25d; + undefined field142_0x25e; + undefined field143_0x25f; + undefined field144_0x260; + undefined field145_0x261; + undefined field146_0x262; + undefined field147_0x263; + undefined field148_0x264; + undefined field149_0x265; + undefined field150_0x266; + undefined field151_0x267; + undefined field152_0x268; + undefined field153_0x269; + undefined field154_0x26a; + undefined field155_0x26b; + undefined field156_0x26c; + undefined field157_0x26d; + undefined field158_0x26e; + undefined field159_0x26f; + undefined field160_0x270; + undefined field161_0x271; + undefined field162_0x272; + undefined field163_0x273; + undefined field164_0x274; + undefined field165_0x275; + undefined field166_0x276; + undefined field167_0x277; + undefined field168_0x278; + undefined field169_0x279; + undefined field170_0x27a; + undefined field171_0x27b; + undefined field172_0x27c; + undefined field173_0x27d; + undefined field174_0x27e; + undefined field175_0x27f; + undefined field176_0x280; + undefined field177_0x281; + undefined field178_0x282; + undefined field179_0x283; + undefined field180_0x284; + undefined field181_0x285; + undefined field182_0x286; + undefined field183_0x287; + undefined field184_0x288; + undefined field185_0x289; + undefined field186_0x28a; + undefined field187_0x28b; + undefined field188_0x28c; + undefined field189_0x28d; + undefined field190_0x28e; + undefined field191_0x28f; + undefined field192_0x290; + undefined field193_0x291; + undefined field194_0x292; + undefined field195_0x293; + undefined field196_0x294; + undefined field197_0x295; + undefined field198_0x296; + undefined field199_0x297; + undefined field200_0x298; + undefined field201_0x299; + undefined field202_0x29a; + undefined field203_0x29b; + undefined field204_0x29c; + undefined field205_0x29d; + undefined field206_0x29e; + undefined field207_0x29f; + undefined field208_0x2a0; + undefined field209_0x2a1; + undefined field210_0x2a2; + undefined field211_0x2a3; + undefined field212_0x2a4; + undefined field213_0x2a5; + undefined field214_0x2a6; + undefined field215_0x2a7; + undefined field216_0x2a8; + undefined field217_0x2a9; + undefined field218_0x2aa; + undefined field219_0x2ab; + undefined field220_0x2ac; + undefined field221_0x2ad; + undefined field222_0x2ae; + undefined field223_0x2af; + undefined field224_0x2b0; + undefined field225_0x2b1; + undefined field226_0x2b2; + undefined field227_0x2b3; + undefined field228_0x2b4; + undefined field229_0x2b5; + undefined field230_0x2b6; + undefined field231_0x2b7; + undefined field232_0x2b8; + undefined field233_0x2b9; + undefined field234_0x2ba; + undefined field235_0x2bb; + dword screenshotWidth; + dword screenshotHeight; + undefined field238_0x2c4; + undefined field239_0x2c5; + undefined field240_0x2c6; + undefined field241_0x2c7; + undefined field242_0x2c8; + undefined field243_0x2c9; + undefined field244_0x2ca; + undefined field245_0x2cb; + undefined field246_0x2cc; + undefined field247_0x2cd; + undefined field248_0x2ce; + undefined field249_0x2cf; + undefined field250_0x2d0; + undefined field251_0x2d1; + undefined field252_0x2d2; + undefined field253_0x2d3; + undefined field254_0x2d4; + undefined field255_0x2d5; + undefined field256_0x2d6; + undefined field257_0x2d7; + undefined field258_0x2d8; + undefined field259_0x2d9; + undefined field260_0x2da; + undefined field261_0x2db; + undefined field262_0x2dc; + undefined field263_0x2dd; + undefined field264_0x2de; + undefined field265_0x2df; + undefined field266_0x2e0; + undefined field267_0x2e1; + undefined field268_0x2e2; + undefined field269_0x2e3; + undefined field270_0x2e4; + undefined field271_0x2e5; + undefined field272_0x2e6; + undefined field273_0x2e7; + undefined field274_0x2e8; + undefined field275_0x2e9; + undefined field276_0x2ea; + undefined field277_0x2eb; + undefined field278_0x2ec; + undefined field279_0x2ed; + undefined field280_0x2ee; + undefined field281_0x2ef; + undefined field282_0x2f0; + undefined field283_0x2f1; + undefined field284_0x2f2; + undefined field285_0x2f3; + undefined field286_0x2f4; + undefined field287_0x2f5; + undefined field288_0x2f6; + undefined field289_0x2f7; + undefined field290_0x2f8; + undefined field291_0x2f9; + undefined field292_0x2fa; + undefined field293_0x2fb; + undefined field294_0x2fc; + undefined field295_0x2fd; + undefined field296_0x2fe; + undefined field297_0x2ff; + undefined field298_0x300; + undefined field299_0x301; + undefined field300_0x302; + undefined field301_0x303; + undefined field302_0x304; + undefined field303_0x305; + undefined field304_0x306; + undefined field305_0x307; + undefined field306_0x308; + undefined field307_0x309; + undefined field308_0x30a; + undefined field309_0x30b; + undefined field310_0x30c; + undefined field311_0x30d; + undefined field312_0x30e; + undefined field313_0x30f; + undefined field314_0x310; + undefined field315_0x311; + undefined field316_0x312; + undefined field317_0x313; + undefined field318_0x314; + undefined field319_0x315; + undefined field320_0x316; + undefined field321_0x317; + undefined field322_0x318; + undefined field323_0x319; + undefined field324_0x31a; + undefined field325_0x31b; + undefined field326_0x31c; + undefined field327_0x31d; + undefined field328_0x31e; + undefined field329_0x31f; + undefined field330_0x320; + undefined field331_0x321; + undefined field332_0x322; + undefined field333_0x323; + undefined field334_0x324; + undefined field335_0x325; + undefined field336_0x326; + undefined field337_0x327; + undefined field338_0x328; + undefined field339_0x329; + undefined field340_0x32a; + undefined field341_0x32b; + undefined field342_0x32c; + undefined field343_0x32d; + undefined field344_0x32e; + undefined field345_0x32f; + undefined field346_0x330; + undefined field347_0x331; + undefined field348_0x332; + undefined field349_0x333; + undefined field350_0x334; + undefined field351_0x335; + undefined field352_0x336; + undefined field353_0x337; + GLD_ViewportHandle viewportHandleUnk; + undefined field355_0x33a; + undefined field356_0x33b; + undefined field357_0x33c; + undefined field358_0x33d; + undefined field359_0x33e; + undefined field360_0x33f; + undefined field361_0x340; + undefined field362_0x341; + undefined field363_0x342; + undefined field364_0x343; + struct GLD_ViewportAttributes viewportAttribUnk; + undefined field366_0x3b4; + undefined field367_0x3b5; + undefined field368_0x3b6; + undefined field369_0x3b7; + undefined field370_0x3b8; + undefined field371_0x3b9; + undefined field372_0x3ba; + undefined field373_0x3bb; + undefined field374_0x3bc; + undefined field375_0x3bd; + undefined field376_0x3be; + undefined field377_0x3bf; + undefined field378_0x3c0; + undefined field379_0x3c1; + undefined field380_0x3c2; + undefined field381_0x3c3; + undefined field382_0x3c4; + undefined field383_0x3c5; + undefined field384_0x3c6; + undefined field385_0x3c7; + undefined field386_0x3c8; + undefined field387_0x3c9; + undefined field388_0x3ca; + undefined field389_0x3cb; + undefined field390_0x3cc; + undefined field391_0x3cd; + undefined field392_0x3ce; + undefined field393_0x3cf; + undefined field394_0x3d0; + undefined field395_0x3d1; + undefined field396_0x3d2; + undefined field397_0x3d3; + undefined field398_0x3d4; + undefined field399_0x3d5; + undefined field400_0x3d6; + undefined field401_0x3d7; + undefined field402_0x3d8; + undefined field403_0x3d9; + undefined field404_0x3da; + undefined field405_0x3db; + undefined field406_0x3dc; + undefined field407_0x3dd; + undefined field408_0x3de; + undefined field409_0x3df; + undefined field410_0x3e0; + undefined field411_0x3e1; + undefined field412_0x3e2; + undefined field413_0x3e3; + undefined field414_0x3e4; + undefined field415_0x3e5; + undefined field416_0x3e6; + undefined field417_0x3e7; + undefined field418_0x3e8; + undefined field419_0x3e9; + undefined field420_0x3ea; + undefined field421_0x3eb; + undefined field422_0x3ec; + undefined field423_0x3ed; + undefined field424_0x3ee; + undefined field425_0x3ef; + undefined field426_0x3f0; + undefined field427_0x3f1; + undefined field428_0x3f2; + undefined field429_0x3f3; + undefined field430_0x3f4; + undefined field431_0x3f5; + undefined field432_0x3f6; + undefined field433_0x3f7; + undefined field434_0x3f8; + undefined field435_0x3f9; + undefined field436_0x3fa; + undefined field437_0x3fb; + undefined field438_0x3fc; + undefined field439_0x3fd; + undefined field440_0x3fe; + undefined field441_0x3ff; + undefined field442_0x400; + undefined field443_0x401; + undefined field444_0x402; + undefined field445_0x403; + undefined field446_0x404; + undefined field447_0x405; + undefined field448_0x406; + undefined field449_0x407; + undefined field450_0x408; + undefined field451_0x409; + undefined field452_0x40a; + undefined field453_0x40b; + undefined field454_0x40c; + undefined field455_0x40d; + undefined field456_0x40e; + undefined field457_0x40f; + undefined field458_0x410; + undefined field459_0x411; + undefined field460_0x412; + undefined field461_0x413; + undefined field462_0x414; + undefined field463_0x415; + undefined field464_0x416; + undefined field465_0x417; + undefined field466_0x418; + undefined field467_0x419; + undefined field468_0x41a; + undefined field469_0x41b; + undefined field470_0x41c; + undefined field471_0x41d; + undefined field472_0x41e; + undefined field473_0x41f; + undefined field474_0x420; + undefined field475_0x421; + undefined field476_0x422; + undefined field477_0x423; + undefined field478_0x424; + undefined field479_0x425; + undefined field480_0x426; + undefined field481_0x427; + undefined field482_0x428; + undefined field483_0x429; + undefined field484_0x42a; + undefined field485_0x42b; + undefined field486_0x42c; + undefined field487_0x42d; + undefined field488_0x42e; + undefined field489_0x42f; + undefined field490_0x430; + undefined field491_0x431; + undefined field492_0x432; + undefined field493_0x433; + undefined field494_0x434; + undefined field495_0x435; + undefined field496_0x436; + undefined field497_0x437; + undefined field498_0x438; + undefined field499_0x439; + undefined field500_0x43a; + undefined field501_0x43b; + undefined field502_0x43c; + undefined field503_0x43d; + undefined field504_0x43e; + undefined field505_0x43f; + undefined field506_0x440; + undefined field507_0x441; + undefined field508_0x442; + undefined field509_0x443; + undefined field510_0x444; + undefined field511_0x445; + undefined field512_0x446; + undefined field513_0x447; + undefined field514_0x448; + undefined field515_0x449; + undefined field516_0x44a; + undefined field517_0x44b; + undefined field518_0x44c; + undefined field519_0x44d; + undefined field520_0x44e; + undefined field521_0x44f; + undefined field522_0x450; + undefined field523_0x451; + undefined field524_0x452; + undefined field525_0x453; + undefined field526_0x454; + undefined field527_0x455; + undefined field528_0x456; + undefined field529_0x457; + undefined field530_0x458; + undefined field531_0x459; + undefined field532_0x45a; + undefined field533_0x45b; + undefined field534_0x45c; + undefined field535_0x45d; + undefined field536_0x45e; + undefined field537_0x45f; + undefined field538_0x460; + undefined field539_0x461; + undefined field540_0x462; + undefined field541_0x463; + undefined field542_0x464; + undefined field543_0x465; + undefined field544_0x466; + undefined field545_0x467; + undefined field546_0x468; + undefined field547_0x469; + undefined field548_0x46a; + undefined field549_0x46b; + undefined field550_0x46c; + undefined field551_0x46d; + undefined field552_0x46e; + undefined field553_0x46f; + undefined field554_0x470; + undefined field555_0x471; + undefined field556_0x472; + undefined field557_0x473; + undefined field558_0x474; + undefined field559_0x475; + undefined field560_0x476; + undefined field561_0x477; + undefined field562_0x478; + undefined field563_0x479; + undefined field564_0x47a; + undefined field565_0x47b; + undefined field566_0x47c; + undefined field567_0x47d; + undefined field568_0x47e; + undefined field569_0x47f; + undefined field570_0x480; + undefined field571_0x481; + undefined field572_0x482; + undefined field573_0x483; + undefined field574_0x484; + undefined field575_0x485; + undefined field576_0x486; + undefined field577_0x487; + undefined field578_0x488; + undefined field579_0x489; + undefined field580_0x48a; + undefined field581_0x48b; + undefined field582_0x48c; + undefined field583_0x48d; + undefined field584_0x48e; + undefined field585_0x48f; + undefined field586_0x490; + undefined field587_0x491; + undefined field588_0x492; + undefined field589_0x493; + undefined field590_0x494; + undefined field591_0x495; + undefined field592_0x496; + undefined field593_0x497; + undefined field594_0x498; + undefined field595_0x499; + undefined field596_0x49a; + undefined field597_0x49b; + undefined field598_0x49c; + undefined field599_0x49d; + undefined field600_0x49e; + undefined field601_0x49f; + undefined field602_0x4a0; + undefined field603_0x4a1; + undefined field604_0x4a2; + undefined field605_0x4a3; + undefined field606_0x4a4; + undefined field607_0x4a5; + undefined field608_0x4a6; + undefined field609_0x4a7; + undefined field610_0x4a8; + undefined field611_0x4a9; + undefined field612_0x4aa; + undefined field613_0x4ab; + undefined field614_0x4ac; + undefined field615_0x4ad; + undefined field616_0x4ae; + undefined field617_0x4af; + undefined field618_0x4b0; + undefined field619_0x4b1; + undefined field620_0x4b2; + undefined field621_0x4b3; + undefined field622_0x4b4; + undefined field623_0x4b5; + undefined field624_0x4b6; + undefined field625_0x4b7; + undefined field626_0x4b8; + undefined field627_0x4b9; + undefined field628_0x4ba; + undefined field629_0x4bb; + undefined field630_0x4bc; + undefined field631_0x4bd; + undefined field632_0x4be; + undefined field633_0x4bf; + undefined field634_0x4c0; + undefined field635_0x4c1; + undefined field636_0x4c2; + undefined field637_0x4c3; + undefined field638_0x4c4; + undefined field639_0x4c5; + undefined field640_0x4c6; + undefined field641_0x4c7; + undefined field642_0x4c8; + undefined field643_0x4c9; + undefined field644_0x4ca; + undefined field645_0x4cb; + undefined field646_0x4cc; + undefined field647_0x4cd; + undefined field648_0x4ce; + undefined field649_0x4cf; + undefined field650_0x4d0; + undefined field651_0x4d1; + undefined field652_0x4d2; + undefined field653_0x4d3; + undefined field654_0x4d4; + undefined field655_0x4d5; + undefined field656_0x4d6; + undefined field657_0x4d7; + undefined field658_0x4d8; + undefined field659_0x4d9; + undefined field660_0x4da; + undefined field661_0x4db; + undefined field662_0x4dc; + undefined field663_0x4dd; + undefined field664_0x4de; + undefined field665_0x4df; + undefined field666_0x4e0; + undefined field667_0x4e1; + undefined field668_0x4e2; + undefined field669_0x4e3; + undefined field670_0x4e4; + undefined field671_0x4e5; + undefined field672_0x4e6; + undefined field673_0x4e7; + undefined field674_0x4e8; + undefined field675_0x4e9; + undefined field676_0x4ea; + undefined field677_0x4eb; + undefined field678_0x4ec; + undefined field679_0x4ed; + undefined field680_0x4ee; + undefined field681_0x4ef; + undefined field682_0x4f0; + undefined field683_0x4f1; + undefined field684_0x4f2; + undefined field685_0x4f3; + undefined field686_0x4f4; + undefined field687_0x4f5; + undefined field688_0x4f6; + undefined field689_0x4f7; + undefined field690_0x4f8; + undefined field691_0x4f9; + undefined field692_0x4fa; + undefined field693_0x4fb; + undefined field694_0x4fc; + undefined field695_0x4fd; + undefined field696_0x4fe; + undefined field697_0x4ff; + undefined field698_0x500; + undefined field699_0x501; + undefined field700_0x502; + undefined field701_0x503; + undefined field702_0x504; + undefined field703_0x505; + undefined field704_0x506; + undefined field705_0x507; + undefined field706_0x508; + undefined field707_0x509; + undefined field708_0x50a; + undefined field709_0x50b; + undefined field710_0x50c; + undefined field711_0x50d; + undefined field712_0x50e; + undefined field713_0x50f; + undefined field714_0x510; + undefined field715_0x511; + undefined field716_0x512; + undefined field717_0x513; + undefined field718_0x514; + undefined field719_0x515; + undefined field720_0x516; + undefined field721_0x517; + undefined field722_0x518; + undefined field723_0x519; + undefined field724_0x51a; + undefined field725_0x51b; + undefined field726_0x51c; + undefined field727_0x51d; + undefined field728_0x51e; + undefined field729_0x51f; + undefined field730_0x520; + undefined field731_0x521; + undefined field732_0x522; + undefined field733_0x523; + undefined field734_0x524; + undefined field735_0x525; + undefined field736_0x526; + undefined field737_0x527; + undefined field738_0x528; + undefined field739_0x529; + undefined field740_0x52a; + undefined field741_0x52b; + undefined field742_0x52c; + undefined field743_0x52d; + undefined field744_0x52e; + undefined field745_0x52f; + undefined field746_0x530; + undefined field747_0x531; + undefined field748_0x532; + undefined field749_0x533; + undefined field750_0x534; + undefined field751_0x535; + undefined field752_0x536; + undefined field753_0x537; + undefined field754_0x538; + undefined field755_0x539; + undefined field756_0x53a; + undefined field757_0x53b; + undefined field758_0x53c; + undefined field759_0x53d; + undefined field760_0x53e; + undefined field761_0x53f; + undefined field762_0x540; + undefined field763_0x541; + undefined field764_0x542; + undefined field765_0x543; + undefined field766_0x544; + undefined field767_0x545; + undefined field768_0x546; + undefined field769_0x547; + undefined field770_0x548; + undefined field771_0x549; + undefined field772_0x54a; + undefined field773_0x54b; + undefined field774_0x54c; + undefined field775_0x54d; + undefined field776_0x54e; + undefined field777_0x54f; + undefined field778_0x550; + undefined field779_0x551; + undefined field780_0x552; + undefined field781_0x553; + undefined field782_0x554; + undefined field783_0x555; + undefined field784_0x556; + undefined field785_0x557; + undefined field786_0x558; + undefined field787_0x559; + undefined field788_0x55a; + undefined field789_0x55b; + undefined field790_0x55c; + undefined field791_0x55d; + undefined field792_0x55e; + undefined field793_0x55f; + undefined field794_0x560; + undefined field795_0x561; + undefined field796_0x562; + undefined field797_0x563; + undefined field798_0x564; + undefined field799_0x565; + undefined field800_0x566; + undefined field801_0x567; + undefined field802_0x568; + undefined field803_0x569; + undefined field804_0x56a; + undefined field805_0x56b; + undefined field806_0x56c; + undefined field807_0x56d; + undefined field808_0x56e; + undefined field809_0x56f; + undefined field810_0x570; + undefined field811_0x571; + undefined field812_0x572; + undefined field813_0x573; + undefined field814_0x574; + undefined field815_0x575; + undefined field816_0x576; + undefined field817_0x577; + undefined field818_0x578; + undefined field819_0x579; + undefined field820_0x57a; + undefined field821_0x57b; + undefined field822_0x57c; + undefined field823_0x57d; + undefined field824_0x57e; + undefined field825_0x57f; + undefined field826_0x580; + undefined field827_0x581; + undefined field828_0x582; + undefined field829_0x583; + undefined field830_0x584; + undefined field831_0x585; + undefined field832_0x586; + undefined field833_0x587; + undefined field834_0x588; + undefined field835_0x589; + undefined field836_0x58a; + undefined field837_0x58b; + undefined field838_0x58c; + undefined field839_0x58d; + undefined field840_0x58e; + undefined field841_0x58f; + undefined field842_0x590; + undefined field843_0x591; + undefined field844_0x592; + undefined field845_0x593; + undefined field846_0x594; + undefined field847_0x595; + undefined field848_0x596; + undefined field849_0x597; + undefined field850_0x598; + undefined field851_0x599; + undefined field852_0x59a; + undefined field853_0x59b; + undefined field854_0x59c; + undefined field855_0x59d; + undefined field856_0x59e; + undefined field857_0x59f; + undefined field858_0x5a0; + undefined field859_0x5a1; + undefined field860_0x5a2; + undefined field861_0x5a3; + undefined field862_0x5a4; + undefined field863_0x5a5; + undefined field864_0x5a6; + undefined field865_0x5a7; + undefined field866_0x5a8; + undefined field867_0x5a9; + undefined field868_0x5aa; + undefined field869_0x5ab; + undefined field870_0x5ac; + undefined field871_0x5ad; + undefined field872_0x5ae; + undefined field873_0x5af; + undefined field874_0x5b0; + undefined field875_0x5b1; + undefined field876_0x5b2; + undefined field877_0x5b3; + undefined field878_0x5b4; + undefined field879_0x5b5; + undefined field880_0x5b6; + undefined field881_0x5b7; + undefined field882_0x5b8; + undefined field883_0x5b9; + undefined field884_0x5ba; + undefined field885_0x5bb; + undefined field886_0x5bc; + undefined field887_0x5bd; + undefined field888_0x5be; + undefined field889_0x5bf; + undefined field890_0x5c0; + undefined field891_0x5c1; + undefined field892_0x5c2; + undefined field893_0x5c3; + undefined field894_0x5c4; + undefined field895_0x5c5; + undefined field896_0x5c6; + undefined field897_0x5c7; + undefined field898_0x5c8; + undefined field899_0x5c9; + undefined field900_0x5ca; + undefined field901_0x5cb; + undefined field902_0x5cc; + undefined field903_0x5cd; + undefined field904_0x5ce; + undefined field905_0x5cf; + undefined field906_0x5d0; + undefined field907_0x5d1; + undefined field908_0x5d2; + undefined field909_0x5d3; + undefined field910_0x5d4; + undefined field911_0x5d5; + undefined field912_0x5d6; + undefined field913_0x5d7; + undefined field914_0x5d8; + undefined field915_0x5d9; + undefined field916_0x5da; + undefined field917_0x5db; + undefined field918_0x5dc; + undefined field919_0x5dd; + undefined field920_0x5de; + undefined field921_0x5df; + undefined field922_0x5e0; + undefined field923_0x5e1; + undefined field924_0x5e2; + undefined field925_0x5e3; + undefined field926_0x5e4; + undefined field927_0x5e5; + undefined field928_0x5e6; + undefined field929_0x5e7; + HANDLE drawSemaphore; + undefined field931_0x5ec; + undefined field932_0x5ed; + undefined field933_0x5ee; + undefined field934_0x5ef; + undefined field935_0x5f0; + undefined field936_0x5f1; + undefined field937_0x5f2; + undefined field938_0x5f3; + undefined field939_0x5f4; + undefined field940_0x5f5; + undefined field941_0x5f6; + undefined field942_0x5f7; + undefined field943_0x5f8; + undefined field944_0x5f9; + undefined field945_0x5fa; + undefined field946_0x5fb; + undefined field947_0x5fc; + undefined field948_0x5fd; + undefined field949_0x5fe; + undefined field950_0x5ff; + undefined field951_0x600; + undefined field952_0x601; + undefined field953_0x602; + undefined field954_0x603; + undefined field955_0x604; + undefined field956_0x605; + undefined field957_0x606; + undefined field958_0x607; + undefined field959_0x608; + undefined field960_0x609; + undefined field961_0x60a; + undefined field962_0x60b; + undefined field963_0x60c; + undefined field964_0x60d; + undefined field965_0x60e; + undefined field966_0x60f; + undefined field967_0x610; + undefined field968_0x611; + undefined field969_0x612; + undefined field970_0x613; + undefined field971_0x614; + undefined field972_0x615; + undefined field973_0x616; + undefined field974_0x617; + undefined field975_0x618; + undefined field976_0x619; + undefined field977_0x61a; + undefined field978_0x61b; + struct FIL_FileNameList *hLevelNameList; + undefined field980_0x620; + undefined field981_0x621; + undefined field982_0x622; + undefined field983_0x623; + undefined field984_0x624; + undefined field985_0x625; + undefined field986_0x626; + undefined field987_0x627; + undefined field988_0x628; + undefined field989_0x629; + undefined field990_0x62a; + undefined field991_0x62b; + undefined field992_0x62c; + undefined field993_0x62d; + undefined field994_0x62e; + undefined field995_0x62f; + undefined field996_0x630; + undefined field997_0x631; + undefined field998_0x632; + undefined field999_0x633; + undefined field1000_0x634; + undefined field1001_0x635; + undefined field1002_0x636; + undefined field1003_0x637; + undefined field1004_0x638; + undefined field1005_0x639; + undefined field1006_0x63a; + undefined field1007_0x63b; + undefined field1008_0x63c; + undefined field1009_0x63d; + undefined field1010_0x63e; + undefined field1011_0x63f; + undefined field1012_0x640; + undefined field1013_0x641; + undefined field1014_0x642; + undefined field1015_0x643; + undefined field1016_0x644; + undefined field1017_0x645; + undefined field1018_0x646; + undefined field1019_0x647; + undefined field1020_0x648; + undefined field1021_0x649; + undefined field1022_0x64a; + undefined field1023_0x64b; + undefined field1024_0x64c; + undefined field1025_0x64d; + undefined field1026_0x64e; + undefined field1027_0x64f; + undefined field1028_0x650; + undefined field1029_0x651; + undefined field1030_0x652; + undefined field1031_0x653; + undefined field1032_0x654; + undefined field1033_0x655; + undefined field1034_0x656; + undefined field1035_0x657; + undefined field1036_0x658; + undefined field1037_0x659; + undefined field1038_0x65a; + undefined field1039_0x65b; + undefined field1040_0x65c; + undefined field1041_0x65d; + undefined field1042_0x65e; + undefined field1043_0x65f; + undefined field1044_0x660; + undefined field1045_0x661; + undefined field1046_0x662; + undefined field1047_0x663; + undefined field1048_0x664; + undefined field1049_0x665; + undefined field1050_0x666; + undefined field1051_0x667; + undefined field1052_0x668; + undefined field1053_0x669; + undefined field1054_0x66a; + undefined field1055_0x66b; + undefined field1056_0x66c; + undefined field1057_0x66d; + undefined field1058_0x66e; + undefined field1059_0x66f; + undefined field1060_0x670; + undefined field1061_0x671; + undefined field1062_0x672; + undefined field1063_0x673; + undefined field1064_0x674; + undefined field1065_0x675; + undefined field1066_0x676; + undefined field1067_0x677; + undefined field1068_0x678; + undefined field1069_0x679; + undefined field1070_0x67a; + undefined field1071_0x67b; + undefined field1072_0x67c; + undefined field1073_0x67d; + undefined field1074_0x67e; + undefined field1075_0x67f; + undefined field1076_0x680; + undefined field1077_0x681; + undefined field1078_0x682; + undefined field1079_0x683; + undefined field1080_0x684; + undefined field1081_0x685; + undefined field1082_0x686; + undefined field1083_0x687; + undefined field1084_0x688; + undefined field1085_0x689; + undefined field1086_0x68a; + undefined field1087_0x68b; + undefined field1088_0x68c; + undefined field1089_0x68d; + undefined field1090_0x68e; + undefined field1091_0x68f; + undefined field1092_0x690; + undefined field1093_0x691; + undefined field1094_0x692; + undefined field1095_0x693; + undefined field1096_0x694; + undefined field1097_0x695; + undefined field1098_0x696; + undefined field1099_0x697; + undefined field1100_0x698; + undefined field1101_0x699; + undefined field1102_0x69a; + undefined field1103_0x69b; + undefined field1104_0x69c; + undefined field1105_0x69d; + undefined field1106_0x69e; + undefined field1107_0x69f; + undefined field1108_0x6a0; + undefined field1109_0x6a1; + undefined field1110_0x6a2; + undefined field1111_0x6a3; + undefined field1112_0x6a4; + undefined field1113_0x6a5; + undefined field1114_0x6a6; + undefined field1115_0x6a7; + undefined field1116_0x6a8; + undefined field1117_0x6a9; + undefined field1118_0x6aa; + undefined field1119_0x6ab; + undefined field1120_0x6ac; + undefined field1121_0x6ad; + undefined field1122_0x6ae; + undefined field1123_0x6af; + undefined field1124_0x6b0; + undefined field1125_0x6b1; + undefined field1126_0x6b2; + undefined field1127_0x6b3; + undefined field1128_0x6b4; + undefined field1129_0x6b5; + undefined field1130_0x6b6; + undefined field1131_0x6b7; + undefined field1132_0x6b8; + undefined field1133_0x6b9; + undefined field1134_0x6ba; + undefined field1135_0x6bb; + undefined field1136_0x6bc; + undefined field1137_0x6bd; + undefined field1138_0x6be; + undefined field1139_0x6bf; + undefined field1140_0x6c0; + undefined field1141_0x6c1; + undefined field1142_0x6c2; + undefined field1143_0x6c3; + undefined field1144_0x6c4; + undefined field1145_0x6c5; + undefined field1146_0x6c6; + undefined field1147_0x6c7; + long lSubMapNumber; /* 0x6c8 */ + undefined field1149_0x6cc; + undefined field1150_0x6cd; + undefined field1151_0x6ce; + undefined field1152_0x6cf; + undefined field1153_0x6d0; + undefined field1154_0x6d1; + undefined field1155_0x6d2; + undefined field1156_0x6d3; + undefined field1157_0x6d4; + undefined field1158_0x6d5; + undefined field1159_0x6d6; + undefined field1160_0x6d7; + undefined field1161_0x6d8; + undefined field1162_0x6d9; + undefined field1163_0x6da; + undefined field1164_0x6db; + undefined field1165_0x6dc; + undefined field1166_0x6dd; + undefined field1167_0x6de; + undefined field1168_0x6df; + undefined field1169_0x6e0; + undefined field1170_0x6e1; + undefined field1171_0x6e2; + undefined field1172_0x6e3; + undefined field1173_0x6e4; + undefined field1174_0x6e5; + undefined field1175_0x6e6; + undefined field1176_0x6e7; + undefined field1177_0x6e8; + undefined field1178_0x6e9; + undefined field1179_0x6ea; + undefined field1180_0x6eb; + undefined field1181_0x6ec; + undefined field1182_0x6ed; + undefined field1183_0x6ee; + undefined field1184_0x6ef; + undefined field1185_0x6f0; + undefined field1186_0x6f1; + undefined field1187_0x6f2; + undefined field1188_0x6f3; + undefined field1189_0x6f4; + undefined field1190_0x6f5; + undefined field1191_0x6f6; + undefined field1192_0x6f7; + undefined field1193_0x6f8; + undefined field1194_0x6f9; + undefined field1195_0x6fa; + undefined field1196_0x6fb; + undefined field1197_0x6fc; + undefined field1198_0x6fd; + undefined field1199_0x6fe; + undefined field1200_0x6ff; + undefined field1201_0x700; + undefined field1202_0x701; + undefined field1203_0x702; + undefined field1204_0x703; + undefined field1205_0x704; + undefined field1206_0x705; + undefined field1207_0x706; + undefined field1208_0x707; + undefined field1209_0x708; + undefined field1210_0x709; + undefined field1211_0x70a; + undefined field1212_0x70b; + undefined field1213_0x70c; + undefined field1214_0x70d; + undefined field1215_0x70e; + undefined field1216_0x70f; + undefined field1217_0x710; + undefined field1218_0x711; + undefined field1219_0x712; + undefined field1220_0x713; + undefined field1221_0x714; + undefined field1222_0x715; + undefined field1223_0x716; + undefined field1224_0x717; + undefined field1225_0x718; + undefined field1226_0x719; + undefined field1227_0x71a; + undefined field1228_0x71b; + undefined field1229_0x71c; + undefined field1230_0x71d; + undefined field1231_0x71e; + undefined field1232_0x71f; + undefined field1233_0x720; + undefined field1234_0x721; + undefined field1235_0x722; + undefined field1236_0x723; + undefined field1237_0x724; + undefined field1238_0x725; + undefined field1239_0x726; + undefined field1240_0x727; + undefined field1241_0x728; + undefined field1242_0x729; + undefined field1243_0x72a; + undefined field1244_0x72b; + undefined field1245_0x72c; + undefined field1246_0x72d; + undefined field1247_0x72e; + undefined field1248_0x72f; + undefined field1249_0x730; + undefined field1250_0x731; + undefined field1251_0x732; + undefined field1252_0x733; + undefined field1253_0x734; + undefined field1254_0x735; + undefined field1255_0x736; + undefined field1256_0x737; + undefined field1257_0x738; + undefined field1258_0x739; + undefined field1259_0x73a; + undefined field1260_0x73b; + undefined field1261_0x73c; + undefined field1262_0x73d; + undefined field1263_0x73e; + undefined field1264_0x73f; + undefined field1265_0x740; + undefined field1266_0x741; + undefined field1267_0x742; + undefined field1268_0x743; + undefined field1269_0x744; + undefined field1270_0x745; + undefined field1271_0x746; + undefined field1272_0x747; + undefined field1273_0x748; + undefined field1274_0x749; + undefined field1275_0x74a; + undefined field1276_0x74b; + undefined field1277_0x74c; + undefined field1278_0x74d; + undefined field1279_0x74e; + undefined field1280_0x74f; + undefined field1281_0x750; + undefined field1282_0x751; + undefined field1283_0x752; + undefined field1284_0x753; + undefined field1285_0x754; + undefined field1286_0x755; + undefined field1287_0x756; + undefined field1288_0x757; + undefined field1289_0x758; + undefined field1290_0x759; + undefined field1291_0x75a; + undefined field1292_0x75b; + undefined field1293_0x75c; + undefined field1294_0x75d; + undefined field1295_0x75e; + undefined field1296_0x75f; + undefined field1297_0x760; + undefined field1298_0x761; + undefined field1299_0x762; + undefined field1300_0x763; + undefined field1301_0x764; + undefined field1302_0x765; + undefined field1303_0x766; + undefined field1304_0x767; + undefined field1305_0x768; + undefined field1306_0x769; + undefined field1307_0x76a; + undefined field1308_0x76b; + undefined field1309_0x76c; + undefined field1310_0x76d; + undefined field1311_0x76e; + undefined field1312_0x76f; + undefined field1313_0x770; + undefined field1314_0x771; + undefined field1315_0x772; + undefined field1316_0x773; + undefined field1317_0x774; + undefined field1318_0x775; + undefined field1319_0x776; + undefined field1320_0x777; + undefined field1321_0x778; + undefined field1322_0x779; + undefined field1323_0x77a; + undefined field1324_0x77b; + undefined field1325_0x77c; + undefined field1326_0x77d; + undefined field1327_0x77e; + undefined field1328_0x77f; + undefined field1329_0x780; + undefined field1330_0x781; + undefined field1331_0x782; + undefined field1332_0x783; + undefined field1333_0x784; + undefined field1334_0x785; + undefined field1335_0x786; + undefined field1336_0x787; + undefined field1337_0x788; + undefined field1338_0x789; + undefined field1339_0x78a; + undefined field1340_0x78b; + undefined field1341_0x78c; + undefined field1342_0x78d; + undefined field1343_0x78e; + undefined field1344_0x78f; + undefined field1345_0x790; + undefined field1346_0x791; + undefined field1347_0x792; + undefined field1348_0x793; + undefined field1349_0x794; + undefined field1350_0x795; + undefined field1351_0x796; + undefined field1352_0x797; + undefined field1353_0x798; + undefined field1354_0x799; + undefined field1355_0x79a; + undefined field1356_0x79b; + undefined field1357_0x79c; + undefined field1358_0x79d; + undefined field1359_0x79e; + undefined field1360_0x79f; + undefined field1361_0x7a0; + undefined field1362_0x7a1; + undefined field1363_0x7a2; + undefined field1364_0x7a3; + undefined field1365_0x7a4; + undefined field1366_0x7a5; + undefined field1367_0x7a6; + undefined field1368_0x7a7; + undefined field1369_0x7a8; + undefined field1370_0x7a9; + undefined field1371_0x7aa; + undefined field1372_0x7ab; + undefined field1373_0x7ac; + undefined field1374_0x7ad; + undefined field1375_0x7ae; + undefined field1376_0x7af; + undefined field1377_0x7b0; + undefined field1378_0x7b1; + undefined field1379_0x7b2; + undefined field1380_0x7b3; + undefined field1381_0x7b4; + undefined field1382_0x7b5; + undefined field1383_0x7b6; + undefined field1384_0x7b7; + undefined field1385_0x7b8; + undefined field1386_0x7b9; + undefined field1387_0x7ba; + undefined field1388_0x7bb; + undefined field1389_0x7bc; + undefined field1390_0x7bd; + undefined field1391_0x7be; + undefined field1392_0x7bf; + undefined field1393_0x7c0; + undefined field1394_0x7c1; + undefined field1395_0x7c2; + undefined field1396_0x7c3; + undefined field1397_0x7c4; + undefined field1398_0x7c5; + undefined field1399_0x7c6; + undefined field1400_0x7c7; + undefined field1401_0x7c8; + undefined field1402_0x7c9; + undefined field1403_0x7ca; + undefined field1404_0x7cb; + undefined field1405_0x7cc; + undefined field1406_0x7cd; + undefined field1407_0x7ce; + undefined field1408_0x7cf; + undefined field1409_0x7d0; + undefined field1410_0x7d1; + undefined field1411_0x7d2; + undefined field1412_0x7d3; + undefined field1413_0x7d4; + undefined field1414_0x7d5; + undefined field1415_0x7d6; + undefined field1416_0x7d7; + undefined field1417_0x7d8; + undefined field1418_0x7d9; + undefined field1419_0x7da; + undefined field1420_0x7db; + undefined field1421_0x7dc; + undefined field1422_0x7dd; + undefined field1423_0x7de; + undefined field1424_0x7df; + undefined field1425_0x7e0; + undefined field1426_0x7e1; + undefined field1427_0x7e2; + undefined field1428_0x7e3; + undefined field1429_0x7e4; + undefined field1430_0x7e5; + undefined field1431_0x7e6; + undefined field1432_0x7e7; + undefined field1433_0x7e8; + undefined field1434_0x7e9; + undefined field1435_0x7ea; + undefined field1436_0x7eb; + undefined field1437_0x7ec; + undefined field1438_0x7ed; + undefined field1439_0x7ee; + undefined field1440_0x7ef; + undefined field1441_0x7f0; + undefined field1442_0x7f1; + undefined field1443_0x7f2; + undefined field1444_0x7f3; + undefined field1445_0x7f4; + undefined field1446_0x7f5; + undefined field1447_0x7f6; + undefined field1448_0x7f7; + undefined field1449_0x7f8; + undefined field1450_0x7f9; + undefined field1451_0x7fa; + undefined field1452_0x7fb; + undefined field1453_0x7fc; + undefined field1454_0x7fd; + undefined field1455_0x7fe; + undefined field1456_0x7ff; + undefined field1457_0x800; + undefined field1458_0x801; + undefined field1459_0x802; + undefined field1460_0x803; + undefined field1461_0x804; + undefined field1462_0x805; + undefined field1463_0x806; + undefined field1464_0x807; + undefined field1465_0x808; + undefined field1466_0x809; + undefined field1467_0x80a; + undefined field1468_0x80b; + undefined field1469_0x80c; + undefined field1470_0x80d; + undefined field1471_0x80e; + undefined field1472_0x80f; + undefined field1473_0x810; + undefined field1474_0x811; + undefined field1475_0x812; + undefined field1476_0x813; + undefined field1477_0x814; + undefined field1478_0x815; + undefined field1479_0x816; + undefined field1480_0x817; + undefined field1481_0x818; + undefined field1482_0x819; + undefined field1483_0x81a; + undefined field1484_0x81b; + undefined field1485_0x81c; + undefined field1486_0x81d; + undefined field1487_0x81e; + undefined field1488_0x81f; + undefined field1489_0x820; + undefined field1490_0x821; + undefined field1491_0x822; + undefined field1492_0x823; + undefined field1493_0x824; + undefined field1494_0x825; + undefined field1495_0x826; + undefined field1496_0x827; + undefined field1497_0x828; + undefined field1498_0x829; + undefined field1499_0x82a; + undefined field1500_0x82b; + undefined field1501_0x82c; + undefined field1502_0x82d; + undefined field1503_0x82e; + undefined field1504_0x82f; + undefined field1505_0x830; + undefined field1506_0x831; + undefined field1507_0x832; + undefined field1508_0x833; + undefined field1509_0x834; + undefined field1510_0x835; + undefined field1511_0x836; + undefined field1512_0x837; + undefined field1513_0x838; + undefined field1514_0x839; + undefined field1515_0x83a; + undefined field1516_0x83b; + undefined field1517_0x83c; + undefined field1518_0x83d; + undefined field1519_0x83e; + undefined field1520_0x83f; + undefined field1521_0x840; + undefined field1522_0x841; + undefined field1523_0x842; + undefined field1524_0x843; + undefined field1525_0x844; + undefined field1526_0x845; + undefined field1527_0x846; + undefined field1528_0x847; + undefined field1529_0x848; + undefined field1530_0x849; + undefined field1531_0x84a; + undefined field1532_0x84b; + undefined field1533_0x84c; + undefined field1534_0x84d; + undefined field1535_0x84e; + undefined field1536_0x84f; + undefined field1537_0x850; + undefined field1538_0x851; + undefined field1539_0x852; + undefined field1540_0x853; + undefined field1541_0x854; + undefined field1542_0x855; + undefined field1543_0x856; + undefined field1544_0x857; + undefined field1545_0x858; + undefined field1546_0x859; + undefined field1547_0x85a; + undefined field1548_0x85b; + undefined field1549_0x85c; + undefined field1550_0x85d; + undefined field1551_0x85e; + undefined field1552_0x85f; + undefined field1553_0x860; + undefined field1554_0x861; + undefined field1555_0x862; + undefined field1556_0x863; + undefined field1557_0x864; + undefined field1558_0x865; + undefined field1559_0x866; + undefined field1560_0x867; + undefined field1561_0x868; + undefined field1562_0x869; + undefined field1563_0x86a; + undefined field1564_0x86b; + undefined field1565_0x86c; + undefined field1566_0x86d; + undefined field1567_0x86e; + undefined field1568_0x86f; + undefined field1569_0x870; + undefined field1570_0x871; + undefined field1571_0x872; + undefined field1572_0x873; + undefined field1573_0x874; + undefined field1574_0x875; + undefined field1575_0x876; + undefined field1576_0x877; + undefined field1577_0x878; + undefined field1578_0x879; + undefined field1579_0x87a; + undefined field1580_0x87b; + undefined field1581_0x87c; + undefined field1582_0x87d; + undefined field1583_0x87e; + undefined field1584_0x87f; + undefined field1585_0x880; + undefined field1586_0x881; + undefined field1587_0x882; + undefined field1588_0x883; + undefined field1589_0x884; + undefined field1590_0x885; + undefined field1591_0x886; + undefined field1592_0x887; + undefined field1593_0x888; + undefined field1594_0x889; + undefined field1595_0x88a; + undefined field1596_0x88b; + undefined field1597_0x88c; + undefined field1598_0x88d; + undefined field1599_0x88e; + undefined field1600_0x88f; + undefined field1601_0x890; + undefined field1602_0x891; + undefined field1603_0x892; + undefined field1604_0x893; + undefined field1605_0x894; + undefined field1606_0x895; + undefined field1607_0x896; + undefined field1608_0x897; + undefined field1609_0x898; + undefined field1610_0x899; + undefined field1611_0x89a; + undefined field1612_0x89b; + undefined field1613_0x89c; + undefined field1614_0x89d; + undefined field1615_0x89e; + undefined field1616_0x89f; + undefined field1617_0x8a0; + undefined field1618_0x8a1; + undefined field1619_0x8a2; + undefined field1620_0x8a3; + undefined field1621_0x8a4; + undefined field1622_0x8a5; + undefined field1623_0x8a6; + undefined field1624_0x8a7; + undefined field1625_0x8a8; + undefined field1626_0x8a9; + undefined field1627_0x8aa; + undefined field1628_0x8ab; + undefined field1629_0x8ac; + undefined field1630_0x8ad; + undefined field1631_0x8ae; + undefined field1632_0x8af; + undefined field1633_0x8b0; + undefined field1634_0x8b1; + undefined field1635_0x8b2; + undefined field1636_0x8b3; + undefined field1637_0x8b4; + undefined field1638_0x8b5; + undefined field1639_0x8b6; + undefined field1640_0x8b7; + undefined field1641_0x8b8; + undefined field1642_0x8b9; + undefined field1643_0x8ba; + undefined field1644_0x8bb; + undefined field1645_0x8bc; + undefined field1646_0x8bd; + undefined field1647_0x8be; + undefined field1648_0x8bf; + undefined field1649_0x8c0; + undefined field1650_0x8c1; + undefined field1651_0x8c2; + undefined field1652_0x8c3; + undefined field1653_0x8c4; + undefined field1654_0x8c5; + undefined field1655_0x8c6; + undefined field1656_0x8c7; + undefined field1657_0x8c8; + undefined field1658_0x8c9; + undefined field1659_0x8ca; + undefined field1660_0x8cb; + undefined field1661_0x8cc; + undefined field1662_0x8cd; + undefined field1663_0x8ce; + undefined field1664_0x8cf; + undefined field1665_0x8d0; + undefined field1666_0x8d1; + undefined field1667_0x8d2; + undefined field1668_0x8d3; + undefined field1669_0x8d4; + undefined field1670_0x8d5; + undefined field1671_0x8d6; + undefined field1672_0x8d7; + undefined field1673_0x8d8; + undefined field1674_0x8d9; + undefined field1675_0x8da; + undefined field1676_0x8db; + undefined field1677_0x8dc; + undefined field1678_0x8dd; + undefined field1679_0x8de; + undefined field1680_0x8df; + undefined field1681_0x8e0; + undefined field1682_0x8e1; + undefined field1683_0x8e2; + undefined field1684_0x8e3; + undefined field1685_0x8e4; + undefined field1686_0x8e5; + undefined field1687_0x8e6; + undefined field1688_0x8e7; + undefined field1689_0x8e8; + undefined field1690_0x8e9; + undefined field1691_0x8ea; + undefined field1692_0x8eb; + undefined field1693_0x8ec; + undefined field1694_0x8ed; + undefined field1695_0x8ee; + undefined field1696_0x8ef; + undefined field1697_0x8f0; + undefined field1698_0x8f1; + undefined field1699_0x8f2; + undefined field1700_0x8f3; + undefined field1701_0x8f4; + undefined field1702_0x8f5; + undefined field1703_0x8f6; + undefined field1704_0x8f7; + undefined field1705_0x8f8; + undefined field1706_0x8f9; + undefined field1707_0x8fa; + undefined field1708_0x8fb; + undefined field1709_0x8fc; + undefined field1710_0x8fd; + undefined field1711_0x8fe; + undefined field1712_0x8ff; + undefined field1713_0x900; + undefined field1714_0x901; + undefined field1715_0x902; + undefined field1716_0x903; + undefined field1717_0x904; + undefined field1718_0x905; + undefined field1719_0x906; + undefined field1720_0x907; + undefined field1721_0x908; + undefined field1722_0x909; + undefined field1723_0x90a; + undefined field1724_0x90b; + undefined field1725_0x90c; + undefined field1726_0x90d; + undefined field1727_0x90e; + undefined field1728_0x90f; + undefined field1729_0x910; + undefined field1730_0x911; + undefined field1731_0x912; + undefined field1732_0x913; + undefined field1733_0x914; + undefined field1734_0x915; + undefined field1735_0x916; + undefined field1736_0x917; + undefined field1737_0x918; + undefined field1738_0x919; + undefined field1739_0x91a; + undefined field1740_0x91b; + undefined field1741_0x91c; + undefined field1742_0x91d; + undefined field1743_0x91e; + undefined field1744_0x91f; + undefined field1745_0x920; + undefined field1746_0x921; + undefined field1747_0x922; + undefined field1748_0x923; + undefined field1749_0x924; + undefined field1750_0x925; + undefined field1751_0x926; + undefined field1752_0x927; + undefined field1753_0x928; + undefined field1754_0x929; + undefined field1755_0x92a; + undefined field1756_0x92b; + undefined field1757_0x92c; + undefined field1758_0x92d; + undefined field1759_0x92e; + undefined field1760_0x92f; + undefined field1761_0x930; + undefined field1762_0x931; + undefined field1763_0x932; + undefined field1764_0x933; + undefined field1765_0x934; + undefined field1766_0x935; + undefined field1767_0x936; + undefined field1768_0x937; + undefined field1769_0x938; + undefined field1770_0x939; + undefined field1771_0x93a; + undefined field1772_0x93b; + undefined field1773_0x93c; + undefined field1774_0x93d; + undefined field1775_0x93e; + undefined field1776_0x93f; + undefined field1777_0x940; + undefined field1778_0x941; + undefined field1779_0x942; + undefined field1780_0x943; + undefined field1781_0x944; + undefined field1782_0x945; + undefined field1783_0x946; + undefined field1784_0x947; + undefined field1785_0x948; + undefined field1786_0x949; + undefined field1787_0x94a; + undefined field1788_0x94b; + undefined field1789_0x94c; + undefined field1790_0x94d; + undefined field1791_0x94e; + undefined field1792_0x94f; + undefined field1793_0x950; + undefined field1794_0x951; + undefined field1795_0x952; + undefined field1796_0x953; + undefined field1797_0x954; + undefined field1798_0x955; + undefined field1799_0x956; + undefined field1800_0x957; + undefined field1801_0x958; + undefined field1802_0x959; + undefined field1803_0x95a; + undefined field1804_0x95b; + undefined field1805_0x95c; + undefined field1806_0x95d; + undefined field1807_0x95e; + undefined field1808_0x95f; + undefined field1809_0x960; + undefined field1810_0x961; + undefined field1811_0x962; + undefined field1812_0x963; + undefined field1813_0x964; + undefined field1814_0x965; + undefined field1815_0x966; + undefined field1816_0x967; + undefined field1817_0x968; + undefined field1818_0x969; + undefined field1819_0x96a; + undefined field1820_0x96b; + undefined field1821_0x96c; + undefined field1822_0x96d; + undefined field1823_0x96e; + undefined field1824_0x96f; + undefined field1825_0x970; + undefined field1826_0x971; + undefined field1827_0x972; + undefined field1828_0x973; + undefined field1829_0x974; + undefined field1830_0x975; + undefined field1831_0x976; + undefined field1832_0x977; + undefined field1833_0x978; + undefined field1834_0x979; + undefined field1835_0x97a; + undefined field1836_0x97b; + undefined field1837_0x97c; + undefined field1838_0x97d; + undefined field1839_0x97e; + undefined field1840_0x97f; + undefined field1841_0x980; + undefined field1842_0x981; + undefined field1843_0x982; + undefined field1844_0x983; + undefined field1845_0x984; + undefined field1846_0x985; + undefined field1847_0x986; + undefined field1848_0x987; + undefined field1849_0x988; + undefined field1850_0x989; + undefined field1851_0x98a; + undefined field1852_0x98b; + undefined field1853_0x98c; + undefined field1854_0x98d; + undefined field1855_0x98e; + undefined field1856_0x98f; + undefined field1857_0x990; + undefined field1858_0x991; + undefined field1859_0x992; + undefined field1860_0x993; + undefined field1861_0x994; + undefined field1862_0x995; + undefined field1863_0x996; + undefined field1864_0x997; + undefined field1865_0x998; + undefined field1866_0x999; + undefined field1867_0x99a; + undefined field1868_0x99b; + undefined field1869_0x99c; + undefined field1870_0x99d; + undefined field1871_0x99e; + undefined field1872_0x99f; + undefined field1873_0x9a0; + undefined field1874_0x9a1; + undefined field1875_0x9a2; + undefined field1876_0x9a3; + undefined field1877_0x9a4; + undefined field1878_0x9a5; + undefined field1879_0x9a6; + undefined field1880_0x9a7; + undefined field1881_0x9a8; + undefined field1882_0x9a9; + undefined field1883_0x9aa; + undefined field1884_0x9ab; + undefined field1885_0x9ac; + undefined field1886_0x9ad; + undefined field1887_0x9ae; + undefined field1888_0x9af; + undefined field1889_0x9b0; + undefined field1890_0x9b1; + undefined field1891_0x9b2; + undefined field1892_0x9b3; + undefined field1893_0x9b4; + undefined field1894_0x9b5; + undefined field1895_0x9b6; + undefined field1896_0x9b7; + undefined field1897_0x9b8; + undefined field1898_0x9b9; + undefined field1899_0x9ba; + undefined field1900_0x9bb; + undefined field1901_0x9bc; + undefined field1902_0x9bd; + undefined field1903_0x9be; + undefined field1904_0x9bf; + undefined field1905_0x9c0; + undefined field1906_0x9c1; + undefined field1907_0x9c2; + undefined field1908_0x9c3; + undefined field1909_0x9c4; + undefined field1910_0x9c5; + undefined field1911_0x9c6; + undefined field1912_0x9c7; + undefined field1913_0x9c8; + undefined field1914_0x9c9; + undefined field1915_0x9ca; + undefined field1916_0x9cb; + undefined field1917_0x9cc; + undefined field1918_0x9cd; + undefined field1919_0x9ce; + undefined field1920_0x9cf; + undefined field1921_0x9d0; + undefined field1922_0x9d1; + undefined field1923_0x9d2; + undefined field1924_0x9d3; + undefined field1925_0x9d4; + undefined field1926_0x9d5; + undefined field1927_0x9d6; + undefined field1928_0x9d7; + undefined field1929_0x9d8; + undefined field1930_0x9d9; + undefined field1931_0x9da; + undefined field1932_0x9db; + undefined field1933_0x9dc; + undefined field1934_0x9dd; + undefined field1935_0x9de; + undefined field1936_0x9df; + undefined field1937_0x9e0; + undefined field1938_0x9e1; + undefined field1939_0x9e2; + undefined field1940_0x9e3; + undefined field1941_0x9e4; + undefined field1942_0x9e5; + undefined field1943_0x9e6; + undefined field1944_0x9e7; + undefined field1945_0x9e8; + undefined field1946_0x9e9; + undefined field1947_0x9ea; + undefined field1948_0x9eb; + undefined field1949_0x9ec; + undefined field1950_0x9ed; + undefined field1951_0x9ee; + undefined field1952_0x9ef; + undefined field1953_0x9f0; + undefined field1954_0x9f1; + undefined field1955_0x9f2; + undefined field1956_0x9f3; + undefined field1957_0x9f4; + undefined field1958_0x9f5; + undefined field1959_0x9f6; + undefined field1960_0x9f7; + undefined field1961_0x9f8; + undefined field1962_0x9f9; + undefined field1963_0x9fa; + undefined field1964_0x9fb; + undefined field1965_0x9fc; + undefined field1966_0x9fd; + undefined field1967_0x9fe; + undefined field1968_0x9ff; + undefined field1969_0xa00; + undefined field1970_0xa01; + undefined field1971_0xa02; + undefined field1972_0xa03; + undefined field1973_0xa04; + undefined field1974_0xa05; + undefined field1975_0xa06; + undefined field1976_0xa07; + undefined field1977_0xa08; + undefined field1978_0xa09; + undefined field1979_0xa0a; + undefined field1980_0xa0b; + undefined field1981_0xa0c; + undefined field1982_0xa0d; + undefined field1983_0xa0e; + undefined field1984_0xa0f; + undefined field1985_0xa10; + undefined field1986_0xa11; + undefined field1987_0xa12; + undefined field1988_0xa13; + undefined field1989_0xa14; + undefined field1990_0xa15; + undefined field1991_0xa16; + undefined field1992_0xa17; + undefined field1993_0xa18; + undefined field1994_0xa19; + undefined field1995_0xa1a; + undefined field1996_0xa1b; + undefined field1997_0xa1c; + undefined field1998_0xa1d; + undefined field1999_0xa1e; + undefined field2000_0xa1f; + undefined field2001_0xa20; + undefined field2002_0xa21; + undefined field2003_0xa22; + undefined field2004_0xa23; + undefined field2005_0xa24; + undefined field2006_0xa25; + undefined field2007_0xa26; + undefined field2008_0xa27; + undefined field2009_0xa28; + undefined field2010_0xa29; + undefined field2011_0xa2a; + undefined field2012_0xa2b; + undefined field2013_0xa2c; + undefined field2014_0xa2d; + undefined field2015_0xa2e; + undefined field2016_0xa2f; + undefined field2017_0xa30; + undefined field2018_0xa31; + undefined field2019_0xa32; + undefined field2020_0xa33; + undefined field2021_0xa34; + undefined field2022_0xa35; + undefined field2023_0xa36; + undefined field2024_0xa37; + undefined field2025_0xa38; + undefined field2026_0xa39; + undefined field2027_0xa3a; + undefined field2028_0xa3b; + undefined field2029_0xa3c; + undefined field2030_0xa3d; + undefined field2031_0xa3e; + undefined field2032_0xa3f; + undefined field2033_0xa40; + undefined field2034_0xa41; + undefined field2035_0xa42; + undefined field2036_0xa43; + undefined field2037_0xa44; + undefined field2038_0xa45; + undefined field2039_0xa46; + undefined field2040_0xa47; + undefined field2041_0xa48; + undefined field2042_0xa49; + undefined field2043_0xa4a; + undefined field2044_0xa4b; + undefined field2045_0xa4c; + undefined field2046_0xa4d; + undefined field2047_0xa4e; + undefined field2048_0xa4f; + undefined field2049_0xa50; + undefined field2050_0xa51; + undefined field2051_0xa52; + undefined field2052_0xa53; + undefined field2053_0xa54; + undefined field2054_0xa55; + undefined field2055_0xa56; + undefined field2056_0xa57; + undefined field2057_0xa58; + undefined field2058_0xa59; + undefined field2059_0xa5a; + undefined field2060_0xa5b; + undefined field2061_0xa5c; + undefined field2062_0xa5d; + undefined field2063_0xa5e; + undefined field2064_0xa5f; + undefined field2065_0xa60; + undefined field2066_0xa61; + undefined field2067_0xa62; + undefined field2068_0xa63; + undefined field2069_0xa64; + undefined field2070_0xa65; + undefined field2071_0xa66; + undefined field2072_0xa67; + undefined field2073_0xa68; + undefined field2074_0xa69; + undefined field2075_0xa6a; + undefined field2076_0xa6b; + undefined field2077_0xa6c; + undefined field2078_0xa6d; + undefined field2079_0xa6e; + undefined field2080_0xa6f; + undefined field2081_0xa70; + undefined field2082_0xa71; + undefined field2083_0xa72; + undefined field2084_0xa73; + undefined field2085_0xa74; + undefined field2086_0xa75; + undefined field2087_0xa76; + undefined field2088_0xa77; + undefined field2089_0xa78; + undefined field2090_0xa79; + undefined field2091_0xa7a; + undefined field2092_0xa7b; + undefined field2093_0xa7c; + undefined field2094_0xa7d; + undefined field2095_0xa7e; + undefined field2096_0xa7f; + undefined field2097_0xa80; + undefined field2098_0xa81; + undefined field2099_0xa82; + undefined field2100_0xa83; + undefined field2101_0xa84; + undefined field2102_0xa85; + undefined field2103_0xa86; + undefined field2104_0xa87; + undefined field2105_0xa88; + undefined field2106_0xa89; + undefined field2107_0xa8a; + undefined field2108_0xa8b; + undefined field2109_0xa8c; + undefined field2110_0xa8d; + undefined field2111_0xa8e; + undefined field2112_0xa8f; + undefined field2113_0xa90; + undefined field2114_0xa91; + undefined field2115_0xa92; + undefined field2116_0xa93; + undefined field2117_0xa94; + undefined field2118_0xa95; + undefined field2119_0xa96; + undefined field2120_0xa97; + undefined field2121_0xa98; + undefined field2122_0xa99; + undefined field2123_0xa9a; + undefined field2124_0xa9b; + undefined field2125_0xa9c; + undefined field2126_0xa9d; + undefined field2127_0xa9e; + undefined field2128_0xa9f; + undefined field2129_0xaa0; + undefined field2130_0xaa1; + undefined field2131_0xaa2; + undefined field2132_0xaa3; + undefined field2133_0xaa4; + undefined field2134_0xaa5; + undefined field2135_0xaa6; + undefined field2136_0xaa7; + undefined field2137_0xaa8; + undefined field2138_0xaa9; + undefined field2139_0xaaa; + undefined field2140_0xaab; + undefined field2141_0xaac; + undefined field2142_0xaad; + undefined field2143_0xaae; + undefined field2144_0xaaf; + undefined field2145_0xab0; + undefined field2146_0xab1; + undefined field2147_0xab2; + undefined field2148_0xab3; + undefined field2149_0xab4; + undefined field2150_0xab5; + undefined field2151_0xab6; + undefined field2152_0xab7; + undefined field2153_0xab8; + undefined field2154_0xab9; + undefined field2155_0xaba; + undefined field2156_0xabb; + undefined field2157_0xabc; + undefined field2158_0xabd; + undefined field2159_0xabe; + undefined field2160_0xabf; + undefined field2161_0xac0; + undefined field2162_0xac1; + undefined field2163_0xac2; + undefined field2164_0xac3; + undefined field2165_0xac4; + undefined field2166_0xac5; + undefined field2167_0xac6; + undefined field2168_0xac7; + undefined field2169_0xac8; + undefined field2170_0xac9; + undefined field2171_0xaca; + undefined field2172_0xacb; + undefined field2173_0xacc; + undefined field2174_0xacd; + undefined field2175_0xace; + undefined field2176_0xacf; + undefined field2177_0xad0; + undefined field2178_0xad1; + undefined field2179_0xad2; + undefined field2180_0xad3; + undefined field2181_0xad4; + undefined field2182_0xad5; + undefined field2183_0xad6; + undefined field2184_0xad7; + undefined field2185_0xad8; + undefined field2186_0xad9; + undefined field2187_0xada; + undefined field2188_0xadb; + undefined field2189_0xadc; + undefined field2190_0xadd; + undefined field2191_0xade; + undefined field2192_0xadf; + undefined field2193_0xae0; + undefined field2194_0xae1; + undefined field2195_0xae2; + undefined field2196_0xae3; + undefined field2197_0xae4; + undefined field2198_0xae5; + undefined field2199_0xae6; + undefined field2200_0xae7; + undefined field2201_0xae8; + undefined field2202_0xae9; + undefined field2203_0xaea; + undefined field2204_0xaeb; + undefined field2205_0xaec; + undefined field2206_0xaed; + undefined field2207_0xaee; + undefined field2208_0xaef; + undefined field2209_0xaf0; + undefined field2210_0xaf1; + undefined field2211_0xaf2; + undefined field2212_0xaf3; + undefined field2213_0xaf4; + undefined field2214_0xaf5; + undefined field2215_0xaf6; + undefined field2216_0xaf7; + undefined field2217_0xaf8; + undefined field2218_0xaf9; + undefined field2219_0xafa; + undefined field2220_0xafb; + undefined field2221_0xafc; + undefined field2222_0xafd; + undefined field2223_0xafe; + undefined field2224_0xaff; + undefined field2225_0xb00; + undefined field2226_0xb01; + undefined field2227_0xb02; + undefined field2228_0xb03; + undefined field2229_0xb04; + undefined field2230_0xb05; + undefined field2231_0xb06; + undefined field2232_0xb07; + undefined field2233_0xb08; + undefined field2234_0xb09; + undefined field2235_0xb0a; + undefined field2236_0xb0b; + undefined field2237_0xb0c; + undefined field2238_0xb0d; + undefined field2239_0xb0e; + undefined field2240_0xb0f; + undefined field2241_0xb10; + undefined field2242_0xb11; + undefined field2243_0xb12; + undefined field2244_0xb13; + undefined field2245_0xb14; + undefined field2246_0xb15; + undefined field2247_0xb16; + undefined field2248_0xb17; + undefined field2249_0xb18; + undefined field2250_0xb19; + undefined field2251_0xb1a; + undefined field2252_0xb1b; + undefined field2253_0xb1c; + undefined field2254_0xb1d; + undefined field2255_0xb1e; + undefined field2256_0xb1f; + undefined field2257_0xb20; + undefined field2258_0xb21; + undefined field2259_0xb22; + undefined field2260_0xb23; + undefined field2261_0xb24; + undefined field2262_0xb25; + undefined field2263_0xb26; + undefined field2264_0xb27; + undefined field2265_0xb28; + undefined field2266_0xb29; + undefined field2267_0xb2a; + undefined field2268_0xb2b; + undefined field2269_0xb2c; + undefined field2270_0xb2d; + undefined field2271_0xb2e; + undefined field2272_0xb2f; + undefined field2273_0xb30; + undefined field2274_0xb31; + undefined field2275_0xb32; + undefined field2276_0xb33; + undefined field2277_0xb34; + undefined field2278_0xb35; + undefined field2279_0xb36; + undefined field2280_0xb37; + undefined field2281_0xb38; + undefined field2282_0xb39; + undefined field2283_0xb3a; + undefined field2284_0xb3b; + undefined field2285_0xb3c; + undefined field2286_0xb3d; + undefined field2287_0xb3e; + undefined field2288_0xb3f; + undefined field2289_0xb40; + undefined field2290_0xb41; + undefined field2291_0xb42; + undefined field2292_0xb43; + undefined field2293_0xb44; + undefined field2294_0xb45; + undefined field2295_0xb46; + undefined field2296_0xb47; + undefined field2297_0xb48; + undefined field2298_0xb49; + undefined field2299_0xb4a; + undefined field2300_0xb4b; + undefined field2301_0xb4c; + undefined field2302_0xb4d; + undefined field2303_0xb4e; + undefined field2304_0xb4f; + undefined field2305_0xb50; + undefined field2306_0xb51; + undefined field2307_0xb52; + undefined field2308_0xb53; + undefined field2309_0xb54; + undefined field2310_0xb55; + undefined field2311_0xb56; + undefined field2312_0xb57; + undefined field2313_0xb58; + undefined field2314_0xb59; + undefined field2315_0xb5a; + undefined field2316_0xb5b; + undefined field2317_0xb5c; + undefined field2318_0xb5d; + undefined field2319_0xb5e; + undefined field2320_0xb5f; + undefined field2321_0xb60; + undefined field2322_0xb61; + undefined field2323_0xb62; + undefined field2324_0xb63; + undefined field2325_0xb64; + undefined field2326_0xb65; + undefined field2327_0xb66; + undefined field2328_0xb67; + undefined field2329_0xb68; + undefined field2330_0xb69; + undefined field2331_0xb6a; + undefined field2332_0xb6b; + undefined field2333_0xb6c; + undefined field2334_0xb6d; + undefined field2335_0xb6e; + undefined field2336_0xb6f; + undefined field2337_0xb70; + undefined field2338_0xb71; + undefined field2339_0xb72; + undefined field2340_0xb73; + undefined field2341_0xb74; + undefined field2342_0xb75; + undefined field2343_0xb76; + undefined field2344_0xb77; + undefined field2345_0xb78; + undefined field2346_0xb79; + undefined field2347_0xb7a; + undefined field2348_0xb7b; + undefined field2349_0xb7c; + undefined field2350_0xb7d; + undefined field2351_0xb7e; + undefined field2352_0xb7f; + undefined field2353_0xb80; + undefined field2354_0xb81; + undefined field2355_0xb82; + undefined field2356_0xb83; + undefined field2357_0xb84; + undefined field2358_0xb85; + undefined field2359_0xb86; + undefined field2360_0xb87; + undefined field2361_0xb88; + undefined field2362_0xb89; + undefined field2363_0xb8a; + undefined field2364_0xb8b; + undefined field2365_0xb8c; + undefined field2366_0xb8d; + undefined field2367_0xb8e; + undefined field2368_0xb8f; + undefined field2369_0xb90; + undefined field2370_0xb91; + undefined field2371_0xb92; + undefined field2372_0xb93; + undefined field2373_0xb94; + undefined field2374_0xb95; + undefined field2375_0xb96; + undefined field2376_0xb97; + undefined field2377_0xb98; + undefined field2378_0xb99; + undefined field2379_0xb9a; + undefined field2380_0xb9b; + undefined field2381_0xb9c; + undefined field2382_0xb9d; + undefined field2383_0xb9e; + undefined field2384_0xb9f; + undefined field2385_0xba0; + undefined field2386_0xba1; + undefined field2387_0xba2; + undefined field2388_0xba3; + undefined field2389_0xba4; + undefined field2390_0xba5; + undefined field2391_0xba6; + undefined field2392_0xba7; + undefined field2393_0xba8; + undefined field2394_0xba9; + undefined field2395_0xbaa; + undefined field2396_0xbab; + undefined field2397_0xbac; + undefined field2398_0xbad; + undefined field2399_0xbae; + undefined field2400_0xbaf; + undefined field2401_0xbb0; + undefined field2402_0xbb1; + undefined field2403_0xbb2; + undefined field2404_0xbb3; + undefined field2405_0xbb4; + undefined field2406_0xbb5; + undefined field2407_0xbb6; + undefined field2408_0xbb7; + undefined field2409_0xbb8; + undefined field2410_0xbb9; + undefined field2411_0xbba; + undefined field2412_0xbbb; + undefined field2413_0xbbc; + undefined field2414_0xbbd; + undefined field2415_0xbbe; + undefined field2416_0xbbf; + undefined field2417_0xbc0; + undefined field2418_0xbc1; + undefined field2419_0xbc2; + undefined field2420_0xbc3; + undefined field2421_0xbc4; + undefined field2422_0xbc5; + undefined field2423_0xbc6; + undefined field2424_0xbc7; + undefined field2425_0xbc8; + undefined field2426_0xbc9; + undefined field2427_0xbca; + undefined field2428_0xbcb; + undefined field2429_0xbcc; + undefined field2430_0xbcd; + undefined field2431_0xbce; + undefined field2432_0xbcf; + undefined field2433_0xbd0; + undefined field2434_0xbd1; + undefined field2435_0xbd2; + undefined field2436_0xbd3; + undefined field2437_0xbd4; + undefined field2438_0xbd5; + undefined field2439_0xbd6; + undefined field2440_0xbd7; + undefined field2441_0xbd8; + undefined field2442_0xbd9; + undefined field2443_0xbda; + undefined field2444_0xbdb; + undefined field2445_0xbdc; + undefined field2446_0xbdd; + undefined field2447_0xbde; + undefined field2448_0xbdf; + undefined field2449_0xbe0; + undefined field2450_0xbe1; + undefined field2451_0xbe2; + undefined field2452_0xbe3; + undefined field2453_0xbe4; + undefined field2454_0xbe5; + undefined field2455_0xbe6; + undefined field2456_0xbe7; + undefined field2457_0xbe8; + undefined field2458_0xbe9; + undefined field2459_0xbea; + undefined field2460_0xbeb; + undefined field2461_0xbec; + undefined field2462_0xbed; + undefined field2463_0xbee; + undefined field2464_0xbef; + undefined field2465_0xbf0; + undefined field2466_0xbf1; + undefined field2467_0xbf2; + undefined field2468_0xbf3; + undefined field2469_0xbf4; + undefined field2470_0xbf5; + undefined field2471_0xbf6; + undefined field2472_0xbf7; + undefined field2473_0xbf8; + undefined field2474_0xbf9; + undefined field2475_0xbfa; + undefined field2476_0xbfb; + undefined field2477_0xbfc; + undefined field2478_0xbfd; + undefined field2479_0xbfe; + undefined field2480_0xbff; + undefined field2481_0xc00; + undefined field2482_0xc01; + undefined field2483_0xc02; + undefined field2484_0xc03; + undefined field2485_0xc04; + undefined field2486_0xc05; + undefined field2487_0xc06; + undefined field2488_0xc07; + undefined field2489_0xc08; + undefined field2490_0xc09; + undefined field2491_0xc0a; + undefined field2492_0xc0b; + undefined field2493_0xc0c; + undefined field2494_0xc0d; + undefined field2495_0xc0e; + undefined field2496_0xc0f; + undefined field2497_0xc10; + undefined field2498_0xc11; + undefined field2499_0xc12; + undefined field2500_0xc13; + undefined field2501_0xc14; + undefined field2502_0xc15; + undefined field2503_0xc16; + undefined field2504_0xc17; +}; + +typedef struct GAM_tdstEngineOuter GAM_tdstEngineOuter, *PGAM_tdstEngineOuter; + +struct GAM_tdstEngineOuter { + uchar ucNumberOfLevels; + uchar ucCurrentLevel; + uchar ucPreviousLevel; + uchar ucExitIdToQuitPrevLevel; + uchar ucLevelGlobalCounter; + ACP_tdxBool xDemoMode; + uchar ucCurrentLanguage; + uchar ucNbLanguages; + ACP_tdxBool bEngineFrozen; + ACP_tdxBool bResurrection; + char cCameraMode; +}; + +typedef struct GAM_tdstLanguageStructure GAM_tdstLanguageStructure, *PGAM_tdstLanguageStructure; + +struct GAM_tdstLanguageStructure { + char szLanguageCode[20]; + char szLanguageText[20]; +}; + +typedef struct GameStructure GameStructure, *PGameStructure; + +struct GameStructure { + struct BinkInner0 *binkInner; + float field1_0x4; + float field2_0x8; + float field3_0xc; + float field4_0x10; + HANDLE drawSemaphore; + FILE *movieFile; + dword keySeqEsc; + undefined field8_0x20; + undefined field9_0x21; + undefined field10_0x22; + undefined field11_0x23; + undefined field12_0x24; + undefined field13_0x25; + undefined field14_0x26; + undefined field15_0x27; + undefined field16_0x28; + undefined field17_0x29; + undefined field18_0x2a; + undefined field19_0x2b; + undefined field20_0x2c; + undefined field21_0x2d; + undefined field22_0x2e; + undefined field23_0x2f; + undefined field24_0x30; + undefined field25_0x31; + undefined field26_0x32; + undefined field27_0x33; + undefined field28_0x34; + undefined field29_0x35; + undefined field30_0x36; + undefined field31_0x37; + undefined field32_0x38; + undefined field33_0x39; + undefined field34_0x3a; + undefined field35_0x3b; + undefined field36_0x3c; + undefined field37_0x3d; + undefined field38_0x3e; + undefined field39_0x3f; + byte passedToDisplayFn; + undefined field41_0x41; + undefined field42_0x42; + undefined field43_0x43; + undefined field44_0x44; + undefined field45_0x45; + undefined field46_0x46; + undefined field47_0x47; + char *movieName; + undefined field49_0x4c; + undefined field50_0x4d; + undefined field51_0x4e; + undefined field52_0x4f; + undefined field53_0x50; + undefined field54_0x51; + undefined field55_0x52; + undefined field56_0x53; + undefined field57_0x54; + undefined field58_0x55; + undefined field59_0x56; + undefined field60_0x57; + undefined field61_0x58; + undefined field62_0x59; + undefined field63_0x5a; + undefined field64_0x5b; + float field65_0x5c; +}; + +typedef struct GEO_tdstBoundingSphere GEO_tdstBoundingSphere, *PGEO_tdstBoundingSphere; + +struct GEO_tdstBoundingSphere { +}; + +typedef struct GEO_tdstColor GEO_tdstColor, *PGEO_tdstColor; + +struct GEO_tdstColor { + GEO_tdxColorValue xR; + GEO_tdxColorValue xG; + GEO_tdxColorValue xB; + GEO_tdxColorValue xA; +}; + +typedef struct GEO_tdstDoubledIndex GEO_tdstDoubledIndex, *PGEO_tdstDoubledIndex; + +struct GEO_tdstDoubledIndex { + ACP_tdxIndex a2_xIndex[2]; +}; + +typedef struct GEO_tdstGeometricObject GEO_tdstGeometricObject, *PGEO_tdstGeometricObject; + +struct GEO_tdstGeometricObject { +}; + +typedef struct GEO_tdstParallelBox GEO_tdstParallelBox, *PGEO_tdstParallelBox; + +struct GEO_tdstParallelBox { +}; + +typedef struct GEO_tdstTripledIndex GEO_tdstTripledIndex, *PGEO_tdstTripledIndex; + +struct GEO_tdstTripledIndex { + ACP_tdxIndex a3_xIndex[3]; +}; + +typedef struct GEO_tdstVisualSet GEO_tdstVisualSet, *PGEO_tdstVisualSet; + +struct GEO_tdstVisualSet { +}; + +typedef struct GLD_Device GLD_Device, *PGLD_Device; + +struct GLD_Device { + struct GLD_DeviceAttributes stDevAttrib; + GLD_tdpstViewport pstViewports[16]; + BOOL bIsLocked; + DWORD dwStyleBeforeSwap; + DWORD dwExStyleBeforeSwap; + RECT rcWindowBeforeSwap; + DWORD dwBackgroundColor; +}; + + +/* WARNING! conflicting data type names: /engine.h/GLD_Device - /GLD_Device */ + +typedef struct GLD_DeviceAttributes GLD_DeviceAttributes, *PGLD_DeviceAttributes; + +struct GLD_DeviceAttributes { + DWORD dwHeight; + DWORD dwWidth; + GLD_tdxValue xPixelDimensionX; + GLD_tdxValue xPixelDimensionY; + char *p_cVirtualScreen; + LONG lPitch; + short *p_sZBuffer; + DWORD dwFullScreenModeX; + DWORD dwFullScreenModeY; + DWORD dwFullScreenModeBpp; + HWND hFullScreenModeWnd; + HWND hNormalModeWnd; + uchar bFullScreen; + uint uiTypeDriver; + POINT pClientOnPrimary; + RECT rtClientRect; + RECT rtWindowRect; +}; + +typedef struct GLD_stViewport GLD_stViewport, *PGLD_stViewport; + +struct GLD_stViewport { + struct GLD_ViewportAttributes stViewAttrib; + uchar bIsLocked; +}; + +typedef struct GLD_Viewport GLD_Viewport, *PGLD_Viewport; + +struct GLD_Viewport { + struct GLD_ViewportAttributes stViewAttrib; + uchar bIsLocked; +}; + +typedef struct GLD_ViewportAttributes GLD_ViewportAttributes, *PGLD_ViewportAttributes; + +struct GLD_ViewportAttributes { + ulong dwInitialHeight; + ulong dwInitialWidth; + ulong dwHeight; + ulong dwWidth; + ulong dwTopInPix; + ulong dwBottomInPix; + ulong dwLeftInPix; + ulong dwRightInPix; + ulong dwTopInPixForClip; + ulong dwBottomInPixForClip; + ulong dwLeftInPixForClip; + ulong dwRightInPixForClip; + ulong dwWidthInPercent; + ulong dwHeightInPercent; + ulong dwClipTopInPix; + ulong dwClipBottomInPix; + ulong dwClipLeftInPix; + ulong dwClipRightInPix; + ulong dwClipTopInPerMille; + ulong dwClipBottomInPerMille; + ulong dwClipLeftInPerMille; + ulong dwClipRightInPerMille; + long lOffsetPosX; + long lOffsetPosY; + char *p_cVirtualScreen; + long lPitch; + void *p_vSpecificToXD; + GLD_DeviceHandle hDevice; + GLD_ViewportHandle hViewport; +}; + +typedef struct GLI_Camera GLI_Camera, *PGLI_Camera; + +struct GLI_Camera { + long lSizeOfThis; + long lTypeOfThis; + long lCameraMode; + struct POS_stCompletePosition stMatrix; + float xAlphaX; + float xAlphaY; + GLI_tdxValue xNear; + GLI_tdxValue xFar; + GLI_tdxValue xScreen; + struct GLI_tdst2DVertex stScale; + struct GLI_tdst2DVertex stTrans; + long lVptInitialHeight; + long lVptInitialWidth; + struct MTH3_Vector stNormPlaneLeft; + float xDistPlaneLeft; + struct MTH3_Vector stNormPlaneRight; + float xDistPlaneRight; + struct MTH3_Vector stNormPlaneUp; + float xDistPlaneUp; + struct MTH3_Vector stNormPlaneDown; + float xDistPlaneDown; + float xRatio; +}; + +typedef struct GLI_SpecificAttributesFor3D GLI_SpecificAttributesFor3D, *PGLI_SpecificAttributesFor3D; + +struct GLI_SpecificAttributesFor3D { + struct GLI_Camera *p_stCam; + float xNear; +}; + +typedef struct GLI_tdst2DVertex GLI_tdst2DVertex, *PGLI_tdst2DVertex; + +struct GLI_tdst2DVertex { + float xX; + float xY; + float xOoZ; +}; + +typedef struct GLI_tdstAnimatedTextureNode GLI_tdstAnimatedTextureNode, *PGLI_tdstAnimatedTextureNode; + +struct GLI_tdstAnimatedTextureNode { + struct GLI_Texture *p_stTexture; + float xDisplayTime; + struct GLI_tdstAnimatedTextureNode *p_stNextDisplayNode; +}; + +typedef struct GLI_tdstLight GLI_tdstLight, *PGLI_tdstLight; + +struct GLI_tdstLight { + uchar bOnOff; + uchar bThisLightIsZBuffered; + long lTypeOfLight; + float xFar; + float xNear; + float xLittleAlpha; + float xBigAlpha; + float xLittleTangent; + float xBigTangent; + struct POS_stCompletePosition stMatrix; + struct GLI_tdstZBufferForLight stZBuffer; + struct GEO_tdstColor stColor; + ACP_tdxBool bValid; + uchar ucObjectPainted; + ACP_tdxBool bIsPainting; + uchar ucIsAlpha; + struct MTH3_Vector stInter_Min_Pos; + struct MTH3_Vector stExter_Min_Pos; + struct MTH3_Vector stInter_Max_Pos; + struct MTH3_Vector stExter_Max_Pos; + struct MTH3_Vector stCenterBox; + float xRadius; + float xIntensity_Min; + float xIntensity_Max; + struct GEO_tdstColor stBackgroundColor; +}; + +typedef struct GLI_tdstMaterial GLI_tdstMaterial, *PGLI_tdstMaterial; + +struct GLI_tdstMaterial { + ulong ulMaterialType; + struct GEO_tdstColor stAmbient; + struct GEO_tdstColor stDiffuse; + struct GEO_tdstColor stSpecular; + struct GEO_tdstColor stColor; + long lSpecularExponent; + struct GLI_Texture *p_stTexture; + float xAddU; + float xAddV; + float xConstantAddU; + float xConstantAddV; + long lIncrementIsEnable; + ulong dwActualRefreshNumber; + struct GLI_tdstAnimatedTextureNode *p_stFirstAnimatedTextureNode; + struct GLI_tdstAnimatedTextureNode *p_stActualAnimatedTextureNode; + long lNumberOfDisplayNode; + float xActualDisplayTimeSinceStartOfLastTexture; + ACP_tdxBool xIsLocked; +}; + +typedef struct GLI_tdstViewportManagement GLI_tdstViewportManagement, *PGLI_tdstViewportManagement; + +struct GLI_tdstViewportManagement { + struct HIE_tdstSuperObject *hCamera; + struct HIE_tdstSuperObject *hTempCamera; + struct GLI_Camera *p_stCamera; + ACP_tdxBool bValid; +}; + +typedef struct GLI_tdstZBufferForLight GLI_tdstZBufferForLight, *PGLI_tdstZBufferForLight; + +struct GLI_tdstZBufferForLight { + long lSizeX; + long lSizeY; + float xCoefX; + float xCoefY; + float *p_xZBufferMap; + float *p_xMiddleZBufferMap; +}; + +typedef struct GLI_Texture GLI_Texture, *PGLI_Texture; + +struct GLI_Texture { + uchar bIsAvailable; + long lTextureQuality; + void *p_vBitMap; + void *p_vColorTable; + void *p_stSpecParam; + ulong ulTextureCaps; + ushort uwHeight; + ushort uwWidth; + ushort uwRealHeight; + ushort uwRealWidth; + float xAddU; + float xAddV; + uchar lIncrementIsEnable; + ulong ulChromakeyColorRGBA; + long lNumberOfLod; + ulong ulCompressionCounter; + ulong ulTypeOfCompression; + ulong ulTypeOfMipMapping; + struct GLI_Texture *p_TextureOfSubstitution; + uchar ucBilinearMode; + uchar ucCyclingMode; + char szFileName[128]; +}; + +typedef struct GMA_tdstEngineEndStructure GMA_tdstEngineEndStructure, *PGMA_tdstEngineEndStructure; + +struct GMA_tdstEngineEndStructure { + uchar ucNumberOfLevels; + uchar ucCurrentLevel; + uchar ucPreviousLevel; + uchar ucExitIdToQuitPrevLevel; + uchar ucLevelGlobalCounter; + ACP_tdxBool xDemoMode; + uchar ucCurrentLanguage; + uchar ucNbLanguages; + ACP_tdxBool bEngineFrozen; + ACP_tdxBool bResurrection; + char cCameraMode; +}; + +typedef struct HIE_SuperObject HIE_SuperObject, *PHIE_SuperObject; + +struct HIE_SuperObject { + ulong ulTypeOfLinkedObject; + union HIE_tduLinkedObject hLinkedObject; + struct HIE_SuperObject *hFirstElementDyn; + struct HIE_SuperObject *hLastElementDyn; + long lNumberOfElementsDyn; + struct HIE_SuperObject *hNextBrotherDyn; + struct HIE_SuperObject *hPrevBrotherDyn; + struct HIE_SuperObject *hFatherDyn; + POS_tdxHandleToPosition hLocalMatrix; + POS_tdxHandleToPosition hGlobalMatrix; + long lLastComputeFrame; + long lDrawModeMask; + ulong ulFlags; + void *hBoundingVolume; + float fTransparenceLevel; + struct MTH3_Vector stSemiLookAtVector; +}; + +typedef struct HIE_tdstSuperObject HIE_tdstSuperObject, *PHIE_tdstSuperObject; + +struct HIE_tdstSuperObject { +}; + +typedef struct INO_Device INO_Device, *PINO_Device; + +struct INO_Device { + ushort m_uwType; + INO_tdstDevCaps *m_p_stCaps; + INO_tdstDevState *m_p_stState; + ulong m_ulLastTimeCount; + short m_wHistoricSize; + short m_wHistoricHead; + short m_wRecordNumber; + void *m_pvHistoric; + INO_fn_wMethod m_pfnRead; +}; + +typedef struct INO_DIDevice INO_DIDevice, *PINO_DIDevice; + +struct INO_DIDevice { + DIDEVICEINSTANCE m_stDevInstance; + LPDIRECTINPUTDEVICE m_p_stDevInterface; /* set */ + LPDIRECTINPUTDEVICE2 m_p_stDevInterface2; + short m_wExtendedInterfaceAvailable; + undefined field4_0x24e; + undefined field5_0x24f; + INO_DeviceHandle m_hDevice; + undefined field7_0x254; + undefined field8_0x255; + undefined field9_0x256; + undefined field10_0x257; + undefined field11_0x258; + undefined field12_0x259; + undefined field13_0x25a; + undefined field14_0x25b; + undefined field15_0x25c; + undefined field16_0x25d; + undefined field17_0x25e; + undefined field18_0x25f; + undefined field19_0x260; + undefined field20_0x261; + undefined field21_0x262; + undefined field22_0x263; + undefined field23_0x264; + undefined field24_0x265; + undefined field25_0x266; + undefined field26_0x267; + undefined field27_0x268; + undefined field28_0x269; + undefined field29_0x26a; + undefined field30_0x26b; + undefined field31_0x26c; + undefined field32_0x26d; + undefined field33_0x26e; + undefined field34_0x26f; + undefined field35_0x270; + undefined field36_0x271; + undefined field37_0x272; + undefined field38_0x273; + undefined field39_0x274; + undefined field40_0x275; + undefined field41_0x276; + undefined field42_0x277; + undefined field43_0x278; + undefined field44_0x279; + undefined field45_0x27a; + undefined field46_0x27b; + undefined field47_0x27c; + undefined field48_0x27d; + undefined field49_0x27e; + undefined field50_0x27f; + undefined field51_0x280; + undefined field52_0x281; + undefined field53_0x282; + undefined field54_0x283; + undefined field55_0x284; + undefined field56_0x285; + undefined field57_0x286; + undefined field58_0x287; + undefined field59_0x288; + undefined field60_0x289; + undefined field61_0x28a; + undefined field62_0x28b; + undefined field63_0x28c; +}; + +typedef struct INO_unk_joy INO_unk_joy, *PINO_unk_joy; + +struct INO_unk_joy { + byte field0_0x0; + undefined field1_0x1; + undefined field2_0x2; + undefined field3_0x3; + int field4_0x4; + undefined field5_0x8; + undefined field6_0x9; + undefined field7_0xa; + undefined field8_0xb; + undefined field9_0xc; + undefined field10_0xd; + undefined field11_0xe; + undefined field12_0xf; + undefined field13_0x10; + undefined field14_0x11; + undefined field15_0x12; + undefined field16_0x13; + undefined field17_0x14; + undefined field18_0x15; + undefined field19_0x16; + undefined field20_0x17; + undefined field21_0x18; + undefined field22_0x19; + undefined field23_0x1a; + undefined field24_0x1b; + undefined field25_0x1c; + undefined field26_0x1d; + undefined field27_0x1e; + undefined field28_0x1f; + undefined field29_0x20; + undefined field30_0x21; + undefined field31_0x22; + undefined field32_0x23; + undefined field33_0x24; + undefined field34_0x25; + undefined field35_0x26; + undefined field36_0x27; + undefined field37_0x28; + undefined field38_0x29; + undefined field39_0x2a; + undefined field40_0x2b; + undefined field41_0x2c; + undefined field42_0x2d; + undefined field43_0x2e; + undefined field44_0x2f; + undefined field45_0x30; + undefined field46_0x31; + undefined field47_0x32; + undefined field48_0x33; + undefined field49_0x34; + undefined field50_0x35; + undefined field51_0x36; + undefined field52_0x37; + undefined field53_0x38; + undefined field54_0x39; + undefined field55_0x3a; + undefined field56_0x3b; + undefined field57_0x3c; + undefined field58_0x3d; + undefined field59_0x3e; + undefined field60_0x3f; + undefined field61_0x40; + undefined field62_0x41; + undefined field63_0x42; + undefined field64_0x43; + undefined field65_0x44; + undefined field66_0x45; + undefined field67_0x46; + undefined field68_0x47; + undefined field69_0x48; + undefined field70_0x49; + undefined field71_0x4a; + undefined field72_0x4b; + undefined field73_0x4c; + undefined field74_0x4d; + undefined field75_0x4e; + undefined field76_0x4f; + undefined field77_0x50; + undefined field78_0x51; + undefined field79_0x52; + undefined field80_0x53; + byte field81_0x54; + undefined field82_0x55; + byte field83_0x56; + undefined field84_0x57; + undefined field85_0x58; + byte field86_0x59; + undefined field87_0x5a; + undefined field88_0x5b; + int field89_0x5c; + int field90_0x60; + undefined field91_0x64; + undefined field92_0x65; + undefined field93_0x66; + undefined field94_0x67; + undefined field95_0x68; + undefined field96_0x69; + undefined field97_0x6a; + undefined field98_0x6b; + int field99_0x6c; + int field100_0x70; + int field101_0x74; + int field102_0x78; + int field103_0x7c; + byte field104_0x80; + undefined field105_0x81; + undefined field106_0x82; + undefined field107_0x83; + undefined field108_0x84; + undefined field109_0x85; + undefined field110_0x86; + undefined field111_0x87; + undefined field112_0x88; + undefined field113_0x89; + undefined field114_0x8a; + undefined field115_0x8b; + undefined field116_0x8c; + undefined field117_0x8d; + undefined field118_0x8e; + undefined field119_0x8f; + undefined field120_0x90; + undefined field121_0x91; + undefined field122_0x92; + undefined field123_0x93; + undefined field124_0x94; + undefined field125_0x95; + undefined field126_0x96; + undefined field127_0x97; + undefined field128_0x98; + undefined field129_0x99; + undefined field130_0x9a; + undefined field131_0x9b; + undefined field132_0x9c; + undefined field133_0x9d; + undefined field134_0x9e; + undefined field135_0x9f; + undefined field136_0xa0; + undefined field137_0xa1; + undefined field138_0xa2; + undefined field139_0xa3; + undefined field140_0xa4; + undefined field141_0xa5; + undefined field142_0xa6; + undefined field143_0xa7; + undefined field144_0xa8; + undefined field145_0xa9; + undefined field146_0xaa; + undefined field147_0xab; + undefined field148_0xac; + undefined field149_0xad; + undefined field150_0xae; + undefined field151_0xaf; + undefined field152_0xb0; + undefined field153_0xb1; + undefined field154_0xb2; + undefined field155_0xb3; + undefined field156_0xb4; + undefined field157_0xb5; + undefined field158_0xb6; + undefined field159_0xb7; + undefined field160_0xb8; + undefined field161_0xb9; + undefined field162_0xba; + undefined field163_0xbb; + undefined field164_0xbc; + undefined field165_0xbd; + undefined field166_0xbe; + undefined field167_0xbf; + undefined field168_0xc0; + undefined field169_0xc1; + undefined field170_0xc2; + undefined field171_0xc3; + undefined field172_0xc4; + undefined field173_0xc5; + undefined field174_0xc6; + undefined field175_0xc7; + undefined field176_0xc8; + undefined field177_0xc9; + undefined field178_0xca; + undefined field179_0xcb; + undefined field180_0xcc; + undefined field181_0xcd; + undefined field182_0xce; + undefined field183_0xcf; + undefined field184_0xd0; + undefined field185_0xd1; + undefined field186_0xd2; + undefined field187_0xd3; + undefined field188_0xd4; + undefined field189_0xd5; + undefined field190_0xd6; + undefined field191_0xd7; + undefined field192_0xd8; + undefined field193_0xd9; + undefined field194_0xda; + undefined field195_0xdb; + undefined field196_0xdc; + undefined field197_0xdd; + undefined field198_0xde; + undefined field199_0xdf; + undefined field200_0xe0; + undefined field201_0xe1; + undefined field202_0xe2; + undefined field203_0xe3; + undefined field204_0xe4; + undefined field205_0xe5; + undefined field206_0xe6; + undefined field207_0xe7; + undefined field208_0xe8; + undefined field209_0xe9; + undefined field210_0xea; + undefined field211_0xeb; + undefined field212_0xec; + undefined field213_0xed; + undefined field214_0xee; + undefined field215_0xef; + undefined field216_0xf0; + undefined field217_0xf1; + undefined field218_0xf2; + undefined field219_0xf3; + undefined field220_0xf4; + undefined field221_0xf5; + undefined field222_0xf6; + undefined field223_0xf7; + undefined field224_0xf8; + undefined field225_0xf9; + undefined field226_0xfa; + undefined field227_0xfb; + undefined field228_0xfc; + undefined field229_0xfd; + undefined field230_0xfe; + undefined field231_0xff; + undefined field232_0x100; + undefined field233_0x101; + undefined field234_0x102; + undefined field235_0x103; + undefined field236_0x104; + undefined field237_0x105; + undefined field238_0x106; + undefined field239_0x107; + undefined field240_0x108; + undefined field241_0x109; + undefined field242_0x10a; + undefined field243_0x10b; + undefined field244_0x10c; + undefined field245_0x10d; + undefined field246_0x10e; + undefined field247_0x10f; + undefined field248_0x110; + undefined field249_0x111; + undefined field250_0x112; + undefined field251_0x113; + undefined field252_0x114; + undefined field253_0x115; + undefined field254_0x116; + undefined field255_0x117; + undefined field256_0x118; + undefined field257_0x119; + undefined field258_0x11a; + undefined field259_0x11b; + undefined field260_0x11c; + undefined field261_0x11d; + undefined field262_0x11e; + undefined field263_0x11f; + undefined field264_0x120; + undefined field265_0x121; + undefined field266_0x122; + undefined field267_0x123; +}; + +typedef struct IPT_tdstConvertValue_ IPT_tdstConvertValue_, *PIPT_tdstConvertValue_; + +struct IPT_tdstConvertValue_ { +}; + +typedef struct IPT_tdstEntryElement_ IPT_tdstEntryElement_, *PIPT_tdstEntryElement_; + +struct IPT_tdstEntryElement_ { + IPT_tdxHandleToEntryElement hNextBrotherDyn; + IPT_tdxHandleToEntryElement hPrevBrotherDyn; + struct LST2_tdstAnchorToIPT_tdxHandleToEntryElementDyn *hFatherDyn; + struct LST2_tdstAnchorToIPT_tdxHandleToKeyWordElementDyn hKeyWordList; + ulong ulNumberOfKeyWordElement; + struct IPT_tdstKeyWordElement_ *d_stKeyWordElementArray; + char *p_szActionName; + char *p_szEntryName; + long lState; + float xAnalogicValue; + uchar bIsActivate; +}; + +typedef struct IPT_tdstHistoricElement_ IPT_tdstHistoricElement_, *PIPT_tdstHistoricElement_; + +struct IPT_tdstHistoricElement_ { + uchar bf2State; + uchar bf6DeviceType; + uchar ucCounter; + short swDeviceValue; +}; + +typedef struct IPT_tdstInput_ IPT_tdstInput_, *PIPT_tdstInput_; + +struct IPT_tdstInput_ { + uchar ucOnePadActivate; + uchar p_ucValideAndActiveDevice[0]; + uchar p_ucKeyboardCounter[256]; + uchar p_ucPadAndJoyCounter[0][0]; + SCR_tdst_Link_Table stEntryLink; + SCR_tdst_Link_Table stCommandLink; + uchar ucKeyboardType; + ulong ulNumberOfEntryElement; + struct IPT_tdstEntryElement_ *d_stEntryElementArray; + struct LST2_tdstAnchorToIPT_tdxHandleToEntryElementDyn hEntryElement; + short sEventHistoricSize; + IPT_tdxHandleToHistoricElement hEventHistoric; +}; + +typedef struct IPT_tdstKeyAndPadDefine_ IPT_tdstKeyAndPadDefine_, *PIPT_tdstKeyAndPadDefine_; + +struct IPT_tdstKeyAndPadDefine_ { + ushort uwBasedKey; + char *p_szFrenchKey; + char *p_szAmericanKey; +}; + +typedef struct IPT_tdstKeyWordElement_ IPT_tdstKeyWordElement_, *PIPT_tdstKeyWordElement_; + +struct IPT_tdstKeyWordElement_ { + IPT_tdxHandleToKeyWordElement hNextBrotherDyn; + IPT_tdxHandleToKeyWordElement hPrevBrotherDyn; + struct LST2_tdstAnchorToIPT_tdxHandleToKeyWordElementDyn *hFatherDyn; + union tdu_KeyWordElementUnion_ u_ElementUnion; + uchar ucResult; + uchar ucMinCounterInput; + uchar ucMaxCounterInput; +}; + +typedef struct IPT_tdstScriptValue_ IPT_tdstScriptValue_, *PIPT_tdstScriptValue_; + +struct IPT_tdstScriptValue_ { +}; + +typedef struct levelFixStruct levelFixStruct, *PlevelFixStruct; + +struct levelFixStruct { + byte field0_0x0; /* stripped of usually */ + undefined field1_0x1; + undefined field2_0x2; + undefined field3_0x3; + undefined field4_0x4; + undefined field5_0x5; + undefined field6_0x6; + undefined field7_0x7; + undefined field8_0x8; + undefined field9_0x9; + undefined field10_0xa; + undefined field11_0xb; + int fixClass; + undefined field13_0x10; + undefined field14_0x11; + undefined field15_0x12; + undefined field16_0x13; + undefined field17_0x14; + undefined field18_0x15; + undefined field19_0x16; + undefined field20_0x17; + undefined field21_0x18; + undefined field22_0x19; + undefined field23_0x1a; + undefined field24_0x1b; + undefined field25_0x1c; + undefined field26_0x1d; + undefined field27_0x1e; + undefined field28_0x1f; + undefined field29_0x20; + undefined field30_0x21; + undefined field31_0x22; + undefined field32_0x23; + undefined field33_0x24; + undefined field34_0x25; + undefined field35_0x26; + undefined field36_0x27; + undefined field37_0x28; + undefined field38_0x29; + undefined field39_0x2a; + undefined field40_0x2b; + undefined field41_0x2c; + undefined field42_0x2d; + undefined field43_0x2e; + undefined field44_0x2f; + undefined field45_0x30; + undefined field46_0x31; + undefined field47_0x32; + undefined field48_0x33; + undefined field49_0x34; + undefined field50_0x35; + undefined field51_0x36; + undefined field52_0x37; + undefined field53_0x38; + undefined field54_0x39; + undefined field55_0x3a; + undefined field56_0x3b; + undefined field57_0x3c; + undefined field58_0x3d; + undefined field59_0x3e; + undefined field60_0x3f; + undefined field61_0x40; + undefined field62_0x41; + undefined field63_0x42; + undefined field64_0x43; + undefined4 field65_0x44; +}; + +typedef struct levelFixStructInner levelFixStructInner, *PlevelFixStructInner; + +struct levelFixStructInner { + undefined field0_0x0; + undefined field1_0x1; + undefined field2_0x2; + undefined field3_0x3; + undefined field4_0x4; + undefined field5_0x5; + undefined field6_0x6; + undefined field7_0x7; + undefined field8_0x8; + undefined field9_0x9; + undefined field10_0xa; + int fixClass; + undefined field12_0xf; + undefined field13_0x10; + undefined field14_0x11; + undefined field15_0x12; + undefined field16_0x13; + undefined field17_0x14; + undefined field18_0x15; + undefined field19_0x16; + undefined field20_0x17; + undefined field21_0x18; + undefined field22_0x19; + undefined field23_0x1a; + undefined field24_0x1b; + undefined field25_0x1c; + undefined field26_0x1d; + undefined field27_0x1e; + undefined field28_0x1f; + undefined field29_0x20; + undefined field30_0x21; + undefined field31_0x22; + undefined field32_0x23; + undefined field33_0x24; + undefined field34_0x25; + undefined field35_0x26; + undefined field36_0x27; + undefined field37_0x28; + undefined field38_0x29; + undefined field39_0x2a; + undefined field40_0x2b; + undefined field41_0x2c; + undefined field42_0x2d; + undefined field43_0x2e; + undefined field44_0x2f; + undefined field45_0x30; + undefined field46_0x31; + undefined field47_0x32; + undefined field48_0x33; + undefined field49_0x34; + undefined field50_0x35; + undefined field51_0x36; + undefined field52_0x37; + undefined field53_0x38; + undefined field54_0x39; + undefined field55_0x3a; + undefined field56_0x3b; + undefined field57_0x3c; + undefined field58_0x3d; + undefined field59_0x3e; + undefined field60_0x3f; + undefined field61_0x40; + undefined field62_0x41; + undefined field63_0x42; + undefined4 field64_0x43; +}; + +typedef struct LevelLoadState LevelLoadState, *PLevelLoadState; + +struct LevelLoadState { + undefined *ptrSized; /* len = size * 8 */ + dword ptrSize; +}; + +typedef struct LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn, *PLST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn; + +struct LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn { + struct FIL_FileNameListElement *hFirstElementDyn; + struct FIL_FileNameListElement *hLastElementDyn; + long lNumberOfElementsDyn; +}; + +typedef struct LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn, *PLST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn; + +struct LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn { + struct FIL_FileNameListElement *hFirstElementDyn; + struct FIL_FileNameListElement *hLastElementDyn; + long lNumberOfElementsDyn; +}; + +typedef struct LST2_tdstAnchorToGLI_tdstNodeCameraDyn LST2_tdstAnchorToGLI_tdstNodeCameraDyn, *PLST2_tdstAnchorToGLI_tdstNodeCameraDyn; + +struct LST2_tdstAnchorToGLI_tdstNodeCameraDyn { +}; + +typedef struct LST2_tdstAnchorToIPT_tdxHandleToEntryElementDyn LST2_tdstAnchorToIPT_tdxHandleToEntryElementDyn, *PLST2_tdstAnchorToIPT_tdxHandleToEntryElementDyn; + +struct LST2_tdstAnchorToIPT_tdxHandleToEntryElementDyn { + IPT_tdxHandleToEntryElement hFirstElementDyn; + IPT_tdxHandleToEntryElement hLastElementDyn; + long lNumberOfElementsDyn; +}; + +typedef struct LST2_tdstAnchorToIPT_tdxHandleToKeyWordElementDyn LST2_tdstAnchorToIPT_tdxHandleToKeyWordElementDyn, *PLST2_tdstAnchorToIPT_tdxHandleToKeyWordElementDyn; + +struct LST2_tdstAnchorToIPT_tdxHandleToKeyWordElementDyn { + IPT_tdxHandleToKeyWordElement hFirstElementDyn; + IPT_tdxHandleToKeyWordElement hLastElementDyn; + long lNumberOfElementsDyn; +}; + +typedef struct LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeDyn LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeDyn, *PLST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeDyn; + +struct LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeDyn { +}; + +typedef struct LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeSLk LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeSLk, *PLST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeSLk; + +struct LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeSLk { + MC_tdxHandleToMainCharacterNode hFirstElementSLk; + MC_tdxHandleToMainCharacterNode hLastElementSLk; + long lNumberOfElementsSLk; +}; + +typedef struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn, *PLST2_tdstAnchorTotdhHandleToObjectTypeElementDyn; + +struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn { + ObjectTypeElementHandle hFirstElementDyn; + ObjectTypeElementHandle hLastElementDyn; + long lNumberOfElementsDyn; +}; + +typedef struct LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeDyn LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeDyn, *PLST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeDyn; + +struct LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeDyn { +}; + +typedef struct LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeSLk LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeSLk, *PLST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeSLk; + +struct LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeSLk { + tdxHandleToAlwaysActiveCharacterNode hFirstElementSLk; + tdxHandleToAlwaysActiveCharacterNode hLastElementSLk; + long lNumberOfElementsSLk; +}; + +typedef struct LST2_tdstAnchorTotdxHandleToFamilyListDyn LST2_tdstAnchorTotdxHandleToFamilyListDyn, *PLST2_tdstAnchorTotdxHandleToFamilyListDyn; + +struct LST2_tdstAnchorTotdxHandleToFamilyListDyn { + tdxHandleToFamilyList hFirstElementDyn; + tdxHandleToFamilyList hLastElementDyn; + long lNumberOfElementsDyn; +}; + +typedef struct LST2_tdstAnchorTotdxHandleToNodeCameraDyn LST2_tdstAnchorTotdxHandleToNodeCameraDyn, *PLST2_tdstAnchorTotdxHandleToNodeCameraDyn; + +struct LST2_tdstAnchorTotdxHandleToNodeCameraDyn { +}; + +typedef struct LST2_tdstAnchorTotdxHandleToNodeCameraSLk LST2_tdstAnchorTotdxHandleToNodeCameraSLk, *PLST2_tdstAnchorTotdxHandleToNodeCameraSLk; + +struct LST2_tdstAnchorTotdxHandleToNodeCameraSLk { + struct NodeCamera *hFirstElementSLk; + struct NodeCamera *hLastElementSLk; + long lNumberOfElementsSLk; +}; + +typedef struct LST2_tdstAnchorTotdxHandleToObjectsTablesListSLk LST2_tdstAnchorTotdxHandleToObjectsTablesListSLk, *PLST2_tdstAnchorTotdxHandleToObjectsTablesListSLk; + +struct LST2_tdstAnchorTotdxHandleToObjectsTablesListSLk { + tdxHandleToObjectsTablesList hFirstElementSLk; + tdxHandleToObjectsTablesList hLastElementSLk; + long lNumberOfElementsSLk; +}; + +typedef struct LST2_tdstAnchorTotdxHandleToProhibitSLk LST2_tdstAnchorTotdxHandleToProhibitSLk, *PLST2_tdstAnchorTotdxHandleToProhibitSLk; + +struct LST2_tdstAnchorTotdxHandleToProhibitSLk { + tdxHandleToProhibit hFirstElementSLk; + tdxHandleToProhibit hLastElementSLk; + long lNumberOfElementsSLk; +}; + +typedef struct LST2_tdstAnchorTotdxHandleToStateSLk LST2_tdstAnchorTotdxHandleToStateSLk, *PLST2_tdstAnchorTotdxHandleToStateSLk; + +struct LST2_tdstAnchorTotdxHandleToStateSLk { + tdxHandleToState hFirstElementSLk; + tdxHandleToState hLastElementSLk; + long lNumberOfElementsSLk; +}; + +typedef struct LST2_tdstAnchorTotdxHandleToTransitionSLk LST2_tdstAnchorTotdxHandleToTransitionSLk, *PLST2_tdstAnchorTotdxHandleToTransitionSLk; + +struct LST2_tdstAnchorTotdxHandleToTransitionSLk { + tdxHandleToTransition hFirstElementSLk; + tdxHandleToTransition hLastElementSLk; + long lNumberOfElementsSLk; +}; + +typedef struct m7_init_struct m7_init_struct, *Pm7_init_struct; + +struct m7_init_struct { + dword threadSignal0; + dword threadSignal1; + byte field2_0x8; + byte field3_0x9; + byte field4_0xa; + byte field5_0xb; + byte field6_0xc; + byte field7_0xd; + byte field8_0xe; + byte field9_0xf; + byte field10_0x10; + byte field11_0x11; + undefined1 field12_0x12; + byte field13_0x13; + byte field14_0x14; + byte field15_0x15; + byte field16_0x16; + byte field17_0x17; + byte field18_0x18; +}; + +typedef struct mod1_ptrs mod1_ptrs, *Pmod1_ptrs; + +struct mod1_ptrs { + pointer field0_0x0; + pointer field1_0x4; + pointer field2_0x8; +}; + +typedef struct MTH3_Vector MTH3_Vector, *PMTH3_Vector; + +struct MTH3_Vector { + float xX; + float xY; + float xZ; +}; + +typedef struct MTH3D_Matrix MTH3D_Matrix, *PMTH3D_Matrix; + +struct MTH3D_Matrix { + struct MTH3_Vector stCol_0; + struct MTH3_Vector stCol_1; + struct MTH3_Vector stCol_2; +}; + +typedef struct NodeCamera NodeCamera, *PNodeCamera; + +struct NodeCamera { +}; + +typedef struct POS_stCompletePosition POS_stCompletePosition, *PPOS_stCompletePosition; + +struct POS_stCompletePosition { + ulong ulType; + struct MTH3_Vector stTranslationVector; + struct MTH3D_Matrix stRotationMatrix; + struct MTH3D_Matrix stTransformMatrix; +}; + +typedef struct r3_astruct_2 r3_astruct_2, *Pr3_astruct_2; + +struct r3_astruct_2 { + struct GLI_Camera *camera0; + float f1; + float f2; + float f3; + struct IDirect3DSurface8 *d3dSurface; +}; + +typedef struct r3_graphics_data r3_graphics_data, *Pr3_graphics_data; + +struct r3_graphics_data { + int field0_0x0; + int field1_0x4; + uint field2_0x8; + uint field3_0xc; + float field4_0x10; + float field5_0x14; + float field6_0x18; + int field7_0x1c; + float field8_0x20; + float field9_0x24; + float field10_0x28; + int field11_0x2c; + int field12_0x30; + int field13_0x34; + int field14_0x38; + undefined field15_0x3c; + undefined field16_0x3d; + undefined field17_0x3e; + undefined field18_0x3f; + int field19_0x40; + int field20_0x44; + int field21_0x48; + undefined field22_0x4c; + undefined field23_0x4d; + undefined field24_0x4e; + undefined field25_0x4f; + float field26_0x50; + float field27_0x54; + uint field28_0x58; + uint field29_0x5c; + uint field30_0x60; + struct IDirect3DVertexBuffer8 **field31_0x64; + undefined field32_0x68; + undefined field33_0x69; + undefined field34_0x6a; + undefined field35_0x6b; + int field36_0x6c; + int *field37_0x70; + float **field38_0x74; + int field39_0x78; + undefined field40_0x7c; + undefined field41_0x7d; + undefined field42_0x7e; + undefined field43_0x7f; + undefined field44_0x80; + undefined field45_0x81; + undefined field46_0x82; + undefined field47_0x83; + undefined field48_0x84; + undefined field49_0x85; + undefined field50_0x86; + undefined field51_0x87; + undefined field52_0x88; + undefined field53_0x89; + undefined field54_0x8a; + undefined field55_0x8b; + undefined field56_0x8c; + undefined field57_0x8d; + undefined field58_0x8e; + undefined field59_0x8f; + undefined field60_0x90; + undefined field61_0x91; + undefined field62_0x92; + undefined field63_0x93; + undefined field64_0x94; + undefined field65_0x95; + undefined field66_0x96; + undefined field67_0x97; + undefined field68_0x98; + undefined field69_0x99; + undefined field70_0x9a; + undefined field71_0x9b; + undefined field72_0x9c; + undefined field73_0x9d; + undefined field74_0x9e; + undefined field75_0x9f; + undefined field76_0xa0; + undefined field77_0xa1; + undefined field78_0xa2; + undefined field79_0xa3; + undefined field80_0xa4; + undefined field81_0xa5; + undefined field82_0xa6; + undefined field83_0xa7; + undefined field84_0xa8; + undefined field85_0xa9; + undefined field86_0xaa; + undefined field87_0xab; + undefined field88_0xac; + undefined field89_0xad; + undefined field90_0xae; + undefined field91_0xaf; + undefined field92_0xb0; + undefined field93_0xb1; + undefined field94_0xb2; + undefined field95_0xb3; + undefined field96_0xb4; + undefined field97_0xb5; + undefined field98_0xb6; + undefined field99_0xb7; + undefined field100_0xb8; + undefined field101_0xb9; + undefined field102_0xba; + undefined field103_0xbb; + undefined field104_0xbc; + undefined field105_0xbd; + undefined field106_0xbe; + undefined field107_0xbf; + undefined field108_0xc0; + undefined field109_0xc1; + undefined field110_0xc2; + undefined field111_0xc3; + undefined field112_0xc4; + undefined field113_0xc5; + undefined field114_0xc6; + undefined field115_0xc7; + undefined field116_0xc8; + undefined field117_0xc9; + undefined field118_0xca; + undefined field119_0xcb; + undefined field120_0xcc; + undefined field121_0xcd; + undefined field122_0xce; + undefined field123_0xcf; + undefined field124_0xd0; + undefined field125_0xd1; + undefined field126_0xd2; + undefined field127_0xd3; + undefined field128_0xd4; + undefined field129_0xd5; + undefined field130_0xd6; + undefined field131_0xd7; + undefined field132_0xd8; + undefined field133_0xd9; + undefined field134_0xda; + undefined field135_0xdb; + undefined field136_0xdc; + undefined field137_0xdd; + undefined field138_0xde; + undefined field139_0xdf; + undefined field140_0xe0; + undefined field141_0xe1; + undefined field142_0xe2; + undefined field143_0xe3; + undefined field144_0xe4; + undefined field145_0xe5; + undefined field146_0xe6; + undefined field147_0xe7; + undefined field148_0xe8; + undefined field149_0xe9; + undefined field150_0xea; + undefined field151_0xeb; + int numVertices; + int field153_0xf0; + int field154_0xf4; + struct IDirect3DVertexBuffer8 *baseVertexBuffer; + struct IDirect3DVertexBuffer8 *texVertexBufer; + struct IDirect3DIndexBuffer8 *indexBuffer; + float *lockedVertexBuffer; +}; + +typedef struct r3_main_data r3_main_data, *Pr3_main_data; + +struct r3_main_data { + bool field0_0x0; + bool field1_0x1; + char gameDataDir[260]; +}; + +typedef struct r3_math_interface r3_math_interface, *Pr3_math_interface; + +struct r3_math_interface { + undefined *field0_0x0; + undefined *field1_0x4; + undefined *field2_0x8; + undefined *field3_0xc; + undefined *float4x4_mul; + undefined *field5_0x14; + undefined *field6_0x18; + void (*float3_normalize)(struct Float3 *, struct Float3 *); + undefined *float4_normalize; + undefined *float2_transformXZ; + undefined *field10_0x28; + undefined *field11_0x2c; + undefined field12_0x30; + undefined field13_0x31; + undefined field14_0x32; + undefined field15_0x33; + undefined *field16_0x34; + undefined field17_0x38; + undefined field18_0x39; + undefined field19_0x3a; + undefined field20_0x3b; + undefined field21_0x3c; + undefined field22_0x3d; + undefined field23_0x3e; + undefined field24_0x3f; + undefined *field25_0x40; + undefined *field26_0x44; + undefined *field27_0x48; + undefined *field28_0x4c; + undefined *field29_0x50; + undefined *field30_0x54; + undefined *field31_0x58; + undefined field32_0x5c; + undefined field33_0x5d; + undefined field34_0x5e; + undefined field35_0x5f; + undefined *field36_0x60; + undefined *field37_0x64; + undefined field38_0x68; + undefined field39_0x69; + undefined field40_0x6a; + undefined field41_0x6b; + undefined *field42_0x6c; + undefined *field43_0x70; + undefined field44_0x74; + undefined field45_0x75; + undefined field46_0x76; + undefined field47_0x77; + undefined *field48_0x78; + undefined *field49_0x7c; + undefined field50_0x80; + undefined field51_0x81; + undefined field52_0x82; + undefined field53_0x83; + undefined field54_0x84; + undefined field55_0x85; + undefined field56_0x86; + undefined field57_0x87; + undefined field58_0x88; + undefined field59_0x89; + undefined field60_0x8a; + undefined field61_0x8b; + undefined field62_0x8c; + undefined field63_0x8d; + undefined field64_0x8e; + undefined field65_0x8f; + undefined field66_0x90; + undefined field67_0x91; + undefined field68_0x92; + undefined field69_0x93; + undefined field70_0x94; + undefined field71_0x95; + undefined field72_0x96; + undefined field73_0x97; + undefined field74_0x98; + undefined field75_0x99; + undefined field76_0x9a; + undefined field77_0x9b; + undefined field78_0x9c; + undefined field79_0x9d; + undefined field80_0x9e; + undefined field81_0x9f; + undefined field82_0xa0; + undefined field83_0xa1; + undefined field84_0xa2; + undefined field85_0xa3; + undefined field86_0xa4; + undefined field87_0xa5; + undefined field88_0xa6; + undefined field89_0xa7; + undefined field90_0xa8; + undefined field91_0xa9; + undefined field92_0xaa; + undefined field93_0xab; + undefined field94_0xac; + undefined field95_0xad; + undefined field96_0xae; + undefined field97_0xaf; + undefined field98_0xb0; + undefined field99_0xb1; + undefined field100_0xb2; + undefined field101_0xb3; + undefined field102_0xb4; + undefined field103_0xb5; + undefined field104_0xb6; + undefined field105_0xb7; + undefined field106_0xb8; + undefined field107_0xb9; + undefined field108_0xba; + undefined field109_0xbb; + undefined *field110_0xbc; + undefined *field111_0xc0; + undefined *field112_0xc4; + undefined *field113_0xc8; + undefined *field114_0xcc; + undefined *field115_0xd0; + undefined *field116_0xd4; + undefined *field117_0xd8; +}; + +typedef struct r3_TaggedFloatUnk r3_TaggedFloatUnk, *Pr3_TaggedFloatUnk; + +struct r3_TaggedFloatUnk { + uint32_t type; + struct Float4x4 mat0; + struct Float4 unk; +}; + +typedef struct SCR_tdst_DyAr_Description_ SCR_tdst_DyAr_Description_, *PSCR_tdst_DyAr_Description_; + +struct SCR_tdst_DyAr_Description_ { + SCR_tdst_DyAr_Element *d_stDynArray; + uint uiNumValues; + uint uiMaxValues; +}; + +typedef struct SCR_tdst_DyAr_Element_ SCR_tdst_DyAr_Element_, *PSCR_tdst_DyAr_Element_; + +struct SCR_tdst_DyAr_Element_ { + void *d_vElement; + enum SCR_tde_DyAr_State eState; +}; + +typedef struct SCR_tdst_DyAr_Header_ SCR_tdst_DyAr_Header_, *PSCR_tdst_DyAr_Header_; + +struct SCR_tdst_DyAr_Header_ { + uint uiIndexInArray; + uchar ucMemLevel; +}; + +typedef struct SCR_tdst_Link_AdditionalInfos_ SCR_tdst_Link_AdditionalInfos_, *PSCR_tdst_Link_AdditionalInfos_; + +struct SCR_tdst_Link_AdditionalInfos_ { + ulong ulLong1; + ulong ulLong2; + ulong ulLong3; + ulong ulLong4; +}; + +typedef struct SCR_tdst_Link_Table_ SCR_tdst_Link_Table_, *PSCR_tdst_Link_Table_; + +struct SCR_tdst_Link_Table_ { + SCR_tdst_DyAr_Header stHeader; + SCR_tdst_DyAr_Description stLinkArray; + SCR_tda_st_Hash_Table a_stHashTableForValues; + SCR_tda_st_Hash_Table a_stHashTableForKeys; +}; + +typedef struct SCR_tdst_Link_Value_ SCR_tdst_Link_Value_, *PSCR_tdst_Link_Value_; + +struct SCR_tdst_Link_Value_ { + SCR_tdst_DyAr_Header stHeader; + char *p_szKey; + ulong ulValue; + SCR_tdx_Hash_Key xHashKeyForKey; + uint uiIndexHashKeyKey; + SCR_tdx_Hash_Key xHashKeyForValue; + uint uiIndexHashKeyValue; + SCR_tde_Link_State eState; + SCR_tdst_Link_AdditionalInfos stInfos; +}; + +typedef struct SND_astruct_4 SND_astruct_4, *PSND_astruct_4; + +struct SND_astruct_4 { + int *field0_0x0; + struct SND_astruct_4 *next; + int *field2_0x8; + int *field3_0xc; + int *field4_0x10; + int *callback; /* callback? */ + int *field6_0x18; + int *field7_0x1c; +}; + +typedef struct SND_Request3 SND_Request3, *PSND_Request3; + +struct SND_Request3 { + undefined4 g_sndReq0; + undefined4 g_sndReq1; + undefined4 g_sndReq2; +}; + +typedef struct stAxisCaps stAxisCaps, *PstAxisCaps; + +struct stAxisCaps { + long m_lCenter; + long m_lRange; + long m_lThreshold; +}; + +typedef struct stDevCaps stDevCaps, *PstDevCaps; + +struct stDevCaps { + uchar m_ucNbButtons; + ulong m_ulCapsFlags; +}; + +typedef struct stDevState stDevState, *PstDevState; + +struct stDevState { + uchar m_ucStatus; +}; + +typedef struct tdst_inputAction tdst_inputAction, *Ptdst_inputAction; + +struct tdst_inputAction { + undefined field0_0x0; + undefined field1_0x1; + undefined field2_0x2; + undefined field3_0x3; + undefined field4_0x4; + undefined field5_0x5; + undefined field6_0x6; + undefined field7_0x7; + undefined field8_0x8; + undefined field9_0x9; + undefined field10_0xa; + undefined field11_0xb; + undefined field12_0xc; + undefined field13_0xd; + undefined field14_0xe; + undefined field15_0xf; + int validated; +}; + +typedef struct tdstAChannel_ tdstAChannel_, *PtdstAChannel_; + +struct tdstAChannel_ { +}; + +typedef struct tdstAlwaysActiveCharacter_ tdstAlwaysActiveCharacter_, *PtdstAlwaysActiveCharacter_; + +struct tdstAlwaysActiveCharacter_ { +}; + +typedef struct tdstAlwaysModelList_ tdstAlwaysModelList_, *PtdstAlwaysModelList_; + +struct tdstAlwaysModelList_ { +}; + +typedef struct tdstAviHeader_ tdstAviHeader_, *PtdstAviHeader_; + +struct tdstAviHeader_ { + uchar ucRIFFMark[4]; + long lLength; + uchar ucAVIMark[4]; +}; + +typedef struct tdstBlockInfo_ tdstBlockInfo_, *PtdstBlockInfo_; + +struct tdstBlockInfo_ { + char *p_cBeginBlock; + char *p_cEndBlock; + char *p_cFirstFree; + char *p_cMaxMem; +}; + +typedef struct tdstBlockInfoPriv tdstBlockInfoPriv, *PtdstBlockInfoPriv; + +struct tdstBlockInfoPriv { + char *p_cBeginBlock; + char *p_cEndBlock; + char *p_cFirstFree; + char *p_cMaxMem; +}; + +typedef struct tdstBubbleEffect_ tdstBubbleEffect_, *PtdstBubbleEffect_; + +struct tdstBubbleEffect_ { +}; + +typedef struct tdstChannelActivationStateList_ tdstChannelActivationStateList_, *PtdstChannelActivationStateList_; + +struct tdstChannelActivationStateList_ { +}; + +typedef struct tdstChannelInfo_ tdstChannelInfo_, *PtdstChannelInfo_; + +struct tdstChannelInfo_ { + ulong ulThreadId; + uchar ucGroupId; +}; + +typedef struct tdstChunkHeader_ tdstChunkHeader_, *PtdstChunkHeader_; + +struct tdstChunkHeader_ { + uchar ucChunkMark[4]; + long lChunkLength; +}; + +typedef struct tdstCsaList_ tdstCsaList_, *PtdstCsaList_; + +struct tdstCsaList_ { +}; + +typedef struct tdstCurrentModeInfo tdstCurrentModeInfo, *PtdstCurrentModeInfo; + +struct tdstCurrentModeInfo { + uchar ucModuleId; + uchar ucMode; + void *p_vTdstBlockInfoOrTdstDynInfo; +}; + +typedef struct tdstFamilyList_ tdstFamilyList_, *PtdstFamilyList_; + +struct tdstFamilyList_ { +}; + +typedef struct tdstFootPath_ tdstFootPath_, *PtdstFootPath_; + +struct tdstFootPath_ { +}; + +typedef struct tdstGeneralChannelsInfo_ tdstGeneralChannelsInfo_, *PtdstGeneralChannelsInfo_; + +struct tdstGeneralChannelsInfo_ { + uchar ucNbchannelUsed; + uchar ucMAxNbChannel; + tdstChannelInfo *d_stTabChannelInfo; +}; + +typedef struct tdstInformationHeaderOfBlockWithoutFree_ tdstInformationHeaderOfBlockWithoutFree_, *PtdstInformationHeaderOfBlockWithoutFree_; + +struct tdstInformationHeaderOfBlockWithoutFree_ { + uchar ucBoundededHeaderSize; + uchar ucAlignment; + uchar ucMode; +}; + +typedef struct tdstLastErrorInfo tdstLastErrorInfo, *PtdstLastErrorInfo; + +struct tdstLastErrorInfo { + word lastErr; + char ucLastFailedModuleId; + dword ulChannelId; +}; + +typedef struct tdstLipsSynchroTable_ tdstLipsSynchroTable_, *PtdstLipsSynchroTable_; + +struct tdstLipsSynchroTable_ { +}; + +typedef struct tdstMorphChannelList_ tdstMorphChannelList_, *PtdstMorphChannelList_; + +struct tdstMorphChannelList_ { +}; + +typedef struct tdstNodeMainCharacter_ tdstNodeMainCharacter_, *PtdstNodeMainCharacter_; + +struct tdstNodeMainCharacter_ { +}; + +typedef struct tdstObjectsTableElement_ tdstObjectsTableElement_, *PtdstObjectsTableElement_; + +struct tdstObjectsTableElement_ { +}; + +typedef struct tdstObjectsTablesList_ tdstObjectsTablesList_, *PtdstObjectsTablesList_; + +struct tdstObjectsTablesList_ { +}; + +typedef struct tdstObjectType_ tdstObjectType_, *PtdstObjectType_; + +struct tdstObjectType_ { + struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn hFamilyType; + struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn hModelType; + struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn hPersonalType; +}; + +typedef struct tdstObjectTypeElement_ tdstObjectTypeElement_, *PtdstObjectTypeElement_; + +struct tdstObjectTypeElement_ { + ObjectTypeElementHandle hNextBrotherDyn; + ObjectTypeElementHandle hPrevBrotherDyn; + struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn *hFatherDyn; + char *szName; + uchar ucElementPriority; +}; + +typedef struct tdstParticleGenerator_ tdstParticleGenerator_, *PtdstParticleGenerator_; + +struct tdstParticleGenerator_ { +}; + +typedef struct tdstPLA_Hierarchy_ tdstPLA_Hierarchy_, *PtdstPLA_Hierarchy_; + +struct tdstPLA_Hierarchy_ { + ulong ulNbOfCouples; + struct Couple *d_stCouples; +}; + +typedef struct tdstProhibit_ tdstProhibit_, *PtdstProhibit_; + +struct tdstProhibit_ { +}; + +typedef struct tdstSndBankDescriptorList_ tdstSndBankDescriptorList_, *PtdstSndBankDescriptorList_; + +struct tdstSndBankDescriptorList_ { +}; + +typedef struct tdstState_ tdstState_, *PtdstState_; + +struct tdstState_ { +}; + +typedef struct tdstStructureHandleFunction tdstStructureHandleFunction, *PtdstStructureHandleFunction; + +struct tdstStructureHandleFunction { + tdfn_vCopyCloneMSFunction *p_fn_vCopyCloneMSFunction; + tdfn_ulSizeofHandleFunction *p_fn_ulSizeOfFunction; + tdfn_vAllocHandleFunction *p_fn_vAllocFunction; + tdfn_vAllocHandleFunction *p_fn_vFreeFunction; + tdfn_vInitHandleFunction *p_fn_vInitFunction; + tdfn_vInitHandleFunction *p_fn_vDesinitFunction; +}; + +typedef struct tdstSubAnim3d_ tdstSubAnim3d_, *PtdstSubAnim3d_; + +struct tdstSubAnim3d_ { + uchar ucCurrentFrame; + uchar ucRepeatAnimation; + uchar ucElement; + struct tdstState_ *p_stCurrentState; +}; + +typedef struct tdstTimerCount tdstTimerCount, *PtdstTimerCount; + +struct tdstTimerCount { + ulong ulLowPart; + ulong ulHighPart; +}; + +typedef struct tdstTransition_ tdstTransition_, *PtdstTransition_; + +struct tdstTransition_ { +}; + +typedef struct tdstViewportManagement_ tdstViewportManagement_, *PtdstViewportManagement_; + +struct tdstViewportManagement_ { +}; + +typedef struct tdstWaterStreakEffect_ tdstWaterStreakEffect_, *PtdstWaterStreakEffect_; + +struct tdstWaterStreakEffect_ { +}; + +typedef struct tdstZdxList_ tdstZdxList_, *PtdstZdxList_; + +struct tdstZdxList_ { +}; + +typedef struct tdstZoneSetList_ tdstZoneSetList_, *PtdstZoneSetList_; + +struct tdstZoneSetList_ { +}; + +typedef struct TMR_tdstEngineTimerStructure TMR_tdstEngineTimerStructure, *PTMR_tdstEngineTimerStructure; + +struct TMR_tdstEngineTimerStructure { + ulong ulFrameNumber; + ushort wTimerHandle; + ulong ulCurrentTimerCount; + ulong ulDeltaTimerCount; + ulong a_ulCounter[16]; + ulong ulUsefulDeltaTime; + ulong ulPauseTime; + float xFrameLength; + struct TMR_tdstTimerCount stRealTimeCount; + struct TMR_tdstTimerCount stPauseTime; + ulong ulTickPerMs; +}; + +typedef struct TMR_tdstTimerCount TMR_tdstTimerCount, *PTMR_tdstTimerCount; + +struct TMR_tdstTimerCount { + ulong ulLowPart; + ulong ulHighPart; +}; + +typedef struct TMR_tdstTimerCount TMR_tdstTimerCount, *PTMR_tdstTimerCount; + +struct TMR_tdstTimerCount { + ulong ulLowPart; + ulong ulHighPart; +}; + +typedef struct windowInnerParams windowInnerParams, *PwindowInnerParams; + +struct windowInnerParams { + undefined4 field0_0x0; + undefined field1_0x4; + undefined field2_0x5; + undefined field3_0x6; + undefined field4_0x7; + undefined field5_0x8; + undefined field6_0x9; + undefined field7_0xa; + undefined field8_0xb; + undefined field9_0xc; + undefined field10_0xd; + undefined field11_0xe; + undefined field12_0xf; + undefined field13_0x10; + undefined field14_0x11; + undefined field15_0x12; + undefined field16_0x13; + undefined field17_0x14; + undefined field18_0x15; + undefined field19_0x16; + undefined field20_0x17; + undefined field21_0x18; + undefined field22_0x19; + undefined field23_0x1a; + undefined field24_0x1b; + undefined field25_0x1c; +}; + +typedef struct windowInnerUnkParams windowInnerUnkParams, *PwindowInnerUnkParams; + +struct windowInnerUnkParams { + int field0_0x0; /* Init equal to field_0x8 */ + int field1_0x4; /* Init equal to field_0xc */ + int field2_0x8; + int field3_0xc; + undefined4 field4_0x10; + int field5_0x14; + undefined4 field6_0x18; + int field7_0x1c; + int field8_0x20; + uint field9_0x24; + int field10_0x28; + uint field11_0x2c; + int unk2_100; + int unk3_100; + int field14_0x38; + int field15_0x3c; + int field16_0x40; + int field17_0x44; + int unk5_0; + int unk1_1000; /* width? */ + int unk4_0; + int unk0_1000; /* height? */ + int unk6_0; + int unk7_0; + undefined4 unk1_0; + uint unk_ffffffff; + undefined *unk0_0; /* set from r3_wndUnk1 */ + undefined field27_0x6c; + undefined field28_0x6d; + undefined field29_0x6e; + undefined field30_0x6f; +}; + +typedef ulong ACP_tdxAddress; + +typedef uchar ACP_tdxBool; + +typedef short ACP_tdxIndex; + +typedef struct tdstAlwaysModelList_ *ALW_tdxHandleToModelList; + +typedef struct tdstChannelActivationStateList_ *CHN_tdxHandleToCASElement; + +typedef struct tdstAChannel_ *CHN_tdxHandleToChannel; + +typedef struct tdstMorphChannelList_ *CHN_tdxHandleToMorphElement; + +typedef GUID CLSID; + +typedef dword color_rgba8_t; + +typedef struct _ExtraSoundParam ExtraSoundParam; + +typedef struct FIL_ConcatFile *FIL_HandleToConcatFile; + +typedef GUID FMTID; + +typedef struct _s_FuncInfo FuncInfo; + +typedef struct tdstBubbleEffect_ *GAM_tdxHandleToBubbleEffect; + +typedef struct tdstFootPath_ *GAM_tdxHandleToFootPathEffect; + +typedef struct tdstWaterStreakEffect_ *GAM_tdxHandleToWaterStreakEffect; + +typedef float GEO_tdxColorValue; + +typedef void *GEO_tdxHandleToRadiosity; + +typedef short GLD_DeviceHandle; + +typedef struct GLD_stViewport *GLD_tdpstViewport; + +typedef struct GLD_Viewport GLD_tdstViewport; + +typedef float GLD_tdxValue; + +typedef short GLD_ViewportHandle; + +typedef float GLI_tdxValue; + +typedef void *GMT_tdxHandleToGameMaterial; + +typedef struct _GUID GUID; + +typedef struct _s_HandlerType HandlerType; + +typedef GUID IID; + +typedef struct INO_Device *INO_DeviceHandle; + +typedef short (*INO_fn_wMethod)(undefined); + +typedef struct stAxisCaps INO_tdstAxisCaps; + +typedef struct stDevCaps INO_tdstDevCaps; + +typedef struct stDevState INO_tdstDevState; + +typedef unsigned char uchar; +typedef struct IPT_tdstKeyWordElement_ *IPT_tdxHandleToKeyWordElement; + +typedef uchar (IPT_tdfn_bIsKeyWordValid)(IPT_tdxHandleToKeyWordElement); + +typedef struct IPT_tdstEntryElement_ IPT_tdstEntryElement; + +typedef struct IPT_tdstHistoricElement_ IPT_tdstHistoricElement; + +typedef struct IPT_tdstInput_ IPT_tdstInput; + +typedef struct IPT_tdstKeyAndPadDefine_ IPT_tdstKeyAndPadDefine; + +typedef struct IPT_tdstKeyWordElement_ IPT_tdstKeyWordElement; + +typedef struct IPT_tdstEntryElement_ *IPT_tdxHandleToEntryElement; + +typedef struct IPT_tdstHistoricElement_ *IPT_tdxHandleToHistoricElement; + +typedef struct IPT_tdstInput_ *IPT_tdxHandleToInput; + +typedef struct IPT_tdstScriptValue_ *IPT_tdxHandleToScriptValue; + +typedef GUID *LPCGUID; + +typedef CLSID *LPCLSID; + +typedef FMTID *LPFMTID; + +typedef GUID *LPGUID; + +typedef IID *LPIID; + +typedef struct tdstNodeMainCharacter_ *MC_tdxHandleToMainCharacterNode; + +typedef struct _MicroLink MicroLink; + +typedef struct _MicroParam MicroParam; + +typedef void *MS_tdxHandleTo3dData; + +typedef void *MS_tdxHandleToAnimEffect; + +typedef void *MS_tdxHandleToCineinfo; + +typedef void *MS_tdxHandleToCollSet; + +typedef void *MS_tdxHandleToDynam; + +typedef void *MS_tdxHandleToMicro; + +typedef void *MS_tdxHandleToMSLight; + +typedef void *MS_tdxHandleToMSMagnet; + +typedef void *MS_tdxHandleToMSPrtSrc; + +typedef void *MS_tdxHandleToMSSound; + +typedef void *MS_tdxHandleToMSWay; + +typedef void *MS_tdxHandleToSectInfo; + +typedef void *MS_tdxHandleToStandardGame; + +typedef struct tdstObjectTypeElement_ *ObjectTypeElementHandle; + +typedef struct POS_stCompletePosition *POS_tdxHandleToPosition; + +typedef struct levelFixStruct *relPtr; + +typedef struct _RollOffParam RollOffParam; + +typedef struct _SampleParam SampleParam; + +typedef SCR_tdst_DyAr_Description SCR_tda_st_Hash_Table[256]; + +typedef enum SCR_tde_Link_State_ SCR_tde_Link_State; + +typedef struct SCR_tdst_DyAr_Description_ SCR_tdst_DyAr_Description; + +typedef struct SCR_tdst_DyAr_Element_ SCR_tdst_DyAr_Element; + +typedef struct SCR_tdst_DyAr_Header_ SCR_tdst_DyAr_Header; + +typedef struct SCR_tdst_Link_AdditionalInfos_ SCR_tdst_Link_AdditionalInfos; + +typedef struct SCR_tdst_Link_Table_ SCR_tdst_Link_Table; + +typedef struct SCR_tdst_Link_Value_ SCR_tdst_Link_Value; + +typedef uint SCR_tdx_Hash_Key; + +typedef long SND_FileAsyncHandle; + +typedef HANDLE SND_FileHandle; + +typedef struct _SND_tdstBlockEvent SND_tdstBlockEvent; + +typedef struct _SND_tdstCallback SND_tdstCallback; + +typedef struct _SND_tdstFormat SND_tdstFormat; + +typedef struct _SND_tdstStackBuffer SND_tdstStackBuffer; + +typedef union _SND_tduRefEvt SND_tduRefEvt; + +typedef enum _SND_tdstTypeCallback SND_tduTypeCallback; + +typedef struct _SND_tdstBlockEvent *SND_tdxHandleToSoundEvent; + +typedef long SND_tdxHandleToSoundInfo; + +typedef struct _virtual_module *SND_VirtualModuleHandle; + +typedef long SndReal; + +typedef long SndRealTwin; + +typedef struct _SndVector SndVector; + +typedef struct _SoundParam SoundParam; + +typedef struct _SwitchParam SwitchParam; + +typedef void (td_fn_vTimerEventCallback)(void); + +typedef td_fn_vTimerEventCallback *td_p_fn_vTimerEventCallback; + +typedef int SndBool; + +typedef SndBool (*td_pfn_bRetChannelAbsCoord)(long, long); + +typedef SndBool (*td_pfn_bRetChannelActive)(long, long); + + + +/* Unable to write datatype. Type unrecognized: class ghidra.program.database.data.PointerDB */ + +typedef SndBool (*td_pfn_bRetRollOffFactor)(long, RollOffParam *); + +typedef SndBool (*td_pfn_bRetSoundLink)(long, long); + +typedef long (*td_pfn_lRetSoundLong)(long); + +typedef SND_tdxHandleToSoundInfo (*td_pfn_lRetSoundSwitch)(long, long); + +typedef SndReal (*td_pfn_rRetChannelCoord)(long, long); + +typedef SndReal (*td_pfn_rRetSoundCoord)(long); + +typedef uchar (*td_pfn_ucRetSoundMidi)(long); + +typedef void (*td_pfn_vBufferClientPoped)(long, long); + + + +/* Unable to write datatype. Type unrecognized: class ghidra.program.database.data.PointerDB */ + +typedef void (*td_pfn_vCopyString)(long, char *, long); + +typedef unsigned long ulong; + + +/* Unable to write datatype. Type unrecognized: class ghidra.program.database.data.PointerDB */ + +typedef void (*td_pfn_vRefreshBufferClient)(long, ulong, ulong, void *); + + + +/* Unable to write datatype. Type unrecognized: class ghidra.program.database.data.PointerDB */ + +typedef void (*td_pfn_vRetSoundExtraCoef)(long, SND_tduRefEvt, SndReal *, SndReal *, SndReal *); + + + +/* Unable to write datatype. Type unrecognized: class ghidra.program.database.data.PointerDB */ + +typedef void (*td_pfn_vRetSoundVector)(long, SndVector *); + +typedef enum tdeObjectTreeInit_ tdeObjectTreeInit; + +typedef enum enum_2474 tdeTypeZip; + +typedef ulong (tdfn_ulSizeofHandleFunction)(void); + + + +/* Unable to write datatype. Type unrecognized: class ghidra.program.database.data.PointerDB */ + +typedef void (tdfn_vAllocHandleFunction)(struct EngineObject *); + +typedef void (tdfn_vCopyCloneMSFunction)(struct EngineObject *, struct EngineObject *); + +enum tdeObjectTreeInit_ { + OTI_WhenGameStart=0, + OTI_MapLoaded=1, + OTI_ReinitTheMap=2, + OTI_LoadSavedGame=3, + OTI_PlayerDead=4, + OTI_WhenGoOutOfZone=5, + OTI_Always=6, + OTI_AlwaysCreated=7 +}; + +typedef void (tdfn_vInitHandleFunction)(struct EngineObject *, enum tdeObjectTreeInit_); + +typedef char * (*tdpfnResNameCallback)(ulong); + +typedef struct _tdstAllRetChannelSound tdstAllRetChannelSound; + +typedef struct _tdstAllRetMicroSound tdstAllRetMicroSound; + +typedef struct _tdstAllRetObjectSound tdstAllRetObjectSound; + +typedef struct tdstAviHeader_ tdstAviHeader; + +typedef struct tdstBlockInfo_ tdstBlockInfo; + +typedef struct _tdstBlockResourceDisk tdstBlockResourceDisk; + +typedef struct _tdstBlockResourceMem tdstBlockResourceMem; + +typedef struct tdstChannelInfo_ tdstChannelInfo; + +typedef struct tdstChunkHeader_ tdstChunkHeader; + +typedef struct EngineObject tdstEngineObject; + +typedef struct _tdstFormatPCM tdstFormatADPCM; + +typedef struct _tdstFormatPCM tdstFormatMPEG; + +typedef struct _tdstFormatPCM tdstFormatPCM; + +typedef struct tdstInformationHeaderOfBlockWithoutFree_ tdstInformationHeaderOfBlockWithoutFree; + +typedef struct _tdstInfoTrackDisk tdstInfoTrackDisk; + +typedef struct _tdstInfoTrackList tdstInfoTrackList; + +typedef struct _tdstInfoTrackMem tdstInfoTrackMem; + +typedef struct tdstLastErrorInfo *tdstLastErrorInfo_ptr_2_char; + +typedef struct tdstLastErrorInfo *tdstLastErrorInfo_ptr_4_char; + +typedef struct tdstLastErrorInfo *tdstLastErrorInfo_ptr_4_dword; + +typedef struct _tdstMidiMemory tdstMidiMemory; + +typedef struct _tdstMidiStreaming tdstMidiStreaming; + +typedef struct stMorphData tdstMorphData; + +typedef struct tdstObjectType_ tdstObjectType; + +typedef struct tdstObjectTypeElement_ tdstObjectTypeElement; + +typedef struct tdstPLA_Hierarchy_ tdstPLA_Hierarchy; + +typedef struct _tdstRandomElement tdstRandomElement; + +typedef struct _tdstRangeSplitDisk tdstRangeSplitDisk; + +typedef struct _tdstRangeSplitListDisk tdstRangeSplitListDisk; + +typedef struct _tdstRangeSplitListMem tdstRangeSplitListMem; + +typedef struct _tdstRangeSplitMem tdstRangeSplitMem; + +typedef struct _tdstRefRes tdstRefRes; + +typedef struct _tdstRefResList tdstRefResList; + +typedef struct _tdstSampleMemory tdstSampleMemory; + +typedef struct _tdstSampleStreaming tdstSampleStreaming; + +typedef struct _tdstSndBankDescriptor tdstSndBankDescriptor; + +typedef struct tdstSndBankDescriptorList_ tdstSndBankDescriptorList; + +typedef struct _tdstSndBankHead tdstSndBankHead; + +typedef struct _tdstSndBankHeader tdstSndBankHeader; + +typedef struct _tdstSndPolyEvent tdstSndPolyEvent; + +typedef struct _tdstSndPolyResource tdstSndPolyResource; + +typedef struct tdstSubAnim3d_ tdstSubAnim3d; + +typedef struct _tdstSwitchElement tdstSwitchElement; + +typedef struct _tdstSwitchList tdstSwitchList; + +typedef struct _tdstThemeBridge tdstThemeBridge; + +typedef struct _tdstThemePart tdstThemePart; + +typedef struct _tdstThemePartOutro tdstThemePartOutro; + +typedef struct _tdstTimer tdstTimer; + +typedef struct _tdstTypeCD tdstTypeCD; + +typedef struct _tdstTypeMidiDisk tdstTypeMidiDisk; + +typedef struct _tdstTypeMidiMem tdstTypeMidiMem; + +typedef struct _tdstTypeRandomDisk tdstTypeRandomDisk; + +typedef struct _tdstTypeRandomMem tdstTypeRandomMem; + +typedef struct _tdstTypeSampleDisk tdstTypeSampleDisk; + +typedef struct _tdstTypeSampleMem tdstTypeSampleMem; + +typedef struct _tdstTypeSequenceDisk tdstTypeSequenceDisk; + +typedef struct _tdstTypeSequenceMem tdstTypeSequenceMem; + +typedef struct _tdstTypeSplitDisk tdstTypeSplitDisk; + +typedef struct _tdstTypeSplitMem tdstTypeSplitMem; + +typedef struct _tdstTypeSwitchDisk tdstTypeSwitchDisk; + +typedef struct _tdstTypeSwitchMem tdstTypeSwitchMem; + +typedef struct _tdstTypeThemeDisk tdstTypeThemeDisk; + +typedef struct _tdstTypeThemeMem tdstTypeThemeMem; + +typedef union _tduBlockResource tduBlockResource; + +typedef union _tduDataMidi tduDataMidi; + +typedef union _tduDataSample tduDataSample; + +typedef union _tduRefRes tduRefRes; + +typedef union _tduResDisk tduResDisk; + +typedef union _tduResMem tduResMem; + +typedef struct tdstLipsSynchroTable_ *tdxHandleOfLipsSynchroTable; + +typedef struct tdstAlwaysActiveCharacter_ *tdxHandleToAlwaysActiveCharacterNode; + +typedef struct tdstFamilyList_ *tdxHandleToFamilyList; + +typedef struct tdstObjectsTableElement_ *tdxHandleToObjectsTableElement; + +typedef struct tdstObjectsTablesList_ *tdxHandleToObjectsTablesList; + +typedef struct tdstParticleGenerator_ *tdxHandleToParticleGenerator; + +typedef struct tdstProhibit_ *tdxHandleToProhibit; + +typedef struct tdstState_ *tdxHandleToState; + +typedef struct tdstTransition_ *tdxHandleToTransition; + +typedef struct tdstViewportManagement_ *tdxHandleToViewportManagement; + +typedef void *tdxHandleToVoid; + +typedef struct _s_TryBlockMapEntry TryBlockMapEntry; + +typedef struct _s_UnwindMapEntry UnwindMapEntry; + +typedef struct tdstCsaList_ *ZDX_tdxHandleToCsaList; + +typedef struct tdstZdxList_ *ZDX_tdxHandleToZdxList; + +typedef struct tdstZoneSetList_ *ZDX_tdxHandleToZoneSetList; + +#endif // GH_GENERATED_STRUCTS_H