diff --git a/game_re/CMakeLists.txt b/game_re/CMakeLists.txt index 8d123233..6acd148b 100644 --- a/game_re/CMakeLists.txt +++ b/game_re/CMakeLists.txt @@ -1,7 +1,6 @@ -function(setup_target TARGET) +function(setup_target TARGET DBG_MODE) add_executable(${TARGET} - r3/main.cpp - r3/binders/static_mem.cxx + r3/main.cxx gh_global.cxx ) @@ -63,9 +62,18 @@ function(setup_target TARGET) target_precompile_headers(${TARGET} PRIVATE "$<$:${CMAKE_CURRENT_SOURCE_DIR}/r3/binders/auto_pch.cxx>" ) + + if(DBG_MODE) + target_sources(${TARGET} PRIVATE + r3/binders/dbg_mem.cxx + ) + target_compile_definitions(game_dbg PRIVATE RE_DBG_INJECTED=1) + else() + target_sources(${TARGET} PRIVATE + r3/binders/static_mem.cxx + ) + endif() endfunction() -setup_target(game_re) - -setup_target(game_dbg) -target_compile_definitions(game_dbg PRIVATE RE_DBG_INJECTED=1) +setup_target(game_re OFF) +setup_target(game_dbg ON) diff --git a/game_re/gh_global.cxx b/game_re/gh_global.cxx deleted file mode 100644 index 680c8cf6..00000000 --- a/game_re/gh_global.cxx +++ /dev/null @@ -1,1711 +0,0 @@ -// AUTO-GENERATED FILE -#include -undefined *& PTR_BinkOpenDirectSound_0059733c= (undefined *&) GH_MEM(0x0059733c); -undefined& IID_IDirectInput8= (undefined&) GH_MEM(0x00597860); -undefined& DAT_00598314= (undefined&) GH_MEM(0x00598314); -undefined& DAT_0059831c= (undefined&) GH_MEM(0x0059831c); -undefined& DAT_00598320= (undefined&) GH_MEM(0x00598320); -undefined& DAT_00598348= (undefined&) GH_MEM(0x00598348); -undefined& DAT_0059834c= (undefined&) GH_MEM(0x0059834c); -undefined& DAT_00598350= (undefined&) GH_MEM(0x00598350); -undefined4& DAT_005987dc= (undefined4&) GH_MEM(0x005987dc); -undefined& DAT_00598b7c= (undefined&) GH_MEM(0x00598b7c); -undefined& DAT_005990bc= (undefined&) GH_MEM(0x005990bc); -undefined& DAT_005990f0= (undefined&) GH_MEM(0x005990f0); -double& DOUBLE_00599550= (double&) GH_MEM(0x00599550); -undefined& DAT_005a9ea8= (undefined&) GH_MEM(0x005a9ea8); -undefined& DAT_005a9eac= (undefined&) GH_MEM(0x005a9eac); -undefined& DAT_005a9eb0= (undefined&) GH_MEM(0x005a9eb0); -undefined& DAT_005a9ec0= (undefined&) GH_MEM(0x005a9ec0); -undefined& DAT_005a9ec4= (undefined&) GH_MEM(0x005a9ec4); -undefined& DAT_005a9ec8= (undefined&) GH_MEM(0x005a9ec8); -undefined& DAT_005a9ed4= (undefined&) GH_MEM(0x005a9ed4); -undefined& DAT_005a9ef0= (undefined&) GH_MEM(0x005a9ef0); -undefined& DAT_005a9ef8= (undefined&) GH_MEM(0x005a9ef8); -undefined& DAT_005a9efc= (undefined&) GH_MEM(0x005a9efc); -undefined& DAT_005a9f08= (undefined&) GH_MEM(0x005a9f08); -undefined& DAT_005a9f0c= (undefined&) GH_MEM(0x005a9f0c); -undefined& DAT_005a9f10= (undefined&) GH_MEM(0x005a9f10); -float& FLOAT_005a9f1c= (float&) GH_MEM(0x005a9f1c); -float& FLOAT_005a9f20= (float&) GH_MEM(0x005a9f20); -undefined& DAT_005a9f28= (undefined&) GH_MEM(0x005a9f28); -float& FLOAT_005a9f30= (float&) GH_MEM(0x005a9f30); -float& FLOAT_005a9f40= (float&) GH_MEM(0x005a9f40); -float& FLOAT_005a9f48= (float&) GH_MEM(0x005a9f48); -float& FLOAT_005a9f50= (float&) GH_MEM(0x005a9f50); -float& FLOAT_005a9f54= (float&) GH_MEM(0x005a9f54); -float& FLOAT_005a9f58= (float&) GH_MEM(0x005a9f58); -float& FLOAT_005a9f60= (float&) GH_MEM(0x005a9f60); -float& FLOAT_005a9f70= (float&) GH_MEM(0x005a9f70); -float& FLOAT_005a9f7c= (float&) GH_MEM(0x005a9f7c); -float& FLOAT_005a9f80= (float&) GH_MEM(0x005a9f80); -float& FLOAT_005a9f84= (float&) GH_MEM(0x005a9f84); -float& FLOAT_005a9f90= (float&) GH_MEM(0x005a9f90); -float& FLOAT_005a9f94= (float&) GH_MEM(0x005a9f94); -float& FLOAT_005a9f98= (float&) GH_MEM(0x005a9f98); -float& FLOAT_005a9fac= (float&) GH_MEM(0x005a9fac); -float& FLOAT_005a9fb0= (float&) GH_MEM(0x005a9fb0); -float& FLOAT_005a9fbc= (float&) GH_MEM(0x005a9fbc); -float& FLOAT_005aa004= (float&) GH_MEM(0x005aa004); -float& FLOAT_005aa010= (float&) GH_MEM(0x005aa010); -float& FLOAT_005aa018= (float&) GH_MEM(0x005aa018); -float& FLOAT_005aa028= (float&) GH_MEM(0x005aa028); -float& FLOAT_005aa02c= (float&) GH_MEM(0x005aa02c); -float& FLOAT_005aa030= (float&) GH_MEM(0x005aa030); -float& FLOAT_005aa054= (float&) GH_MEM(0x005aa054); -undefined& DAT_005aa058= (undefined&) GH_MEM(0x005aa058); -float& FLOAT_005aa060= (float&) GH_MEM(0x005aa060); -float& FLOAT_005aa064= (float&) GH_MEM(0x005aa064); -float& FLOAT_005aa068= (float&) GH_MEM(0x005aa068); -float& FLOAT_005aa074= (float&) GH_MEM(0x005aa074); -float& FLOAT_005aa07c= (float&) GH_MEM(0x005aa07c); -float& FLOAT_005aa088= (float&) GH_MEM(0x005aa088); -double& DOUBLE_005aa090= (double&) GH_MEM(0x005aa090); -double& DOUBLE_005aa098= (double&) GH_MEM(0x005aa098); -double& DOUBLE_005aa0a0= (double&) GH_MEM(0x005aa0a0); -float& FLOAT_005aa0a8= (float&) GH_MEM(0x005aa0a8); -float& FLOAT_005aa0b4= (float&) GH_MEM(0x005aa0b4); -float& FLOAT_005aa0b8= (float&) GH_MEM(0x005aa0b8); -float& FLOAT_005aa0bc= (float&) GH_MEM(0x005aa0bc); -float& FLOAT_005aa0c0= (float&) GH_MEM(0x005aa0c0); -float& FLOAT_005aa0c4= (float&) GH_MEM(0x005aa0c4); -float& FLOAT_005aa0c8= (float&) GH_MEM(0x005aa0c8); -float& FLOAT_005aa0fc= (float&) GH_MEM(0x005aa0fc); -undefined& DAT_005aa124= (undefined&) GH_MEM(0x005aa124); -undefined& DAT_005aa158= (undefined&) GH_MEM(0x005aa158); -undefined& DAT_005aa15c= (undefined&) GH_MEM(0x005aa15c); -undefined& DAT_005aa160= (undefined&) GH_MEM(0x005aa160); -undefined& DAT_005aa164= (undefined&) GH_MEM(0x005aa164); -undefined& DAT_005aa168= (undefined&) GH_MEM(0x005aa168); -undefined& DAT_005aa16c= (undefined&) GH_MEM(0x005aa16c); -undefined& DAT_005aa170= (undefined&) GH_MEM(0x005aa170); -undefined& DAT_005aa174= (undefined&) GH_MEM(0x005aa174); -undefined& DAT_005aa178= (undefined&) GH_MEM(0x005aa178); -undefined& DAT_005aa17c= (undefined&) GH_MEM(0x005aa17c); -undefined& DAT_005aa180= (undefined&) GH_MEM(0x005aa180); -undefined& DAT_005aa184= (undefined&) GH_MEM(0x005aa184); -undefined& DAT_005aa188= (undefined&) GH_MEM(0x005aa188); -undefined& DAT_005aa18c= (undefined&) GH_MEM(0x005aa18c); -undefined& DAT_005aa190= (undefined&) GH_MEM(0x005aa190); -undefined& DAT_005aa194= (undefined&) GH_MEM(0x005aa194); -undefined& DAT_005aa198= (undefined&) GH_MEM(0x005aa198); -undefined& DAT_005aa19c= (undefined&) GH_MEM(0x005aa19c); -undefined& DAT_005aa1a0= (undefined&) GH_MEM(0x005aa1a0); -undefined& DAT_005aa1a4= (undefined&) GH_MEM(0x005aa1a4); -undefined& DAT_005aa1a8= (undefined&) GH_MEM(0x005aa1a8); -undefined& DAT_005aa1ac= (undefined&) GH_MEM(0x005aa1ac); -undefined& DAT_005aa1b0= (undefined&) GH_MEM(0x005aa1b0); -undefined& DAT_005aa1b4= (undefined&) GH_MEM(0x005aa1b4); -undefined& DAT_005aa1b8= (undefined&) GH_MEM(0x005aa1b8); -undefined& DAT_005aa1bc= (undefined&) GH_MEM(0x005aa1bc); -undefined& DAT_005aa1c0= (undefined&) GH_MEM(0x005aa1c0); -undefined& DAT_005aa1c4= (undefined&) GH_MEM(0x005aa1c4); -undefined& DAT_005aa1c8= (undefined&) GH_MEM(0x005aa1c8); -undefined& DAT_005aa1cc= (undefined&) GH_MEM(0x005aa1cc); -undefined& DAT_005aa1d0= (undefined&) GH_MEM(0x005aa1d0); -undefined& DAT_005aa1d4= (undefined&) GH_MEM(0x005aa1d4); -undefined& DAT_005aa1d8= (undefined&) GH_MEM(0x005aa1d8); -undefined& DAT_005aa1ec= (undefined&) GH_MEM(0x005aa1ec); -undefined& DAT_005aa1f8= (undefined&) GH_MEM(0x005aa1f8); -undefined& DAT_005aa200= (undefined&) GH_MEM(0x005aa200); -undefined& DAT_005aa224= (undefined&) GH_MEM(0x005aa224); -undefined& DAT_005aa228= (undefined&) GH_MEM(0x005aa228); -undefined& DAT_005aa22c= (undefined&) GH_MEM(0x005aa22c); -undefined& DAT_005aa230= (undefined&) GH_MEM(0x005aa230); -undefined& DAT_005aa234= (undefined&) GH_MEM(0x005aa234); -undefined& DAT_005aa238= (undefined&) GH_MEM(0x005aa238); -undefined& DAT_005aa23c= (undefined&) GH_MEM(0x005aa23c); -undefined& DAT_005aa240= (undefined&) GH_MEM(0x005aa240); -undefined& DAT_005aa244= (undefined&) GH_MEM(0x005aa244); -undefined& DAT_005aa248= (undefined&) GH_MEM(0x005aa248); -undefined& DAT_005aa978= (undefined&) GH_MEM(0x005aa978); -undefined& DAT_005ab624= (undefined&) GH_MEM(0x005ab624); -undefined& DAT_005ae738= (undefined&) GH_MEM(0x005ae738); -double& DOUBLE_005b0770= (double&) GH_MEM(0x005b0770); -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 -undefined& DAT_005b6d10= (undefined&) GH_MEM(0x005b6d10); -undefined4& DAT_005b967c= (undefined4&) GH_MEM(0x005b967c); -const char* s_dll_SND_CPA_INI_005b968c = "dll\\SND_CPA.INI"; // 005b968c -undefined1& lpDefault_005b969c= (undefined1&) GH_MEM(0x005b969c); -const char* s_Options_005b96a4 = "Options"; // 005b96a4 -const char* s_SXD_DIST_SATUR_005b96ac = "SXD_DIST_SATUR"; // 005b96ac -const char* s_SXD_DIST_BACK_005b96bc = "SXD_DIST_BACK"; // 005b96bc -undefined& DAT_005b96cc= (undefined&) GH_MEM(0x005b96cc); -undefined4& DAT_005b96d0= (undefined4&) GH_MEM(0x005b96d0); -int& DAT_005b96d4= (int&) GH_MEM(0x005b96d4); -const char* s_OnIsTheme_005b96e0 = "OnIsTheme"; // 005b96e0 -undefined& DAT_005b9710= (undefined&) GH_MEM(0x005b9710); -undefined ** DAT_005b9714 = (undefined **)&GH_MEM(0x005b9714); // 005b9714 -undefined1& DAT_005b9718= (undefined1&) GH_MEM(0x005b9718); -const char* s_Pitch_005b9724 = "Pitch"; // 005b9724 -pointer& PTR_DAT_005b972c= (pointer&) GH_MEM(0x005b972c); -const char* s_OnGetStopNGoIds_005b9730 = "OnGetStopNGoIds"; // 005b9730 -uint& DAT_005b9740= (uint&) GH_MEM(0x005b9740); -const char* s_CResData_005b9974 = "CResData"; // 005b9974 -const char* s_ne_rf_se_ti_ed_005b9be0 = " ne rf se ti ed"; // 005b9be0 -const char* s_volume_line_modifier____d_005b9bf8 = "volume line modifier = %d"; // 005b9bf8 -const char* s_Random_005b9c9c = "Random"; // 005b9c9c -const char* s_Timeout_while_entering_CWin32Mut_005b9ca8 = "Timeout while entering CWin32Mutex, possible deadlock !!!!!!!!!!!\n"; // 005b9ca8 -undefined& DAT_005b9cec= (undefined&) GH_MEM(0x005b9cec); -undefined *& PTR_lpDefault_005b9cfc= (undefined *&) GH_MEM(0x005b9cfc); -undefined2& DAT_005b9f64= (undefined2&) GH_MEM(0x005b9f64); -const char* s_CEventResData_005b9f98 = "CEventResData"; // 005b9f98 -const char* s_percent_s_path_2 = "%s\\%s"; // 005ba354 -undefined2& DAT_005bad00= (undefined2&) GH_MEM(0x005bad00); -byte& g_errMod0= (byte&) GH_MEM(0x005bd29c); -const char* s_Explicit_request_for_clear_of_th_005bd2a0 = "Explicit request for clear of the last error"; // 005bd2a0 -const char* s_Explicit_request_for_clear_of_th_005bd2d0 = "Explicit request for clear of the last error.\n But there is no error !"; // 005bd2d0 -int& DAT_005bd454= (int&) GH_MEM(0x005bd454); -int& DAT_005bd458= (int&) GH_MEM(0x005bd458); -const char* s__jc_z_d__s_005bd460 = "\\jc\\z%d:%s"; // 005bd460 -byte& g_errMod1= (byte&) GH_MEM(0x005bd4cc); -byte& g_errModMmg= (byte&) GH_MEM(0x005bd58c); -undefined1& DAT_005bd58d= (undefined1&) GH_MEM(0x005bd58d); -float& FLOAT_005bd5ec= (float&) GH_MEM(0x005bd5ec); -float& FLOAT_005bd5f0= (float&) GH_MEM(0x005bd5f0); -char& DAT_005bd5f4= (char&) GH_MEM(0x005bd5f4); -float& FLOAT_005bd5f8= (float&) GH_MEM(0x005bd5f8); -undefined& DAT_005bd624= (undefined&) GH_MEM(0x005bd624); -dword& DWORD_005bd62c= (dword&) GH_MEM(0x005bd62c); -const char* s_Video_AutoAdjustQuality_005bd630 = "Video_AutoAdjustQuality"; // 005bd630 -const char* s_Video_BPP_005bd648 = "Video_BPP"; // 005bd648 -const char* s_Video_RealQuality_005bd654 = "Video_RealQuality"; // 005bd654 -const char* s_Rayman_Arena_005bd668 = "Rayman Arena"; // 005bd668 -const char* s_Video_WantedQuality_005bd678 = "Video_WantedQuality"; // 005bd678 -const char* s_Videos_005bd72c = "Videos"; // 005bd72c -const char* s_percent_s_path_3 = "%s\\%s\\%s"; // 005bd734 -const char* s_StopVideo_005bd740 = "StopVideo"; // 005bd740 -byte& g_errMod2Bink= (byte&) GH_MEM(0x005bd7ac); -int& DAT_005bd7bc= (int&) GH_MEM(0x005bd7bc); -undefined *& PTR_FUN_005bd7c4= (undefined *&) GH_MEM(0x005bd7c4); -char& DAT_005bd8cf= (char&) GH_MEM(0x005bd8cf); -undefined1& DAT_005bd8d0= (undefined1&) GH_MEM(0x005bd8d0); -undefined1& DAT_005bd910= (undefined1&) GH_MEM(0x005bd910); -undefined1& DAT_005bd950= (undefined1&) GH_MEM(0x005bd950); -const char* s__s_s_World_Sound_005bd9d0 = "%s%s\\World\\Sound"; // 005bd9d0 -char(&s_BIN_005bd9e4)[4] = reinterpret_cast(GH_MEM(0x005bd9e4)); -const char* s__World_Sound_005bd9e8 = "\\World\\Sound"; // 005bd9e8 -const char* s__Options_005bd9f8 = "\\Options"; // 005bd9f8 -const char* s__Vignette_005bda04 = "\\Vignette"; // 005bda04 -const char* s__sBIN_fmt = "%sBIN\\%s"; // 005bda10 -const char* s__SaveGame_005bda1c = "\\SaveGame"; // 005bda1c -const char* s__World_Levels_005bda28 = "\\World\\Levels"; // 005bda28 -char(&s_World)[7] = reinterpret_cast(GH_MEM(0x005bda38)); -undefined& s_DLL= (undefined&) GH_MEM(0x005bda40); -const char* s_Ubi_bik_005bda44 = "Ubi.bik"; // 005bda44 -const char* s_UbiSoft_bmp_005bda4c = "UbiSoft.bmp"; // 005bda4c -undefined *& PTR_r3_processInput1_005bdb1c= (undefined *&) GH_MEM(0x005bdb1c); -undefined *& p_fn_vEngine= (undefined *&) GH_MEM(0x005bdb20); -undefined *& p_fn_vDisplayAll= (undefined *&) GH_MEM(0x005bdb24); -pointer& PTR_s_MenuMap_005bdb38= (pointer&) GH_MEM(0x005bdb38); -pointer& PTR_s_intro_10_005bdb70= (pointer&) GH_MEM(0x005bdb70); -pointer& PTR_s_sk8_20_005bdbd0= (pointer&) GH_MEM(0x005bdbd0); -char& DAT_005bdc9c= (char&) GH_MEM(0x005bdc9c); -UINT& g_modemQuality= (UINT&) GH_MEM(0x005bdca0); -UINT& g_UDPPort= (UINT&) GH_MEM(0x005bdca4); -const char* s__s__s__s__s__s_005bdf6c = "%s\\%s/%s/%s.%s"; // 005bdf6c -const char* s__s__s___005bdf7c = "%s\\%s/*"; // 005bdf7c -const char* s__s__s__s__s_005bdf84 = "%s/%s/%s.%s"; // 005bdf84 -pointer& PTR_DAT_005bdf90= (pointer&) GH_MEM(0x005bdf90); -undefined& DAT_005bdf94= (undefined&) GH_MEM(0x005bdf94); -const char* s__level__005bdfd0 = "-level:"; // 005bdfd0 -const char* s_R3_DVD_005bdfd8 = "R3_DVD"; // 005bdfd8 -const char* s_R3_DVD_005be0ec = "R3_DVD"; // 005be0ec -const char* s__s_DVD_missing_005be0f4 = "%s DVD missing "; // 005be0f4 -const char* s_Die__s_DVDROM_kann_nicht_gelesen_005be130 = "Die %s DVDROM kann nicht gelesen werden"; // 005be130 -const char* s_Impossibile_trovare_il_DVD____s_005be198 = "Impossibile trovare il DVD : %s"; // 005be198 -undefined& DAT_005be1ec= (undefined&) GH_MEM(0x005be1ec); -const char* s_Impossible_de_trouver_le_DVD_____005be238 = "Impossible de trouver le DVD : %s"; // 005be238 -const char* s_Tex32_2_cnt_005be290 = "Tex32_2.cnt"; // 005be290 -const char* s_Tex32_1_cnt_005be29c = "Tex32_1.cnt"; // 005be29c -const char* s_Tex16_1_cnt_005be2a8 = "Tex16_1.cnt"; // 005be2a8 -const char* s_Tex16_2_cnt_005be2b4 = "Tex16_2.cnt"; // 005be2b4 -const char* s_TexturesQuality_005be2c0 = "TexturesQuality"; // 005be2c0 -const char* s_VignettesFile_005be2dc = "VignettesFile"; // 005be2dc -const char* s_ModemQuality_005be2ec = "ModemQuality"; // 005be2ec -const char* s_UDPPort_005be2fc = "UDPPort"; // 005be2fc -pointer& s_Agp= (pointer&) GH_MEM(0x005be390); -const char* s_Please_insert_the_DVD_in_the_DVD_005be400 = "Please insert the DVD in the DVD-Rom drive."; // 005be400 -const char* s_Bitte_legen_Sie_DVD_von_Rayman_3_005be438 = "Bitte legen Sie DVD von Rayman 3 in Ihr DVD-ROM Laufwerk ein."; // 005be438 -const char* s_Inserisci_il_DVD_di_Rayman_3_nel_005be484 = "Inserisci il DVD di Rayman 3 nel lettore DVD-ROM."; // 005be484 -const char* s_Introduce_el_DVD_de_Rayman_3_en_l_005be4c0 = "Introduce el DVD de Rayman 3 en la unidad de DVD-ROM."; // 005be4c0 -undefined& DAT_005be500= (undefined&) GH_MEM(0x005be500); -const char* s_fmt_c_colon_s = "%c:%s"; // 005be540 -const char* s_r3_program_files = "\\program files\\Ubi Soft\\Rayman3"; // 005be548 -undefined *& PTR_DAT_005be568= (undefined *&) GH_MEM(0x005be568); -pointer& PTR_FUN_005be5e4= (pointer&) GH_MEM(0x005be5e4); -int& DAT_005be6d8= (int&) GH_MEM(0x005be6d8); -int& DAT_005be6dc= (int&) GH_MEM(0x005be6dc); -int& DAT_005be6e0= (int&) GH_MEM(0x005be6e0); -int& DAT_005be6e4= (int&) GH_MEM(0x005be6e4); -int& DAT_005be6e8= (int&) GH_MEM(0x005be6e8); -int& DAT_005be6ec= (int&) GH_MEM(0x005be6ec); -byte& g_errModFirst= (byte&) GH_MEM(0x005be6f0); -undefined *& PTR_FUN_005be6f8= (undefined *&) GH_MEM(0x005be6f8); -float& DAT_005be710= (float&) GH_MEM(0x005be710); -const char* s_Change_To_Map____s_005be714 = "Change To Map : %s"; // 005be714 -const char* s_Map_number__i_not_available_005be728 = "Map number %i not available"; // 005be728 -dword& g_transitLevelTarget= (dword&) GH_MEM(0x005be744); -int& DAT_005be748= (int&) GH_MEM(0x005be748); -undefined4& DAT_005be7ac= (undefined4&) GH_MEM(0x005be7ac); -long& DAT_005be7b0= (long&) GH_MEM(0x005be7b0); -long& DAT_005be7b4= (long&) GH_MEM(0x005be7b4); -long& DAT_005be7b8= (long&) GH_MEM(0x005be7b8); -long& DAT_005be7bc= (long&) GH_MEM(0x005be7bc); -undefined4& DAT_005be7c0= (undefined4&) GH_MEM(0x005be7c0); -undefined4& DAT_005be7c4= (undefined4&) GH_MEM(0x005be7c4); -long& DAT_005be7c8= (long&) GH_MEM(0x005be7c8); -long& DAT_005be7cc= (long&) GH_MEM(0x005be7cc); -undefined4& DAT_005be7d0= (undefined4&) GH_MEM(0x005be7d0); -const char* s_Ghost_Object_005be7d4 = "Ghost Object"; // 005be7d4 -const char* s_Always_005be7e4 = "Always"; // 005be7e4 -const char* s_Lips__005be7ec = "Lips:"; // 005be7ec -const char* s_No_intelligence_005be7f4 = "No intelligence"; // 005be7f4 -const char* s_Perso__005be804 = "Perso:"; // 005be804 -undefined& DAT_005be80c= (undefined&) GH_MEM(0x005be80c); -undefined& DAT_005be828= (undefined&) GH_MEM(0x005be828); -const char* s_World_005be844 = "World"; // 005be844 -dword& g_modId4= (dword&) GH_MEM(0x005be8ac); -const char* s_float_abs_val_too_small_to_be_co_005be924 = "float abs val too small to be compressed %f -> 0\n"; // 005be924 -const char* s_PLAY_DEMO_005be958 = "PLAY DEMO\n"; // 005be958 -const char* s_Please_insert_the_CD_005be980 = "Please insert the CD"; // 005be980 -const char* s_unknown_extended_demo_flag_0x_04_005be998 = "unknown extended demo flag:0x%04x\n"; // 005be998 -const char* s____tmp_st__08x_005be9bc = "-> tmp st %08x\n"; // 005be9bc -const char* s__f3_a_005be9cc = "\\f3:a"; // 005be9cc -undefined& DAT_005be9d4= (undefined&) GH_MEM(0x005be9d4); -const char* s_DEMO_FLAG_DESACTIVATE_CANAL_005be9dc = "DEMO_FLAG_DESACTIVATE_CANAL\n"; // 005be9dc -const char* s_DEMO_FLAG_ACTIVATE_CANAL_005be9fc = "DEMO_FLAG_ACTIVATE_CANAL\n"; // 005be9fc -const char* s_DEMO_FLAG_DESACTIVATE_005bea18 = "DEMO_FLAG_DESACTIVATE\n"; // 005bea18 -const char* s_DEMO_FLAG_ACTIVATE_005bea30 = "DEMO_FLAG_ACTIVATE\n"; // 005bea30 -const char* s_desactivate_005bea44 = "desactivate\n"; // 005bea44 -const char* s_activate_005bea54 = "activate\n"; // 005bea54 -const char* s_DEMO_fn_vReadAlwaysActivationDes_005bea60 = "DEMO_fn_vReadAlwaysActivationDesactivation(0x%08x)\n"; // 005bea60 -const char* s_DEMO_FLAG_NEW_ENGINE_FRAME_005bebc0 = "DEMO_FLAG_NEW_ENGINE_FRAME\n"; // 005bebc0 -const char* s_DEMO_FLAG_COMPRESS_ACTOR_NUMBER_005bebdc = "DEMO_FLAG_COMPRESS_ACTOR_NUMBER\n"; // 005bebdc -const char* s______________005bec00 = "------------\n"; // 005bec00 -const char* s_DEMO_FLAG_IS_AN_ALWAYS_005bec10 = "DEMO_FLAG_IS_AN_ALWAYS\n"; // 005bec10 -const char* s_DEMO_FLAG_EXTENDED_005bec28 = "DEMO_FLAG_EXTENDED\n"; // 005bec28 -const char* s_DEMO_STOP_NORMAL_PLAY_005bec3c = "DEMO STOP NORMAL PLAY\n"; // 005bec3c -undefined4& DAT_005bec5c= (undefined4&) GH_MEM(0x005bec5c); -float& DAT_005bec60= (float&) GH_MEM(0x005bec60); -float& DAT_005bec64= (float&) GH_MEM(0x005bec64); -int& DAT_005becdc= (int&) GH_MEM(0x005becdc); -undefined& DAT_005bece4= (undefined&) GH_MEM(0x005bece4); -int& DAT_005bee10= (int&) GH_MEM(0x005bee10); -byte& g_errMod5= (byte&) GH_MEM(0x005befbc); -char(&s_M_005bf004)[2] = reinterpret_cast(GH_MEM(0x005bf004)); -char(&s_S_005bf008)[2] = reinterpret_cast(GH_MEM(0x005bf008)); -const char* s_Action_Clavier_Gauche_005bf2dc = "Action_Clavier_Gauche"; // 005bf2dc -const char* s_Action_Clavier_Droite_005bf2f4 = "Action_Clavier_Droite"; // 005bf2f4 -const char* s_Action_Clavier_Bas_005bf30c = "Action_Clavier_Bas"; // 005bf30c -const char* s_Action_Clavier_Haut_005bf320 = "Action_Clavier_Haut"; // 005bf320 -const char* s_Key_Walk_005bf334 = "Key_Walk"; // 005bf334 -const char* s_Pad_Help_005bf340 = "Pad_Help"; // 005bf340 -const char* s_Key_Help_005bf34c = "Key_Help"; // 005bf34c -const char* s_Pad_Affiche_Jauge_005bf358 = "Pad_Affiche_Jauge"; // 005bf358 -const char* s_Key_Affiche_Jauge_005bf36c = "Key_Affiche_Jauge"; // 005bf36c -undefined4& DAT_005bf380= (undefined4&) GH_MEM(0x005bf380); -undefined4& DAT_005bf384= (undefined4&) GH_MEM(0x005bf384); -undefined4& DAT_005bf388= (undefined4&) GH_MEM(0x005bf388); -undefined *& PTR_DAT_005bf38c= (undefined *&) GH_MEM(0x005bf38c); -undefined4& DAT_005bf390= (undefined4&) GH_MEM(0x005bf390); -undefined4& DAT_005bf394= (undefined4&) GH_MEM(0x005bf394); -undefined4& DAT_005bf398= (undefined4&) GH_MEM(0x005bf398); -undefined *& PTR_DAT_005bf39c= (undefined *&) GH_MEM(0x005bf39c); -const char* s_Pad_Tirer_005bf3a0 = "Pad_Tirer"; // 005bf3a0 -const char* s_Key_Tirer_005bf3ac = "Key_Tirer"; // 005bf3ac -const char* s_Pad_Strafe_005bf3b8 = "Pad_Strafe"; // 005bf3b8 -const char* s_Key_Strafe_005bf3c4 = "Key_Strafe"; // 005bf3c4 -undefined4& DAT_005bf3d0= (undefined4&) GH_MEM(0x005bf3d0); -undefined4& DAT_005bf3d4= (undefined4&) GH_MEM(0x005bf3d4); -undefined *& PTR_DAT_005bf3d8= (undefined *&) GH_MEM(0x005bf3d8); -undefined4& DAT_005bf3dc= (undefined4&) GH_MEM(0x005bf3dc); -undefined4& DAT_005bf3e0= (undefined4&) GH_MEM(0x005bf3e0); -undefined *& PTR_DAT_005bf3e4= (undefined *&) GH_MEM(0x005bf3e4); -const char* s_Pad_Sauter_005bf3e8 = "Pad_Sauter"; // 005bf3e8 -const char* s_Key_Sauter_005bf3f4 = "Key_Sauter"; // 005bf3f4 -undefined4& DAT_005bf400= (undefined4&) GH_MEM(0x005bf400); -undefined1& DAT_005bf404= (undefined1&) GH_MEM(0x005bf404); -const char* s_Pad_Start_005bf408 = "Pad_Start"; // 005bf408 -char(&s__s_s_005bf4ac)[8] = reinterpret_cast(GH_MEM(0x005bf4ac)); -byte& g_errModGLD= (byte&) GH_MEM(0x005bf5fc); -dword& g_needToInitMod6= (dword&) GH_MEM(0x005bf600); -short& DAT_005bf606= (short&) GH_MEM(0x005bf606); -const char* s_V5_9_0___August_11th_1997_005bf608 = "V5.9.0 - August 11th 1997"; // 005bf608 -char& DAT_005bf690= (char&) GH_MEM(0x005bf690); -const char* s__HEATFX_005bf698 = "_HEATFX"; // 005bf698 -const char* s__heatfx_005bf6a0 = "_heatfx"; // 005bf6a0 -const char* s__REFLECT2_005bf6a8 = "_REFLECT2"; // 005bf6a8 -const char* s__reflect2_005bf6b4 = "_reflect2"; // 005bf6b4 -const char* s__REFLECT1_005bf6c0 = "_REFLECT1"; // 005bf6c0 -const char* s__reflect1_005bf6cc = "_reflect1"; // 005bf6cc -const char* s__08X__04X__04X__02X_02X__02X_02X_005bf6d8 = "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X"; // 005bf6d8 -int& DAT_005bf71c= (int&) GH_MEM(0x005bf71c); -dword& r3_textureMemMode= (dword&) GH_MEM(0x005bf740); -const char* s_Agp8_005bf744 = "Agp8"; // 005bf744 -const char* s_Agp4_005bf74c = "Agp4"; // 005bf74c -const char* s_Vram8_005bf754 = "Vram8"; // 005bf754 -const char* s_Vram4_005bf75c = "Vram4"; // 005bf75c -const char* s_VramPlus_005bf764 = "Vram+"; // 005bf764 -const char* s_Vram = "Vram"; // 005bf76c -char(&s__gf_005bf774)[4] = reinterpret_cast(GH_MEM(0x005bf774)); -undefined& DAT_005bf9d0= (undefined&) GH_MEM(0x005bf9d0); -undefined& DAT_005bf9d4= (undefined&) GH_MEM(0x005bf9d4); -undefined& DAT_005bf9e0= (undefined&) GH_MEM(0x005bf9e0); -undefined& DAT_005bf9e4= (undefined&) GH_MEM(0x005bf9e4); -undefined& DAT_005bf9f0= (undefined&) GH_MEM(0x005bf9f0); -undefined& DAT_005bf9f4= (undefined&) GH_MEM(0x005bf9f4); -undefined& DAT_005bfa00= (undefined&) GH_MEM(0x005bfa00); -undefined& DAT_005bfa04= (undefined&) GH_MEM(0x005bfa04); -undefined4& DAT_005bfa14= (undefined4&) GH_MEM(0x005bfa14); -undefined4& DAT_005bfa18= (undefined4&) GH_MEM(0x005bfa18); -undefined *& PTR_DAT_005bfa1c= (undefined *&) GH_MEM(0x005bfa1c); -const char* s_The_deformable_objects_have_more_005bfa38 = "The deformable objects have more uv layers than the objects of the map"; // 005bfa38 -const char* s_The_objects_in_transition_have_m_005bfa80 = "The objects in transition have more uv layers than the objects of the map"; // 005bfa80 -const char* s_ERROR_005bfacc = "ERROR"; // 005bfacc -undefined *& r3_player_coord_ptr_= (undefined *&) GH_MEM(0x005bfad4); -undefined& DAT_005bfad8= (undefined&) GH_MEM(0x005bfad8); -undefined& DAT_005bfadc= (undefined&) GH_MEM(0x005bfadc); -undefined& DAT_005bfae0= (undefined&) GH_MEM(0x005bfae0); -char& DAT_005bfae8= (char&) GH_MEM(0x005bfae8); -int& DAT_005bfb14= (int&) GH_MEM(0x005bfb14); -undefined& DAT_005bfb18= (undefined&) GH_MEM(0x005bfb18); -undefined4& DAT_005c0338= (undefined4&) GH_MEM(0x005c0338); -int& DAT_005c0514= (int&) GH_MEM(0x005c0514); -char& DAT_005c05dc= (char&) GH_MEM(0x005c05dc); -byte& g_errMod7= (byte&) GH_MEM(0x005c069c); -dword& DWORD_005c0700= (dword&) GH_MEM(0x005c0700); -int& g_fixDataClass= (int&) GH_MEM(0x005c08e4); -const char* s_transit_005c09fc = "transit "; // 005c09fc -const char* s_error_005c0a10 = "error"; // 005c0a10 -undefined& DAT_005c0a54= (undefined&) GH_MEM(0x005c0a54); -const char* s_loading___005c0a5c = "loading !\n"; // 005c0a5c -const char* s_dyn__inst___s___3d__005c0a68 = "dyn. inst. %s (%3d) \n"; // 005c0a68 -const char* s_Anim_ani_d_005c0a80 = "Anim\\ani%d"; // 005c0a80 -undefined4& DAT_005c0a8c= (undefined4&) GH_MEM(0x005c0a8c); -undefined2& DAT_005c0a90= (undefined2&) GH_MEM(0x005c0a90); -undefined1& DAT_005c0a92= (undefined1&) GH_MEM(0x005c0a92); -const char* s_level_data_class___08x__does_not_005c0a94 = "level data class (%08x) does not match engine class (%08x)"; // 005c0a94 -const char* s_level_checksum_doesn_t_match_wit_005c0ad0 = "level checksum doesn't match with fix checksum !!!\n"; // 005c0ad0 -undefined *(&g_levelTypeFuncTable)[217] = reinterpret_cast(GH_MEM(0x005c0b70)); -char(&s_MP_005c0f20)[5] = reinterpret_cast(GH_MEM(0x005c0f20)); -undefined4& DAT_005c0f84= (undefined4&) GH_MEM(0x005c0f84); -undefined4& DAT_005c0f90= (undefined4&) GH_MEM(0x005c0f90); -char& DAT_005c0f9d= (char&) GH_MEM(0x005c0f9d); -ulong& DAT_005c1098= (ulong&) GH_MEM(0x005c1098); -undefined4& DAT_005c11bc= (undefined4&) GH_MEM(0x005c11bc); -undefined4& DAT_005c11c0= (undefined4&) GH_MEM(0x005c11c0); -byte& g_errMod17= (byte&) GH_MEM(0x005c1400); -byte& g_errMod8= (byte&) GH_MEM(0x005c4b0c); -int& DAT_005c4b14= (int&) GH_MEM(0x005c4b14); -undefined& DAT_005c4b1c= (undefined&) GH_MEM(0x005c4b1c); -undefined4& DAT_005c4d2c= (undefined4&) GH_MEM(0x005c4d2c); -undefined1& DAT_005c4d30= (undefined1&) GH_MEM(0x005c4d30); -undefined4& DAT_005c4d34= (undefined4&) GH_MEM(0x005c4d34); -undefined1& DAT_005c4d38= (undefined1&) GH_MEM(0x005c4d38); -undefined4& DAT_005c4d3c= (undefined4&) GH_MEM(0x005c4d3c); -undefined1& DAT_005c4d40= (undefined1&) GH_MEM(0x005c4d40); -undefined4& DAT_005c4d44= (undefined4&) GH_MEM(0x005c4d44); -undefined1& DAT_005c4d48= (undefined1&) GH_MEM(0x005c4d48); -const char* s__s_02d_gf_005c4d4c = "%s%02d.gf"; // 005c4d4c -const char* s_Random________d__d__005c4d58 = "Random<%[^,],%d,%d>"; // 005c4d58 -byte& g_errMod9= (byte&) GH_MEM(0x005c4dcc); -char(&s__ptr_005c5000)[5] = reinterpret_cast(GH_MEM(0x005c5000)); -char(&s__lvl_005c5008)[5] = reinterpret_cast(GH_MEM(0x005c5008)); -byte& g_errMod3= (byte&) GH_MEM(0x005c506c); -undefined1& DAT_005c5134= (undefined1&) GH_MEM(0x005c5134); -byte& g_errMod10= (byte&) GH_MEM(0x005c51f4); -undefined2& DAT_005c5280= (undefined2&) GH_MEM(0x005c5280); -undefined2& DAT_005c5284= (undefined2&) GH_MEM(0x005c5284); -undefined2& DAT_005c52a4= (undefined2&) GH_MEM(0x005c52a4); -undefined2& DAT_005c563c= (undefined2&) GH_MEM(0x005c563c); -pointer& PTR_s_RightMouseButton_005c5858= (pointer&) GH_MEM(0x005c5858); -undefined4& DAT_005c5888= (undefined4&) GH_MEM(0x005c5888); -undefined& DAT_005c5a28= (undefined&) GH_MEM(0x005c5a28); -undefined1& DAT_005c5ac0= (undefined1&) GH_MEM(0x005c5ac0); -int& DAT_005c5acc= (int&) GH_MEM(0x005c5acc); -undefined& DAT_005c5ad4= (undefined&) GH_MEM(0x005c5ad4); -undefined4& DAT_005ca830= (undefined4&) GH_MEM(0x005ca830); -const char* s_Cannot_load_the___s__file___005caea8 = "Cannot load the '%s' file !"; // 005caea8 -const char* s_ReInit_005caec4 = "ReInit"; // 005caec4 -byte& g_errMod11= (byte&) GH_MEM(0x005caf2c); -const char* s_SaveDir_005cb0fc = "SaveDir"; // 005cb0fc -const char* s_SaveGame_005cb104 = "SaveGame"; // 005cb104 -char& g_errMod12= (char&) GH_MEM(0x005cb16c); -char(&s_1_0_9_005cb174)[8] = reinterpret_cast(GH_MEM(0x005cb174)); -char(&s_AVI_005cb17c)[8] = reinterpret_cast(GH_MEM(0x005cb17c)); -char(&s_RIFF_005cb184)[8] = reinterpret_cast(GH_MEM(0x005cb184)); -char(&s__CNT_005cb18c)[5] = reinterpret_cast(GH_MEM(0x005cb18c)); -byte& DAT_005cf26c= (byte&) GH_MEM(0x005cf26c); -const char* s___InoMain_c_005cf430 = ".\\InoMain.c"; // 005cf430 -undefined& DAT_005cf4a0= (undefined&) GH_MEM(0x005cf4a0); -byte& g_errMod14= (byte&) GH_MEM(0x005cf5d4); -byte& g_errMod15= (byte&) GH_MEM(0x005cf814); -byte& g_errMod16= (byte&) GH_MEM(0x005cf874); -byte& DAT_005cf934= (byte&) GH_MEM(0x005cf934); -undefined1& g_initVar0= (undefined1&) GH_MEM(0x005cf960); -HWND& g_gameHWND1= (HWND&) GH_MEM(0x005cf964); -HGDIOBJ& g_splashBitmap= (HGDIOBJ&) GH_MEM(0x005cf968); -long& lpDefault_005cf96c= (long&) GH_MEM(0x005cf96c); -int& DAT_005cfcc8= (int&) GH_MEM(0x005cfcc8); -undefined4& DAT_005cfccc= (undefined4&) GH_MEM(0x005cfccc); -byte& DAT_005cfcf4= (byte&) GH_MEM(0x005cfcf4); -char& DAT_005cfd08= (char&) GH_MEM(0x005cfd08); -int& DAT_005d01c0= (int&) GH_MEM(0x005d01c0); -undefined4& DAT_005d01c4= (undefined4&) GH_MEM(0x005d01c4); -undefined4& DAT_005d01c8= (undefined4&) GH_MEM(0x005d01c8); -undefined& DAT_005d01cc= (undefined&) GH_MEM(0x005d01cc); -byte& DAT_005d01dc= (byte&) GH_MEM(0x005d01dc); -undefined4& DAT_005d01e0= (undefined4&) GH_MEM(0x005d01e0); -int& DAT_005d0248= (int&) GH_MEM(0x005d0248); -undefined& DAT_005d0440= (undefined&) GH_MEM(0x005d0440); -undefined4& DAT_005d0790= (undefined4&) GH_MEM(0x005d0790); -int& DAT_005d07a4= (int&) GH_MEM(0x005d07a4); -undefined4& DAT_005d07a8= (undefined4&) GH_MEM(0x005d07a8); -undefined4& DAT_005d07ac= (undefined4&) GH_MEM(0x005d07ac); -SND_Request3& g_sndReq0= (SND_Request3&) GH_MEM(0x005d07b0); -uint& DAT_005d07bc= (uint&) GH_MEM(0x005d07bc); -int& DAT_005d07cc= (int&) GH_MEM(0x005d07cc); -int * *& DAT_005d081c= (int * *&) GH_MEM(0x005d081c); -int& DAT_005d092c= (int&) GH_MEM(0x005d092c); -int& DAT_005d0938= (int&) GH_MEM(0x005d0938); -byte& DAT_005d0950= (byte&) GH_MEM(0x005d0950); -undefined& DAT_005d0958= (undefined&) GH_MEM(0x005d0958); -undefined& DAT_005d09a8= (undefined&) GH_MEM(0x005d09a8); -byte& DAT_005d09f4= (byte&) GH_MEM(0x005d09f4); -int *& DAT_005d09fc= (int *&) GH_MEM(0x005d09fc); -undefined4& DAT_005d0a08= (undefined4&) GH_MEM(0x005d0a08); -undefined& DAT_005d0ae0= (undefined&) GH_MEM(0x005d0ae0); -undefined& DAT_005d0ae4= (undefined&) GH_MEM(0x005d0ae4); -undefined& DAT_005d0ae8= (undefined&) GH_MEM(0x005d0ae8); -undefined& DAT_005d0aec= (undefined&) GH_MEM(0x005d0aec); -undefined& DAT_005d0af0= (undefined&) GH_MEM(0x005d0af0); -undefined& DAT_005d0af4= (undefined&) GH_MEM(0x005d0af4); -undefined& DAT_005d0af8= (undefined&) GH_MEM(0x005d0af8); -undefined& DAT_005d0afc= (undefined&) GH_MEM(0x005d0afc); -undefined& DAT_005d0b00= (undefined&) GH_MEM(0x005d0b00); -undefined& DAT_005d0b04= (undefined&) GH_MEM(0x005d0b04); -undefined& DAT_005d0b08= (undefined&) GH_MEM(0x005d0b08); -undefined& DAT_005d0b0c= (undefined&) GH_MEM(0x005d0b0c); -undefined& DAT_005d0b10= (undefined&) GH_MEM(0x005d0b10); -undefined& DAT_005d0b14= (undefined&) GH_MEM(0x005d0b14); -undefined& DAT_005d0b18= (undefined&) GH_MEM(0x005d0b18); -undefined& DAT_005d0b1c= (undefined&) GH_MEM(0x005d0b1c); -undefined& DAT_005d0b20= (undefined&) GH_MEM(0x005d0b20); -undefined4& DAT_005d0b24= (undefined4&) GH_MEM(0x005d0b24); -byte& DAT_005d0b34= (byte&) GH_MEM(0x005d0b34); -undefined4& DAT_005d1d44= (undefined4&) GH_MEM(0x005d1d44); -undefined4& DAT_005d1d50= (undefined4&) GH_MEM(0x005d1d50); -int& DAT_005d1d54= (int&) GH_MEM(0x005d1d54); -int& DAT_005d1d58= (int&) GH_MEM(0x005d1d58); -undefined& lpCriticalSection_005d220c= (undefined&) GH_MEM(0x005d220c); -int *& DAT_005d2238= (int *&) GH_MEM(0x005d2238); -undefined4 *& DAT_005d223c= (undefined4 *&) GH_MEM(0x005d223c); -undefined4 *& DAT_005d2244= (undefined4 *&) GH_MEM(0x005d2244); -undefined4 *& DAT_005d2248= (undefined4 *&) GH_MEM(0x005d2248); -byte& g_ucErmNbOfModule= (byte&) GH_MEM(0x005d2638); -undefined ** DAT_005d263c = (undefined **)&GH_MEM(0x005d263c); // 005d263c -undefined& DAT_005d2640= (undefined&) GH_MEM(0x005d2640); -mod1_ptrs& g_mod1_ptrs= (mod1_ptrs&) GH_MEM(0x005d2644); -undefined1& DAT_005d2650= (undefined1&) GH_MEM(0x005d2650); -byte& DAT_005d2651= (byte&) GH_MEM(0x005d2651); -int& DAT_005d2654= (int&) GH_MEM(0x005d2654); -Bink& g_currentBinkMovie= (Bink&) GH_MEM(0x005d2660); -undefined& lpVolumeNameBuffer_005d27b0= (undefined&) GH_MEM(0x005d27b0); -r3_main_data& r3_main_data_005d28b6= (r3_main_data&) GH_MEM(0x005d28b6); -dword& DWORD_005d29c4= (dword&) GH_MEM(0x005d29c4); -undefined4& DAT_005d29c8= (undefined4&) GH_MEM(0x005d29c8); -int& DAT_005d29cc= (int&) GH_MEM(0x005d29cc); -undefined4& DAT_005d29d0= (undefined4&) GH_MEM(0x005d29d0); -undefined4& DAT_005d29f8= (undefined4&) GH_MEM(0x005d29f8); -undefined4 *& DAT_005d29fc= (undefined4 *&) GH_MEM(0x005d29fc); -int& DAT_005d2a08= (int&) GH_MEM(0x005d2a08); -undefined4& DAT_005d2a0c= (undefined4&) GH_MEM(0x005d2a0c); -int& DAT_005d2a10= (int&) GH_MEM(0x005d2a10); -char& DAT_005d2b18= (char&) GH_MEM(0x005d2b18); -int& DAT_005d2b20= (int&) GH_MEM(0x005d2b20); -float& FLOAT_005d2b38= (float&) GH_MEM(0x005d2b38); -undefined1& DAT_005d2b40= (undefined1&) GH_MEM(0x005d2b40); -undefined1& DAT_005d2b41= (undefined1&) GH_MEM(0x005d2b41); -undefined1& DAT_005d2b42= (undefined1&) GH_MEM(0x005d2b42); -undefined& DAT_005d2b43= (undefined&) GH_MEM(0x005d2b43); -undefined1& DAT_005d2b44= (undefined1&) GH_MEM(0x005d2b44); -undefined& DAT_005d2b46= (undefined&) GH_MEM(0x005d2b46); -char& DAT_005d2b47= (char&) GH_MEM(0x005d2b47); -int& DAT_005d2c58= (int&) GH_MEM(0x005d2c58); -uint& DAT_005d2c60= (uint&) GH_MEM(0x005d2c60); -char& DAT_005d2c64= (char&) GH_MEM(0x005d2c64); -int& DAT_005d2c68= (int&) GH_MEM(0x005d2c68); -uint& DAT_005d2c6c= (uint&) GH_MEM(0x005d2c6c); -int& DAT_005d2c70= (int&) GH_MEM(0x005d2c70); -int& DAT_005d2c74= (int&) GH_MEM(0x005d2c74); -undefined4& DAT_005d2c78= (undefined4&) GH_MEM(0x005d2c78); -ushort *& DAT_005d2c7c= (ushort *&) GH_MEM(0x005d2c7c); -uint& DAT_005d2c80= (uint&) GH_MEM(0x005d2c80); -uint& DAT_005d2c84= (uint&) GH_MEM(0x005d2c84); -uint& DAT_005d2c88= (uint&) GH_MEM(0x005d2c88); -GLI_tdstTexture *& DAT_005d2c8c= (GLI_tdstTexture *&) GH_MEM(0x005d2c8c); -int& DAT_005d2c94= (int&) GH_MEM(0x005d2c94); -short& DAT_005d2c98= (short&) GH_MEM(0x005d2c98); -int& DAT_005d2c9c= (int&) GH_MEM(0x005d2c9c); -undefined& DAT_005d2ca4= (undefined&) GH_MEM(0x005d2ca4); -short& DAT_005d2ca6= (short&) GH_MEM(0x005d2ca6); -short& DAT_005d2ca8= (short&) GH_MEM(0x005d2ca8); -int& DAT_005d2cac= (int&) GH_MEM(0x005d2cac); -undefined4& DAT_005d2cb0= (undefined4&) GH_MEM(0x005d2cb0); -uint& DAT_005d2cbc= (uint&) GH_MEM(0x005d2cbc); -uint& DAT_005d2cc0= (uint&) GH_MEM(0x005d2cc0); -uint& DAT_005d2cc8= (uint&) GH_MEM(0x005d2cc8); -int& DAT_005d2ccc= (int&) GH_MEM(0x005d2ccc); -undefined& DAT_005d2cd4= (undefined&) GH_MEM(0x005d2cd4); -int& DAT_005e6110= (int&) GH_MEM(0x005e6110); -undefined4& DAT_005e6114= (undefined4&) GH_MEM(0x005e6114); -undefined4& DAT_005e6118= (undefined4&) GH_MEM(0x005e6118); -undefined4& DAT_005e6120= (undefined4&) GH_MEM(0x005e6120); -int *& DAT_005e6920= (int *&) GH_MEM(0x005e6920); -undefined4& DAT_005e6934= (undefined4&) GH_MEM(0x005e6934); -undefined4& DAT_005e6938= (undefined4&) GH_MEM(0x005e6938); -int& DAT_005e693c= (int&) GH_MEM(0x005e693c); -undefined4& DAT_005e6948= (undefined4&) GH_MEM(0x005e6948); -undefined4& DAT_005e694c= (undefined4&) GH_MEM(0x005e694c); -undefined4& DAT_005e6974= (undefined4&) GH_MEM(0x005e6974); -int& DAT_005e6978= (int&) GH_MEM(0x005e6978); -undefined4& DAT_005e6984= (undefined4&) GH_MEM(0x005e6984); -int& DAT_005e69b4= (int&) GH_MEM(0x005e69b4); -undefined4& DAT_005e69cc= (undefined4&) GH_MEM(0x005e69cc); -undefined4& DAT_005e69d0= (undefined4&) GH_MEM(0x005e69d0); -int& DAT_005e69e0= (int&) GH_MEM(0x005e69e0); -int& gfx_blockInfinitely= (int&) GH_MEM(0x005e6b00); -dword& DWORD_005e6b04= (dword&) GH_MEM(0x005e6b04); -undefined4& g_perfCounterRateAdjusted= (undefined4&) GH_MEM(0x005e6b0c); -undefined4& DAT_005e6b10= (undefined4&) GH_MEM(0x005e6b10); -undefined& DAT_005e6b18= (undefined&) GH_MEM(0x005e6b18); -undefined& DAT_005e6b1c= (undefined&) GH_MEM(0x005e6b1c); -undefined& DAT_005e6b20= (undefined&) GH_MEM(0x005e6b20); -undefined4& DAT_005e6b28= (undefined4&) GH_MEM(0x005e6b28); -undefined& DAT_005e6b2c= (undefined&) GH_MEM(0x005e6b2c); -undefined4& DAT_005e6b30= (undefined4&) GH_MEM(0x005e6b30); -undefined4& DAT_005e6b34= (undefined4&) GH_MEM(0x005e6b34); -HWND& DAT_005e6c2c= (HWND&) GH_MEM(0x005e6c2c); -IDirect3D8 *& gfx_d3d= (IDirect3D8 *&) GH_MEM(0x005e6c30); -int& g_lastFrameTime= (int&) GH_MEM(0x005e6c34); -undefined& DAT_005e6c38= (undefined&) GH_MEM(0x005e6c38); -undefined4& g_currentFrameTime= (undefined4&) GH_MEM(0x005e6c3c); -undefined4& DAT_005e6c40= (undefined4&) GH_MEM(0x005e6c40); -undefined& DAT_005e6c44= (undefined&) GH_MEM(0x005e6c44); -short& DAT_005e6c46= (short&) GH_MEM(0x005e6c46); -int& DAT_005e6c48= (int&) GH_MEM(0x005e6c48); -int& DAT_005e6c50= (int&) GH_MEM(0x005e6c50); -FIL_tdstConcatFile *& g_textureConcatFile= (FIL_tdstConcatFile *&) GH_MEM(0x005e6c54); -undefined4& DAT_005e6c58= (undefined4&) GH_MEM(0x005e6c58); -int& DAT_005f5de4= (int&) GH_MEM(0x005f5de4); -undefined4& DAT_005f5de8= (undefined4&) GH_MEM(0x005f5de8); -undefined4& DAT_005f5dec= (undefined4&) GH_MEM(0x005f5dec); -undefined4& DAT_005f5df0= (undefined4&) GH_MEM(0x005f5df0); -IDirect3DVertexBuffer8 *& g_unkVertexBuffer= (IDirect3DVertexBuffer8 *&) GH_MEM(0x005f5df8); -undefined4& DAT_005f5dfc= (undefined4&) GH_MEM(0x005f5dfc); -undefined4& DAT_005f5e00= (undefined4&) GH_MEM(0x005f5e00); -undefined4& DAT_005f5e04= (undefined4&) GH_MEM(0x005f5e04); -undefined4& DAT_005f5e08= (undefined4&) GH_MEM(0x005f5e08); -int& DAT_005f5e0c= (int&) GH_MEM(0x005f5e0c); -undefined& DAT_005f5e10= (undefined&) GH_MEM(0x005f5e10); -undefined& DAT_005f5e14= (undefined&) GH_MEM(0x005f5e14); -float& DAT_005f5e18= (float&) GH_MEM(0x005f5e18); -undefined& DAT_005f5e1c= (undefined&) GH_MEM(0x005f5e1c); -r3_astruct_2& g_startOfGfxStruct= (r3_astruct_2&) GH_MEM(0x005f5e24); -char& DAT_005f5e3a= (char&) GH_MEM(0x005f5e3a); -astruct_3 *& PTR_005f5e3c= (astruct_3 *&) GH_MEM(0x005f5e3c); -int& DAT_005f5e44= (int&) GH_MEM(0x005f5e44); -int *& DAT_005f5e48= (int *&) GH_MEM(0x005f5e48); -int *& DAT_005f5e50= (int *&) GH_MEM(0x005f5e50); -float& DAT_005f5e54= (float&) GH_MEM(0x005f5e54); -int& DAT_005f5e58= (int&) GH_MEM(0x005f5e58); -char& DAT_005f5e5c= (char&) GH_MEM(0x005f5e5c); -undefined1& DAT_005f5e5d= (undefined1&) GH_MEM(0x005f5e5d); -byte& DAT_005f5e5e= (byte&) GH_MEM(0x005f5e5e); -char& DAT_005f5e68= (char&) GH_MEM(0x005f5e68); -DWORD& DAT_005f5e6c= (DWORD&) GH_MEM(0x005f5e6c); -undefined4 *& DAT_005f5e74= (undefined4 *&) GH_MEM(0x005f5e74); -int& DAT_005f5e78= (int&) GH_MEM(0x005f5e78); -undefined4 *& DAT_005f5e7c= (undefined4 *&) GH_MEM(0x005f5e7c); -GLI_tdstTexture *& DAT_005f5e80= (GLI_tdstTexture *&) GH_MEM(0x005f5e80); -int& DAT_005f5e8c= (int&) GH_MEM(0x005f5e8c); -undefined& DAT_005f5e98= (undefined&) GH_MEM(0x005f5e98); -undefined1& DAT_005f5e9c= (undefined1&) GH_MEM(0x005f5e9c); -undefined4& DAT_005f5ea0= (undefined4&) GH_MEM(0x005f5ea0); -undefined4& DAT_005f5ea4= (undefined4&) GH_MEM(0x005f5ea4); -undefined4& DAT_005f5ea8= (undefined4&) GH_MEM(0x005f5ea8); -char& DAT_00637d8c= (char&) GH_MEM(0x00637d8c); -undefined4& DAT_00637d98= (undefined4&) GH_MEM(0x00637d98); -uint& DAT_00637da0= (uint&) GH_MEM(0x00637da0); -uint& DAT_00637da4= (uint&) GH_MEM(0x00637da4); -uint& DAT_00637db0= (uint&) GH_MEM(0x00637db0); -undefined& DAT_00637db4= (undefined&) GH_MEM(0x00637db4); -int& DAT_00637db8= (int&) GH_MEM(0x00637db8); -undefined4& DAT_00637dbc= (undefined4&) GH_MEM(0x00637dbc); -int *& DAT_00637dc0= (int *&) GH_MEM(0x00637dc0); -IDirect3DIndexBuffer8 *& DAT_00637dc4= (IDirect3DIndexBuffer8 *&) GH_MEM(0x00637dc4); -int& DAT_00637dcc= (int&) GH_MEM(0x00637dcc); -undefined& DAT_00637dd0= (undefined&) GH_MEM(0x00637dd0); -undefined4& DAT_0063be24= (undefined4&) GH_MEM(0x0063be24); -int& DAT_0063be40= (int&) GH_MEM(0x0063be40); -int& DAT_0063be44= (int&) GH_MEM(0x0063be44); -char& DAT_0063be50= (char&) GH_MEM(0x0063be50); -undefined1& DAT_0063be84= (undefined1&) GH_MEM(0x0063be84); -IDirect3DBaseTexture8 *& DAT_0063be98= (IDirect3DBaseTexture8 *&) GH_MEM(0x0063be98); -uint& DAT_0063bea0= (uint&) GH_MEM(0x0063bea0); -undefined& DAT_0063bea4= (undefined&) GH_MEM(0x0063bea4); -char *& DAT_0063bea8= (char *&) GH_MEM(0x0063bea8); -int& DAT_0063beac= (int&) GH_MEM(0x0063beac); -byte& m7_unk1= (byte&) GH_MEM(0x0063bec0); -char& g_m7_criticalSectionInitialized= (char&) GH_MEM(0x0063bec4); -uint& DAT_0063becc= (uint&) GH_MEM(0x0063becc); -int& DAT_0063bed0= (int&) GH_MEM(0x0063bed0); -undefined& DAT_0063bffc= (undefined&) GH_MEM(0x0063bffc); -undefined& DAT_0063c000= (undefined&) GH_MEM(0x0063c000); -uint& DAT_0063c004= (uint&) GH_MEM(0x0063c004); -int& DAT_0063c008= (int&) GH_MEM(0x0063c008); -char& DAT_0063c00c= (char&) GH_MEM(0x0063c00c); -int& DAT_0063c010= (int&) GH_MEM(0x0063c010); -undefined4& DAT_0063c014= (undefined4&) GH_MEM(0x0063c014); -undefined& DAT_0063c018= (undefined&) GH_MEM(0x0063c018); -undefined& DAT_0063c01c= (undefined&) GH_MEM(0x0063c01c); -undefined1& DAT_0063c020= (undefined1&) GH_MEM(0x0063c020); -undefined& DAT_0063c024= (undefined&) GH_MEM(0x0063c024); -undefined& DAT_0063c028= (undefined&) GH_MEM(0x0063c028); -char& DAT_0063c038= (char&) GH_MEM(0x0063c038); -undefined1& DAT_0063c039= (undefined1&) GH_MEM(0x0063c039); -float& DAT_0063c03c= (float&) GH_MEM(0x0063c03c); -undefined4& DAT_0063c040= (undefined4&) GH_MEM(0x0063c040); -float& DAT_0063c044= (float&) GH_MEM(0x0063c044); -undefined4& DAT_0063c04c= (undefined4&) GH_MEM(0x0063c04c); -undefined& DAT_0063c050= (undefined&) GH_MEM(0x0063c050); -undefined1& DAT_0063c054= (undefined1&) GH_MEM(0x0063c054); -int& DAT_0063c058= (int&) GH_MEM(0x0063c058); -int& DAT_0063c05c= (int&) GH_MEM(0x0063c05c); -int& DAT_0063c080= (int&) GH_MEM(0x0063c080); -undefined& DAT_0063c084= (undefined&) GH_MEM(0x0063c084); -undefined& DAT_0063c088= (undefined&) GH_MEM(0x0063c088); -undefined& DAT_0063c08c= (undefined&) GH_MEM(0x0063c08c); -undefined& DAT_0063c090= (undefined&) GH_MEM(0x0063c090); -undefined4& DAT_0063c0a0= (undefined4&) GH_MEM(0x0063c0a0); -int& DAT_0063c0a4= (int&) GH_MEM(0x0063c0a4); -undefined4& DAT_0063c0a8= (undefined4&) GH_MEM(0x0063c0a8); -int& DAT_0063c0ac= (int&) GH_MEM(0x0063c0ac); -undefined1& DAT_0063c0b0= (undefined1&) GH_MEM(0x0063c0b0); -int& DAT_0063c0b4= (int&) GH_MEM(0x0063c0b4); -undefined4& DAT_0063c0f0= (undefined4&) GH_MEM(0x0063c0f0); -int& DAT_0063e248= (int&) GH_MEM(0x0063e248); -int& DAT_0063e24c= (int&) GH_MEM(0x0063e24c); -uint& DAT_0063e2f0= (uint&) GH_MEM(0x0063e2f0); -undefined& DAT_0063e2f8= (undefined&) GH_MEM(0x0063e2f8); -undefined4& DAT_0073e2f8= (undefined4&) GH_MEM(0x0073e2f8); -undefined4 *& DAT_0073e2fc= (undefined4 *&) GH_MEM(0x0073e2fc); -undefined4& DAT_0073e300= (undefined4&) GH_MEM(0x0073e300); -undefined4& DAT_00754a58= (undefined4&) GH_MEM(0x00754a58); -char& DAT_00754a60= (char&) GH_MEM(0x00754a60); -ushort& DAT_00754a6a= (ushort&) GH_MEM(0x00754a6a); -undefined& DAT_00754a70= (undefined&) GH_MEM(0x00754a70); -undefined1& DAT_00754a90= (undefined1&) GH_MEM(0x00754a90); -undefined4& DAT_00754dcc= (undefined4&) GH_MEM(0x00754dcc); -undefined4& DAT_00754dd8= (undefined4&) GH_MEM(0x00754dd8); -char& DAT_00754de0= (char&) GH_MEM(0x00754de0); -int& DAT_00754e2c= (int&) GH_MEM(0x00754e2c); -short& DAT_00754ea8= (short&) GH_MEM(0x00754ea8); -short& DAT_00754eaa= (short&) GH_MEM(0x00754eaa); -HANDLE& DAT_00754eac= (HANDLE&) GH_MEM(0x00754eac); -FIL_tdstConcatFile *& g_fileWrapper1= (FIL_tdstConcatFile *&) GH_MEM(0x00754eb0); -undefined4& DAT_00754eb4= (undefined4&) GH_MEM(0x00754eb4); -float& DAT_00754eb8= (float&) GH_MEM(0x00754eb8); -float& DAT_00754ebc= (float&) GH_MEM(0x00754ebc); -undefined& DAT_00754ec0= (undefined&) GH_MEM(0x00754ec0); -undefined& DAT_00754ecc= (undefined&) GH_MEM(0x00754ecc); -undefined& DAT_00754ed8= (undefined&) GH_MEM(0x00754ed8); -undefined& DAT_00754ee4= (undefined&) GH_MEM(0x00754ee4); -undefined& DAT_00754ef0= (undefined&) GH_MEM(0x00754ef0); -float& DAT_00754efc= (float&) GH_MEM(0x00754efc); -undefined4& DAT_00754f38= (undefined4&) GH_MEM(0x00754f38); -char& DAT_00754f3c= (char&) GH_MEM(0x00754f3c); -int& DAT_00754f40= (int&) GH_MEM(0x00754f40); -undefined4& DAT_00754f44= (undefined4&) GH_MEM(0x00754f44); -undefined4& DAT_00754f54= (undefined4&) GH_MEM(0x00754f54); -undefined4& DAT_00754f58= (undefined4&) GH_MEM(0x00754f58); -char& DAT_00754f5c= (char&) GH_MEM(0x00754f5c); -undefined& DAT_00754f60= (undefined&) GH_MEM(0x00754f60); -ulong& DAT_00754f64= (ulong&) GH_MEM(0x00754f64); -undefined& DAT_00754f68= (undefined&) GH_MEM(0x00754f68); -float& DAT_00754f6c= (float&) GH_MEM(0x00754f6c); -undefined& DAT_00754f70= (undefined&) GH_MEM(0x00754f70); -undefined& DAT_00754f74= (undefined&) GH_MEM(0x00754f74); -undefined4& DAT_00754f78= (undefined4&) GH_MEM(0x00754f78); -float& DAT_00754f7c= (float&) GH_MEM(0x00754f7c); -Bink *& DAT_00754fb0= (Bink *&) GH_MEM(0x00754fb0); -undefined1& DAT_00754fb8= (undefined1&) GH_MEM(0x00754fb8); -undefined4& DAT_00754fbc= (undefined4&) GH_MEM(0x00754fbc); -short& DAT_00754fc0= (short&) GH_MEM(0x00754fc0); -undefined2& DAT_00754fc2= (undefined2&) GH_MEM(0x00754fc2); -int& DAT_00755dc0= (int&) GH_MEM(0x00755dc0); -undefined4& DAT_00755dc8= (undefined4&) GH_MEM(0x00755dc8); -undefined4& DAT_00755dd0= (undefined4&) GH_MEM(0x00755dd0); -undefined4& DAT_00755dd4= (undefined4&) GH_MEM(0x00755dd4); -undefined4& DAT_00755dd8= (undefined4&) GH_MEM(0x00755dd8); -undefined4& DAT_00755ddc= (undefined4&) GH_MEM(0x00755ddc); -int * *& DAT_00755e40= (int * *&) GH_MEM(0x00755e40); -int& DAT_00755e48= (int&) GH_MEM(0x00755e48); -int * *& DAT_00755e50= (int * *&) GH_MEM(0x00755e50); -char& DAT_00755e60= (char&) GH_MEM(0x00755e60); -short& DAT_00755ee8= (short&) GH_MEM(0x00755ee8); -undefined& DAT_00755ef0= (undefined&) GH_MEM(0x00755ef0); -int& success= (int&) GH_MEM(0x00755ef4); -undefined2& DAT_00755ef8= (undefined2&) GH_MEM(0x00755ef8); -undefined& DAT_00755efc= (undefined&) GH_MEM(0x00755efc); -int& DAT_00755f04= (int&) GH_MEM(0x00755f04); -int& DAT_00755f08= (int&) GH_MEM(0x00755f08); -int& DAT_00755f0c= (int&) GH_MEM(0x00755f0c); -char& MTH_InitDone= (char&) GH_MEM(0x00755f18); -short& wTimerCount= (short&) GH_MEM(0x0077d024); -short& TimerLibOk= (short&) GH_MEM(0x0077d026); -short& DAT_0077d028= (short&) GH_MEM(0x0077d028); -int& INT_0077d0a4= (int&) GH_MEM(0x0077d0a4); -int& g_runMaximized= (int&) GH_MEM(0x0077d0a8); -dword& g_runMaximized1= (dword&) GH_MEM(0x0077d0ac); -int& g_engineShouldRun= (int&) GH_MEM(0x0077d0b0); -undefined4& g_engineRunning= (undefined4&) GH_MEM(0x0077d0b4); -undefined4& g_windowCloseRequested= (undefined4&) GH_MEM(0x0077d0b8); -HANDLE& g_drawSemaphore= (HANDLE&) 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); -int& g_gli_width= (int&) GH_MEM(0x0077d4cc); -int& g_gli_height= (int&) GH_MEM(0x0077d4d0); -word& g_mainWindowHandle= (word&) GH_MEM(0x0077d4d4); -word& g_mainWindowInnerHandle= (word&) GH_MEM(0x0077d4d6); -GLI_tdstSpecificAttributesFor3D& g_fixVpAttr= (GLI_tdstSpecificAttributesFor3D&) GH_MEM(0x0077d4d8); -char(&g_appCmdLine)[256] = reinterpret_cast(GH_MEM(0x0077d4e0)); -char(&s_wndStrRestoring)[256] = reinterpret_cast(GH_MEM(0x0077d5e0)); -undefined4& DAT_0077d960= (undefined4&) GH_MEM(0x0077d960); -undefined4 *& DAT_0077ea90= (undefined4 *&) GH_MEM(0x0077ea90); -int& DAT_0077ea94= (int&) GH_MEM(0x0077ea94); -byte& DAT_0077ea98= (byte&) GH_MEM(0x0077ea98); -byte& DAT_0077eab0= (byte&) GH_MEM(0x0077eab0); -GLI_tdstTexture *& DAT_00781638= (GLI_tdstTexture *&) GH_MEM(0x00781638); -undefined& DAT_00781640= (undefined&) GH_MEM(0x00781640); -char(&g_gameDataPath)[64] = reinterpret_cast(GH_MEM(0x00781660)); -undefined& s_DLL= (undefined&) GH_MEM(0x00781764); -undefined1& g_savegamePath= (undefined1&) GH_MEM(0x00781868); -undefined& DAT_0078186c= (undefined&) GH_MEM(0x0078186c); -char& DAT_00781870= (char&) GH_MEM(0x00781870); -undefined& DAT_0078196c= (undefined&) GH_MEM(0x0078196c); -undefined& s_world_levels= (undefined&) GH_MEM(0x00781a70); -undefined& DAT_00781b74= (undefined&) GH_MEM(0x00781b74); -undefined& DAT_00781e80= (undefined&) GH_MEM(0x00781e80); -undefined& DAT_00781f84= (undefined&) GH_MEM(0x00781f84); -undefined& DAT_00782086= (undefined&) GH_MEM(0x00782086); -char(&lpBuffer_00782088)[260] = reinterpret_cast(GH_MEM(0x00782088)); -undefined& s_MoviePath= (undefined&) GH_MEM(0x00782394); -undefined& lpReturnedString_007824a0= (undefined&) GH_MEM(0x007824a0); -char(&s_quitting1)[64] = reinterpret_cast(GH_MEM(0x007825c0)); -char(&s_wndStrQuiting)[56] = reinterpret_cast(GH_MEM(0x00782600)); -undefined& g_errDat0= (undefined&) GH_MEM(0x00782638); -undefined& g_errDat1= (undefined&) GH_MEM(0x0078263c); -tdstLastErrorInfo(&g_stErmTheLastErrorInfo)[3] = reinterpret_cast(GH_MEM(0x00782640)); -tdstChunkHeader& tdstChunkHeader_00782658= (tdstChunkHeader&) GH_MEM(0x00782658); -tdstAviHeader& tdstAviHeader_00782660= (tdstAviHeader&) GH_MEM(0x00782660); -undefined1& DAT_0078266c= (undefined1&) GH_MEM(0x0078266c); -undefined4& DAT_007829e0= (undefined4&) GH_MEM(0x007829e0); -byte& DAT_007829e4= (byte&) GH_MEM(0x007829e4); -undefined4& DAT_007829f8= (undefined4&) GH_MEM(0x007829f8); -undefined4& gfx_d3dVersion= (undefined4&) GH_MEM(0x007829fc); -undefined& DAT_00782a00= (undefined&) GH_MEM(0x00782a00); -undefined4& DAT_00782a20= (undefined4&) GH_MEM(0x00782a20); -undefined1& DAT_00782a44= (undefined1&) GH_MEM(0x00782a44); -undefined4& DAT_00782c64= (undefined4&) GH_MEM(0x00782c64); -undefined4& DAT_00782dc4= (undefined4&) GH_MEM(0x00782dc4); -undefined4& DAT_00783450= (undefined4&) GH_MEM(0x00783450); -short& DAT_0078f630= (short&) GH_MEM(0x0078f630); -undefined4& DAT_0078f640= (undefined4&) GH_MEM(0x0078f640); -short& DAT_0078f690= (short&) GH_MEM(0x0078f690); -short& DAT_0078f692= (short&) GH_MEM(0x0078f692); -tdstBlockInfoPriv *(&g_a_p_stMmgModuleBlocksInfo)[255] = reinterpret_cast(GH_MEM(0x0078f6a0)); -undefined& g_MmgCriticalSection= (undefined&) GH_MEM(0x0078faa0); -char(&g_a_ucBlocksNbInModule)[255] = reinterpret_cast(GH_MEM(0x0078fac0)); -tdstGeneralChannelsInfo_& g_stGeneralChannelInfo= (tdstGeneralChannelsInfo_&) GH_MEM(0x0078fbc0); -tdstCurrentModeInfo *& g_d_stCurrentModeInfo= (tdstCurrentModeInfo *&) GH_MEM(0x0078fbc8); -undefined4& DAT_0078fbe0= (undefined4&) GH_MEM(0x0078fbe0); -undefined4& DAT_00790be0= (undefined4&) GH_MEM(0x00790be0); -undefined4& DAT_00791c00= (undefined4&) GH_MEM(0x00791c00); -undefined4& DAT_00792c00= (undefined4&) GH_MEM(0x00792c00); -double& MTH_gs_dDecal= (double&) GH_MEM(0x00793c00); -undefined4& DAT_00793c20= (undefined4&) GH_MEM(0x00793c20); -uint& DAT_00794cec= (uint&) GH_MEM(0x00794cec); -dword& DWORD_00794d00= (dword&) GH_MEM(0x00794d00); -dword& DWORD_00794d04= (dword&) GH_MEM(0x00794d04); -undefined& DAT_00794d0c= (undefined&) GH_MEM(0x00794d0c); -undefined& DAT_00794d10= (undefined&) GH_MEM(0x00794d10); -dword& g_perfCounterFreq0_unused= (dword&) GH_MEM(0x00794d14); -undefined& DAT_00794d24= (undefined&) GH_MEM(0x00794d24); -tdstTimer(&g_timerTab)[16] = reinterpret_cast(GH_MEM(0x00794d40)); -undefined2& DAT_007955b2= (undefined2&) GH_MEM(0x007955b2); -float& DAT_007a0b58= (float&) GH_MEM(0x007a0b58); -undefined& DAT_007a0b5c= (undefined&) GH_MEM(0x007a0b5c); -float& FLOAT_007a0b60= (float&) GH_MEM(0x007a0b60); -byte& DAT_007a0b64= (byte&) GH_MEM(0x007a0b64); -undefined1& DAT_007a0b65= (undefined1&) GH_MEM(0x007a0b65); -undefined1& DAT_007a0b80= (undefined1&) GH_MEM(0x007a0b80); -char& DAT_007a0b81= (char&) GH_MEM(0x007a0b81); -char& DAT_007a0b82= (char&) GH_MEM(0x007a0b82); -undefined& DAT_007a0b83= (undefined&) GH_MEM(0x007a0b83); -int& DAT_007a0cac= (int&) GH_MEM(0x007a0cac); -undefined1& DAT_007a0cd8= (undefined1&) GH_MEM(0x007a0cd8); -Float4& Float4_007a2c00= (Float4&) GH_MEM(0x007a2c00); -uint& g_windowClearColor= (uint&) GH_MEM(0x007a2c14); -float& FLOAT_007a2c24= (float&) GH_MEM(0x007a2c24); -float& FLOAT_007a2c2c= (float&) GH_MEM(0x007a2c2c); -int& DAT_007a2c4c= (int&) GH_MEM(0x007a2c4c); -byte& BYTE_007a2c54= (byte&) GH_MEM(0x007a2c54); -undefined1& DAT_007a2c55= (undefined1&) GH_MEM(0x007a2c55); -undefined1& DAT_007a2c56= (undefined1&) GH_MEM(0x007a2c56); -undefined1& DAT_007a2c57= (undefined1&) GH_MEM(0x007a2c57); -HBINK& g_binkHandle= (HBINK&) GH_MEM(0x007a2d60); -undefined4& DAT_007a2da8= (undefined4&) GH_MEM(0x007a2da8); -undefined4& DAT_007a2dac= (undefined4&) GH_MEM(0x007a2dac); -undefined4& DAT_007a2db0= (undefined4&) GH_MEM(0x007a2db0); -undefined4& DAT_007a2db8= (undefined4&) GH_MEM(0x007a2db8); -undefined4& DAT_007a2dbc= (undefined4&) GH_MEM(0x007a2dbc); -undefined4& DAT_007a2dc0= (undefined4&) GH_MEM(0x007a2dc0); -undefined4& g_StopVideoActionHandle= (undefined4&) GH_MEM(0x007a2dc4); -undefined4& g_binkDestStorage= (undefined4&) GH_MEM(0x007a2dc8); -long& DAT_007a2dd0= (long&) GH_MEM(0x007a2dd0); -ulong& DAT_007a2dd4= (ulong&) GH_MEM(0x007a2dd4); -ulong& DAT_007a2dd8= (ulong&) GH_MEM(0x007a2dd8); -uint& DAT_007a2ddc= (uint&) GH_MEM(0x007a2ddc); -int& DAT_007a2de0= (int&) GH_MEM(0x007a2de0); -uint& DAT_007a2de4= (uint&) GH_MEM(0x007a2de4); -int& DAT_007a2de8= (int&) GH_MEM(0x007a2de8); -undefined1& g_binkMovieEnded= (undefined1&) GH_MEM(0x007a2dec); -byte& g_bink_videoBpp= (byte&) GH_MEM(0x007a2e00); -undefined& DAT_007a2e01= (undefined&) GH_MEM(0x007a2e01); -byte& g_bink_wantedVideoQuality= (byte&) GH_MEM(0x007a2e02); -byte& g_bink_realVideoQuality= (byte&) GH_MEM(0x007a2e03); -byte& g_bink_autoAdjustQuality= (byte&) GH_MEM(0x007a2e04); -uint& DAT_007a2e0c= (uint&) GH_MEM(0x007a2e0c); -int& g_bink_wantedVideoQualityPlus1= (int&) GH_MEM(0x007a2e10); -undefined4& DAT_007a2e14= (undefined4&) GH_MEM(0x007a2e14); -undefined2& DAT_007a2e40= (undefined2&) GH_MEM(0x007a2e40); -int& DAT_007a6e40= (int&) GH_MEM(0x007a6e40); -undefined1& DAT_007a6e44= (undefined1&) GH_MEM(0x007a6e44); -undefined& DAT_007a7920= (undefined&) GH_MEM(0x007a7920); -undefined& DAT_007a7924= (undefined&) GH_MEM(0x007a7924); -undefined& DAT_007a7952= (undefined&) GH_MEM(0x007a7952); -undefined& DAT_007a7984= (undefined&) GH_MEM(0x007a7984); -undefined& DAT_007a7988= (undefined&) GH_MEM(0x007a7988); -undefined& DAT_007a798c= (undefined&) GH_MEM(0x007a798c); -undefined4& DAT_007a79e8= (undefined4&) GH_MEM(0x007a79e8); -undefined1& DAT_007a79ec= (undefined1&) GH_MEM(0x007a79ec); -undefined& DAT_007a7a1e= (undefined&) GH_MEM(0x007a7a1e); -undefined& DAT_007a7a22= (undefined&) GH_MEM(0x007a7a22); -undefined& DAT_007a7a26= (undefined&) GH_MEM(0x007a7a26); -char& DAT_007a7a28= (char&) GH_MEM(0x007a7a28); -undefined& DAT_007a7a50= (undefined&) GH_MEM(0x007a7a50); -undefined& DAT_007a7a54= (undefined&) GH_MEM(0x007a7a54); -undefined& DAT_007a7a58= (undefined&) GH_MEM(0x007a7a58); -char& DAT_007a7a5a= (char&) GH_MEM(0x007a7a5a); -undefined4& DAT_007a7ab4= (undefined4&) GH_MEM(0x007a7ab4); -undefined1& DAT_007a7ab8= (undefined1&) GH_MEM(0x007a7ab8); -undefined& DAT_007a7aea= (undefined&) GH_MEM(0x007a7aea); -undefined& DAT_007a7aee= (undefined&) GH_MEM(0x007a7aee); -undefined& DAT_007a7af2= (undefined&) GH_MEM(0x007a7af2); -undefined& DAT_007a7b1c= (undefined&) GH_MEM(0x007a7b1c); -undefined& DAT_007a7b20= (undefined&) GH_MEM(0x007a7b20); -undefined& DAT_007a7b24= (undefined&) GH_MEM(0x007a7b24); -undefined& DAT_007a7b80= (undefined&) GH_MEM(0x007a7b80); -undefined1& DAT_007a7b84= (undefined1&) GH_MEM(0x007a7b84); -undefined& DAT_007a7bb6= (undefined&) GH_MEM(0x007a7bb6); -undefined& UNK_007a7bb7= (undefined&) GH_MEM(0x007a7bb7); -undefined& DAT_007a7bba= (undefined&) GH_MEM(0x007a7bba); -undefined& UNK_007a7bbb= (undefined&) GH_MEM(0x007a7bbb); -undefined& DAT_007a7bbe= (undefined&) GH_MEM(0x007a7bbe); -char& UNK_007a7bbf= (char&) GH_MEM(0x007a7bbf); -char& DAT_007a7bc0= (char&) GH_MEM(0x007a7bc0); -undefined& DAT_007a7be8= (undefined&) GH_MEM(0x007a7be8); -undefined& UNK_007a7be9= (undefined&) GH_MEM(0x007a7be9); -undefined& DAT_007a7bec= (undefined&) GH_MEM(0x007a7bec); -undefined& UNK_007a7bed= (undefined&) GH_MEM(0x007a7bed); -undefined& DAT_007a7bf0= (undefined&) GH_MEM(0x007a7bf0); -char& UNK_007a7bf1= (char&) GH_MEM(0x007a7bf1); -char& DAT_007a7bf2= (char&) GH_MEM(0x007a7bf2); -undefined& DAT_007a7c4c= (undefined&) GH_MEM(0x007a7c4c); -undefined1& DAT_007a7c50= (undefined1&) GH_MEM(0x007a7c50); -undefined& DAT_007a7c82= (undefined&) GH_MEM(0x007a7c82); -undefined& UNK_007a7c83= (undefined&) GH_MEM(0x007a7c83); -undefined& DAT_007a7c86= (undefined&) GH_MEM(0x007a7c86); -undefined& UNK_007a7c87= (undefined&) GH_MEM(0x007a7c87); -undefined& DAT_007a7c8a= (undefined&) GH_MEM(0x007a7c8a); -char& UNK_007a7c8b= (char&) GH_MEM(0x007a7c8b); -undefined& DAT_007a7cb4= (undefined&) GH_MEM(0x007a7cb4); -undefined& UNK_007a7cb5= (undefined&) GH_MEM(0x007a7cb5); -undefined& DAT_007a7cb8= (undefined&) GH_MEM(0x007a7cb8); -undefined& UNK_007a7cb9= (undefined&) GH_MEM(0x007a7cb9); -undefined& DAT_007a7cbc= (undefined&) GH_MEM(0x007a7cbc); -char& UNK_007a7cbd= (char&) GH_MEM(0x007a7cbd); -undefined& DAT_007a7d18= (undefined&) GH_MEM(0x007a7d18); -undefined1& DAT_007a7d1c= (undefined1&) GH_MEM(0x007a7d1c); -undefined& DAT_007a7d4e= (undefined&) GH_MEM(0x007a7d4e); -undefined& DAT_007a7d52= (undefined&) GH_MEM(0x007a7d52); -undefined& DAT_007a7d56= (undefined&) GH_MEM(0x007a7d56); -undefined& DAT_007a7d5a= (undefined&) GH_MEM(0x007a7d5a); -undefined& DAT_007a7d80= (undefined&) GH_MEM(0x007a7d80); -undefined& DAT_007a7d84= (undefined&) GH_MEM(0x007a7d84); -undefined& DAT_007a7d88= (undefined&) GH_MEM(0x007a7d88); -undefined& DAT_007a7d8c= (undefined&) GH_MEM(0x007a7d8c); -undefined& DAT_007a7de4= (undefined&) GH_MEM(0x007a7de4); -undefined1& DAT_007a7de8= (undefined1&) GH_MEM(0x007a7de8); -undefined& DAT_007a7e1a= (undefined&) GH_MEM(0x007a7e1a); -undefined& UNK_007a7e1b= (undefined&) GH_MEM(0x007a7e1b); -undefined& DAT_007a7e1e= (undefined&) GH_MEM(0x007a7e1e); -undefined& UNK_007a7e1f= (undefined&) GH_MEM(0x007a7e1f); -undefined& DAT_007a7e22= (undefined&) GH_MEM(0x007a7e22); -undefined& UNK_007a7e23= (undefined&) GH_MEM(0x007a7e23); -undefined& DAT_007a7e26= (undefined&) GH_MEM(0x007a7e26); -undefined& UNK_007a7e27= (undefined&) GH_MEM(0x007a7e27); -undefined& DAT_007a7e2a= (undefined&) GH_MEM(0x007a7e2a); -char& UNK_007a7e2b= (char&) GH_MEM(0x007a7e2b); -undefined& DAT_007a7e4c= (undefined&) GH_MEM(0x007a7e4c); -undefined& UNK_007a7e4d= (undefined&) GH_MEM(0x007a7e4d); -undefined& DAT_007a7e50= (undefined&) GH_MEM(0x007a7e50); -undefined& UNK_007a7e51= (undefined&) GH_MEM(0x007a7e51); -undefined& DAT_007a7e54= (undefined&) GH_MEM(0x007a7e54); -undefined& UNK_007a7e55= (undefined&) GH_MEM(0x007a7e55); -undefined& DAT_007a7e58= (undefined&) GH_MEM(0x007a7e58); -undefined& UNK_007a7e59= (undefined&) GH_MEM(0x007a7e59); -undefined& DAT_007a7e5c= (undefined&) GH_MEM(0x007a7e5c); -char& UNK_007a7e5d= (char&) GH_MEM(0x007a7e5d); -undefined& DAT_007a7eb0= (undefined&) GH_MEM(0x007a7eb0); -undefined1& DAT_007a7eb4= (undefined1&) GH_MEM(0x007a7eb4); -undefined& DAT_007a7ee6= (undefined&) GH_MEM(0x007a7ee6); -undefined& UNK_007a7ee7= (undefined&) GH_MEM(0x007a7ee7); -undefined& DAT_007a7eea= (undefined&) GH_MEM(0x007a7eea); -undefined& UNK_007a7eeb= (undefined&) GH_MEM(0x007a7eeb); -char& DAT_007a7eee= (char&) GH_MEM(0x007a7eee); -undefined& DAT_007a7f18= (undefined&) GH_MEM(0x007a7f18); -undefined& UNK_007a7f19= (undefined&) GH_MEM(0x007a7f19); -undefined& DAT_007a7f1c= (undefined&) GH_MEM(0x007a7f1c); -undefined& UNK_007a7f1d= (undefined&) GH_MEM(0x007a7f1d); -char& DAT_007a7f20= (char&) GH_MEM(0x007a7f20); -undefined& DAT_007a7f7c= (undefined&) GH_MEM(0x007a7f7c); -undefined1& DAT_007a7f80= (undefined1&) GH_MEM(0x007a7f80); -undefined& DAT_007a7fb2= (undefined&) GH_MEM(0x007a7fb2); -undefined& UNK_007a7fb3= (undefined&) GH_MEM(0x007a7fb3); -undefined& DAT_007a7fb6= (undefined&) GH_MEM(0x007a7fb6); -undefined& UNK_007a7fb7= (undefined&) GH_MEM(0x007a7fb7); -char& DAT_007a7fba= (char&) GH_MEM(0x007a7fba); -undefined& DAT_007a8048= (undefined&) GH_MEM(0x007a8048); -undefined1& DAT_007a804c= (undefined1&) GH_MEM(0x007a804c); -undefined4& DAT_007a807e= (undefined4&) GH_MEM(0x007a807e); -undefined& DAT_007a8114= (undefined&) GH_MEM(0x007a8114); -undefined1& DAT_007a8118= (undefined1&) GH_MEM(0x007a8118); -undefined& DAT_007a814a= (undefined&) GH_MEM(0x007a814a); -undefined& UNK_007a814b= (undefined&) GH_MEM(0x007a814b); -undefined& DAT_007a814e= (undefined&) GH_MEM(0x007a814e); -undefined& UNK_007a814f= (undefined&) GH_MEM(0x007a814f); -undefined& DAT_007a8152= (undefined&) GH_MEM(0x007a8152); -undefined& UNK_007a8153= (undefined&) GH_MEM(0x007a8153); -undefined& DAT_007a8156= (undefined&) GH_MEM(0x007a8156); -undefined& UNK_007a8157= (undefined&) GH_MEM(0x007a8157); -undefined& DAT_007a815a= (undefined&) GH_MEM(0x007a815a); -char& UNK_007a815b= (char&) GH_MEM(0x007a815b); -char& DAT_007a815c= (char&) GH_MEM(0x007a815c); -undefined& DAT_007a81e0= (undefined&) GH_MEM(0x007a81e0); -undefined1& DAT_007a81e4= (undefined1&) GH_MEM(0x007a81e4); -undefined2& DAT_007a8216= (undefined2&) GH_MEM(0x007a8216); -undefined& DAT_007a82ac= (undefined&) GH_MEM(0x007a82ac); -undefined1& DAT_007a82b0= (undefined1&) GH_MEM(0x007a82b0); -undefined2& DAT_007a82e2= (undefined2&) GH_MEM(0x007a82e2); -undefined& DAT_007a8378= (undefined&) GH_MEM(0x007a8378); -GLI_tdstTexture *& DAT_007a837c= (GLI_tdstTexture *&) GH_MEM(0x007a837c); -undefined4& DAT_007a8380= (undefined4&) GH_MEM(0x007a8380); -undefined4& DAT_007a8400= (undefined4&) GH_MEM(0x007a8400); -undefined4& DAT_007a8404= (undefined4&) GH_MEM(0x007a8404); -undefined4& DAT_007a8408= (undefined4&) GH_MEM(0x007a8408); -undefined4& DAT_007a840c= (undefined4&) GH_MEM(0x007a840c); -undefined4& DAT_007a8410= (undefined4&) GH_MEM(0x007a8410); -undefined4& DAT_007a8414= (undefined4&) GH_MEM(0x007a8414); -undefined4& DAT_007a8418= (undefined4&) GH_MEM(0x007a8418); -undefined4& DAT_007a841c= (undefined4&) GH_MEM(0x007a841c); -undefined& DAT_007a8420= (undefined&) GH_MEM(0x007a8420); -undefined& DAT_007a8424= (undefined&) GH_MEM(0x007a8424); -undefined& DAT_007a8428= (undefined&) GH_MEM(0x007a8428); -undefined& DAT_007a842c= (undefined&) GH_MEM(0x007a842c); -undefined& DAT_007a8430= (undefined&) GH_MEM(0x007a8430); -undefined4& DAT_007a8434= (undefined4&) GH_MEM(0x007a8434); -undefined& DAT_007a8438= (undefined&) GH_MEM(0x007a8438); -undefined& DAT_007a843c= (undefined&) GH_MEM(0x007a843c); -undefined2& DAT_007a8440= (undefined2&) GH_MEM(0x007a8440); -undefined2& DAT_007a8442= (undefined2&) GH_MEM(0x007a8442); -undefined2& DAT_007a8444= (undefined2&) GH_MEM(0x007a8444); -undefined2& DAT_007a8446= (undefined2&) GH_MEM(0x007a8446); -undefined2& DAT_007a8448= (undefined2&) GH_MEM(0x007a8448); -undefined2& DAT_007a844a= (undefined2&) GH_MEM(0x007a844a); -undefined& DAT_007a844c= (undefined&) GH_MEM(0x007a844c); -undefined4& DAT_007a8450= (undefined4&) GH_MEM(0x007a8450); -undefined& DAT_007a8454= (undefined&) GH_MEM(0x007a8454); -undefined& DAT_007a8458= (undefined&) GH_MEM(0x007a8458); -undefined4& DAT_007a845c= (undefined4&) GH_MEM(0x007a845c); -undefined& DAT_007a8460= (undefined&) GH_MEM(0x007a8460); -undefined& DAT_007a8464= (undefined&) GH_MEM(0x007a8464); -undefined4& DAT_007a8468= (undefined4&) GH_MEM(0x007a8468); -undefined& DAT_007a846c= (undefined&) GH_MEM(0x007a846c); -undefined& DAT_007a8470= (undefined&) GH_MEM(0x007a8470); -undefined4& DAT_007a8474= (undefined4&) GH_MEM(0x007a8474); -undefined4& DAT_007a8478= (undefined4&) GH_MEM(0x007a8478); -undefined1& DAT_007a847c= (undefined1&) GH_MEM(0x007a847c); -GLI_tdstTexture *& DAT_007a8490= (GLI_tdstTexture *&) GH_MEM(0x007a8490); -undefined4& DAT_007a84a0= (undefined4&) GH_MEM(0x007a84a0); -int& DAT_007a84b0= (int&) GH_MEM(0x007a84b0); -int& DAT_007a84b4= (int&) GH_MEM(0x007a84b4); -undefined4& DAT_007a84b8= (undefined4&) GH_MEM(0x007a84b8); -undefined4& DAT_007a84bc= (undefined4&) GH_MEM(0x007a84bc); -int& DAT_007a84c0= (int&) GH_MEM(0x007a84c0); -undefined& DAT_007a84e0= (undefined&) GH_MEM(0x007a84e0); -undefined& DAT_007a84e4= (undefined&) GH_MEM(0x007a84e4); -undefined& DAT_007a84e8= (undefined&) GH_MEM(0x007a84e8); -undefined4& DAT_007a84ec= (undefined4&) GH_MEM(0x007a84ec); -undefined4& DAT_007a84f0= (undefined4&) GH_MEM(0x007a84f0); -undefined4& DAT_007a8520= (undefined4&) GH_MEM(0x007a8520); -undefined4& DAT_007a859c= (undefined4&) GH_MEM(0x007a859c); -undefined4& DAT_007a85b4= (undefined4&) GH_MEM(0x007a85b4); -undefined4& DAT_007a85cc= (undefined4&) GH_MEM(0x007a85cc); -undefined4& DAT_007a85d0= (undefined4&) GH_MEM(0x007a85d0); -undefined4& DAT_007a85d4= (undefined4&) GH_MEM(0x007a85d4); -undefined4& DAT_007a85d8= (undefined4&) GH_MEM(0x007a85d8); -undefined4& DAT_007a85dc= (undefined4&) GH_MEM(0x007a85dc); -undefined4& DAT_007a85e4= (undefined4&) GH_MEM(0x007a85e4); -undefined4& DAT_007a85ec= (undefined4&) GH_MEM(0x007a85ec); -undefined4& DAT_007a85f0= (undefined4&) GH_MEM(0x007a85f0); -undefined4& DAT_007a85f4= (undefined4&) GH_MEM(0x007a85f4); -undefined4& DAT_007a85f8= (undefined4&) GH_MEM(0x007a85f8); -undefined4& DAT_007a85fc= (undefined4&) GH_MEM(0x007a85fc); -undefined4& DAT_007a8600= (undefined4&) GH_MEM(0x007a8600); -undefined4& DAT_007a8618= (undefined4&) GH_MEM(0x007a8618); -undefined4& DAT_007a861c= (undefined4&) GH_MEM(0x007a861c); -undefined4& DAT_007a8620= (undefined4&) GH_MEM(0x007a8620); -undefined4& DAT_007a8624= (undefined4&) GH_MEM(0x007a8624); -undefined4& DAT_007a8628= (undefined4&) GH_MEM(0x007a8628); -undefined4& DAT_007a862c= (undefined4&) GH_MEM(0x007a862c); -undefined4& DAT_007a863c= (undefined4&) GH_MEM(0x007a863c); -undefined4& DAT_007a8670= (undefined4&) GH_MEM(0x007a8670); -undefined4& DAT_007a8684= (undefined4&) GH_MEM(0x007a8684); -undefined4& DAT_007a86c4= (undefined4&) GH_MEM(0x007a86c4); -undefined4& DAT_007a86d4= (undefined4&) GH_MEM(0x007a86d4); -undefined4& DAT_007a86d8= (undefined4&) GH_MEM(0x007a86d8); -undefined4& DAT_007a86dc= (undefined4&) GH_MEM(0x007a86dc); -undefined4& DAT_007a86e0= (undefined4&) GH_MEM(0x007a86e0); -undefined4& DAT_007a86e4= (undefined4&) GH_MEM(0x007a86e4); -undefined4& DAT_007a86e8= (undefined4&) GH_MEM(0x007a86e8); -undefined4& DAT_007a86ec= (undefined4&) GH_MEM(0x007a86ec); -undefined4& DAT_007a86f0= (undefined4&) GH_MEM(0x007a86f0); -undefined4& DAT_007a86f4= (undefined4&) GH_MEM(0x007a86f4); -undefined4& DAT_007a86f8= (undefined4&) GH_MEM(0x007a86f8); -undefined4& DAT_007a8710= (undefined4&) GH_MEM(0x007a8710); -undefined4& DAT_007a8714= (undefined4&) GH_MEM(0x007a8714); -undefined4& DAT_007a8718= (undefined4&) GH_MEM(0x007a8718); -undefined4& DAT_007a871c= (undefined4&) GH_MEM(0x007a871c); -undefined4& DAT_007a8728= (undefined4&) GH_MEM(0x007a8728); -int& DAT_007a9c00= (int&) GH_MEM(0x007a9c00); -undefined4& DAT_007a9c04= (undefined4&) GH_MEM(0x007a9c04); -int& DAT_007a9c08= (int&) GH_MEM(0x007a9c08); -int& DAT_007a9c0c= (int&) GH_MEM(0x007a9c0c); -int& DAT_007a9c10= (int&) GH_MEM(0x007a9c10); -int& DAT_007a9c14= (int&) GH_MEM(0x007a9c14); -int& DAT_007a9d24= (int&) GH_MEM(0x007a9d24); -int& DAT_007a9d28= (int&) GH_MEM(0x007a9d28); -int& DAT_007a9d2c= (int&) GH_MEM(0x007a9d2c); -int& DAT_007a9d30= (int&) GH_MEM(0x007a9d30); -int& DAT_007a9d34= (int&) GH_MEM(0x007a9d34); -int& DAT_007a9d38= (int&) GH_MEM(0x007a9d38); -int& DAT_007a9d3c= (int&) GH_MEM(0x007a9d3c); -int& DAT_007a9d40= (int&) GH_MEM(0x007a9d40); -undefined4& DAT_007a9d44= (undefined4&) GH_MEM(0x007a9d44); -int& DAT_007a9d48= (int&) GH_MEM(0x007a9d48); -int& DAT_007a9d4c= (int&) GH_MEM(0x007a9d4c); -undefined4& DAT_007a9d50= (undefined4&) GH_MEM(0x007a9d50); -int& DAT_007a9d54= (int&) GH_MEM(0x007a9d54); -undefined4& DAT_007a9d64= (undefined4&) GH_MEM(0x007a9d64); -undefined1& DAT_007a9d68= (undefined1&) GH_MEM(0x007a9d68); -undefined& DAT_007a9d9a= (undefined&) GH_MEM(0x007a9d9a); -undefined& DAT_007a9dcc= (undefined&) GH_MEM(0x007a9dcc); -undefined& DAT_007a9dfe= (undefined&) GH_MEM(0x007a9dfe); -undefined& DAT_007a9e30= (undefined&) GH_MEM(0x007a9e30); -undefined& DAT_007a9f91= (undefined&) GH_MEM(0x007a9f91); -undefined4& DAT_007a9fa4= (undefined4&) GH_MEM(0x007a9fa4); -undefined4& DAT_007a9fa8= (undefined4&) GH_MEM(0x007a9fa8); -undefined& DAT_007ab234= (undefined&) GH_MEM(0x007ab234); -undefined& DAT_007ab484= (undefined&) GH_MEM(0x007ab484); -undefined1& DAT_007ab488= (undefined1&) GH_MEM(0x007ab488); -undefined1& DAT_007ab4ba= (undefined1&) GH_MEM(0x007ab4ba); -undefined1& DAT_007ab4ec= (undefined1&) GH_MEM(0x007ab4ec); -undefined1& DAT_007ab51e= (undefined1&) GH_MEM(0x007ab51e); -undefined1& DAT_007ab550= (undefined1&) GH_MEM(0x007ab550); -undefined& DAT_007ab6c4= (undefined&) GH_MEM(0x007ab6c4); -undefined& DAT_007ab6c8= (undefined&) GH_MEM(0x007ab6c8); -undefined& DAT_007ab6d4= (undefined&) GH_MEM(0x007ab6d4); -undefined& DAT_007ab924= (undefined&) GH_MEM(0x007ab924); -undefined& DAT_007abb74= (undefined&) GH_MEM(0x007abb74); -undefined& DAT_007abb78= (undefined&) GH_MEM(0x007abb78); -undefined& DAT_007abdc4= (undefined&) GH_MEM(0x007abdc4); -undefined& DAT_007ac014= (undefined&) GH_MEM(0x007ac014); -undefined& DAT_007ac264= (undefined&) GH_MEM(0x007ac264); -undefined& DAT_007ac4b4= (undefined&) GH_MEM(0x007ac4b4); -undefined& DAT_007ac704= (undefined&) GH_MEM(0x007ac704); -undefined& DAT_007ac954= (undefined&) GH_MEM(0x007ac954); -undefined& DAT_007acba4= (undefined&) GH_MEM(0x007acba4); -undefined& DAT_007acdf4= (undefined&) GH_MEM(0x007acdf4); -undefined& DAT_007ad044= (undefined&) GH_MEM(0x007ad044); -undefined& DAT_007ad294= (undefined&) GH_MEM(0x007ad294); -undefined& DAT_007ad4e4= (undefined&) GH_MEM(0x007ad4e4); -undefined& DAT_007ad4e8= (undefined&) GH_MEM(0x007ad4e8); -undefined& DAT_007ad734= (undefined&) GH_MEM(0x007ad734); -undefined& DAT_007ad738= (undefined&) GH_MEM(0x007ad738); -undefined& DAT_007ad974= (undefined&) GH_MEM(0x007ad974); -undefined& DAT_007ad978= (undefined&) GH_MEM(0x007ad978); -undefined& DAT_007cf200= (undefined&) GH_MEM(0x007cf200); -undefined4& DAT_007cf204= (undefined4&) GH_MEM(0x007cf204); -undefined4& DAT_007cf208= (undefined4&) GH_MEM(0x007cf208); -undefined4& DAT_007cf420= (undefined4&) GH_MEM(0x007cf420); -undefined4& DAT_007cf424= (undefined4&) GH_MEM(0x007cf424); -undefined& DAT_007cf428= (undefined&) GH_MEM(0x007cf428); -undefined4& DAT_007cf42c= (undefined4&) GH_MEM(0x007cf42c); -undefined4& DAT_007cf430= (undefined4&) GH_MEM(0x007cf430); -undefined4& DAT_007cf434= (undefined4&) GH_MEM(0x007cf434); -undefined4& DAT_007cf438= (undefined4&) GH_MEM(0x007cf438); -undefined4& DAT_007cf43c= (undefined4&) GH_MEM(0x007cf43c); -undefined4& DAT_007cf440= (undefined4&) GH_MEM(0x007cf440); -undefined4& DAT_007cf444= (undefined4&) GH_MEM(0x007cf444); -undefined4& DAT_007cf448= (undefined4&) GH_MEM(0x007cf448); -undefined4& DAT_007cf44c= (undefined4&) GH_MEM(0x007cf44c); -undefined4& DAT_007cf450= (undefined4&) GH_MEM(0x007cf450); -undefined& DAT_007cf460= (undefined&) GH_MEM(0x007cf460); -undefined& DAT_007cf600= (undefined&) GH_MEM(0x007cf600); -undefined& DAT_007cf7a0= (undefined&) GH_MEM(0x007cf7a0); -undefined& DAT_007cf940= (undefined&) GH_MEM(0x007cf940); -undefined& DAT_007cfae0= (undefined&) GH_MEM(0x007cfae0); -undefined& DAT_007cfc80= (undefined&) GH_MEM(0x007cfc80); -undefined& DAT_007cfe20= (undefined&) GH_MEM(0x007cfe20); -undefined& DAT_007cffc0= (undefined&) GH_MEM(0x007cffc0); -undefined& DAT_007d0160= (undefined&) GH_MEM(0x007d0160); -undefined& DAT_007d0300= (undefined&) GH_MEM(0x007d0300); -undefined& DAT_007d04a0= (undefined&) GH_MEM(0x007d04a0); -undefined& DAT_007d0640= (undefined&) GH_MEM(0x007d0640); -undefined& DAT_007d07e0= (undefined&) GH_MEM(0x007d07e0); -undefined4& DAT_007d0980= (undefined4&) GH_MEM(0x007d0980); -undefined4& DAT_007d0984= (undefined4&) GH_MEM(0x007d0984); -undefined4& DAT_007d0988= (undefined4&) GH_MEM(0x007d0988); -undefined4& DAT_007d099c= (undefined4&) GH_MEM(0x007d099c); -undefined4& DAT_007d6f10= (undefined4&) GH_MEM(0x007d6f10); -undefined4& DAT_007d6f14= (undefined4&) GH_MEM(0x007d6f14); -undefined4& DAT_007d6f18= (undefined4&) GH_MEM(0x007d6f18); -undefined& DAT_007d6f20= (undefined&) GH_MEM(0x007d6f20); -undefined& DAT_007d6f24= (undefined&) GH_MEM(0x007d6f24); -undefined4& DAT_007d6f28= (undefined4&) GH_MEM(0x007d6f28); -undefined4& DAT_007d6f2c= (undefined4&) GH_MEM(0x007d6f2c); -undefined4& DAT_007d6f40= (undefined4&) GH_MEM(0x007d6f40); -undefined4& DAT_007d7040= (undefined4&) GH_MEM(0x007d7040); -undefined4& DAT_007d7044= (undefined4&) GH_MEM(0x007d7044); -undefined4& DAT_007d7440= (undefined4&) GH_MEM(0x007d7440); -undefined4& DAT_007d74c0= (undefined4&) GH_MEM(0x007d74c0); -undefined4& DAT_007d7540= (undefined4&) GH_MEM(0x007d7540); -undefined& DAT_007d7820= (undefined&) GH_MEM(0x007d7820); -undefined1& DAT_007d7840= (undefined1&) GH_MEM(0x007d7840); -undefined& DAT_007d7860= (undefined&) GH_MEM(0x007d7860); -int& DAT_007d78b0= (int&) GH_MEM(0x007d78b0); -undefined& DAT_007d78b9= (undefined&) GH_MEM(0x007d78b9); -undefined& DAT_007d78ba= (undefined&) GH_MEM(0x007d78ba); -undefined& DAT_007d78bb= (undefined&) GH_MEM(0x007d78bb); -undefined& DAT_007d78bc= (undefined&) GH_MEM(0x007d78bc); -undefined& DAT_007d78bd= (undefined&) GH_MEM(0x007d78bd); -undefined& DAT_007d78be= (undefined&) GH_MEM(0x007d78be); -undefined1& DAT_007d78c0= (undefined1&) GH_MEM(0x007d78c0); -undefined& DAT_007d7968= (undefined&) GH_MEM(0x007d7968); -undefined& DAT_007d796c= (undefined&) GH_MEM(0x007d796c); -undefined& DAT_007d7970= (undefined&) GH_MEM(0x007d7970); -undefined1& DAT_007d7971= (undefined1&) GH_MEM(0x007d7971); -undefined1& DAT_007d7972= (undefined1&) GH_MEM(0x007d7972); -undefined1& DAT_007d7973= (undefined1&) GH_MEM(0x007d7973); -undefined2& DAT_007d798e= (undefined2&) GH_MEM(0x007d798e); -undefined4& DAT_007d79e8= (undefined4&) GH_MEM(0x007d79e8); -undefined4& DAT_007d79ec= (undefined4&) GH_MEM(0x007d79ec); -undefined4& DAT_007d79f0= (undefined4&) GH_MEM(0x007d79f0); -undefined& DAT_007d7a00= (undefined&) GH_MEM(0x007d7a00); -undefined& DAT_007d7a20= (undefined&) GH_MEM(0x007d7a20); -undefined4& DAT_007d7a40= (undefined4&) GH_MEM(0x007d7a40); -undefined& g_loadLevelCriticalSection= (undefined&) GH_MEM(0x007d7a80); -undefined& lpThreadId_007d7a98= (undefined&) GH_MEM(0x007d7a98); -HANDLE& g_thread0= (HANDLE&) GH_MEM(0x007d7a9c); -int& DAT_007d7aa0= (int&) GH_MEM(0x007d7aa0); -GLI_tdstTexture *& DAT_007d7aa8= (GLI_tdstTexture *&) GH_MEM(0x007d7aa8); -undefined4& DAT_007d7ab0= (undefined4&) GH_MEM(0x007d7ab0); -undefined4& DAT_007d7ab4= (undefined4&) GH_MEM(0x007d7ab4); -undefined4& DAT_007d7ab8= (undefined4&) GH_MEM(0x007d7ab8); -undefined4& DAT_007d7abc= (undefined4&) GH_MEM(0x007d7abc); -undefined1& DAT_007d7ac0= (undefined1&) GH_MEM(0x007d7ac0); -undefined& DAT_007d7c54= (undefined&) GH_MEM(0x007d7c54); -byte& DAT_007d7c58= (byte&) GH_MEM(0x007d7c58); -undefined& DAT_007d7c60= (undefined&) GH_MEM(0x007d7c60); -undefined4& DAT_007d7c64= (undefined4&) GH_MEM(0x007d7c64); -undefined& DAT_007d7c68= (undefined&) GH_MEM(0x007d7c68); -float& FLOAT_007d7c6c= (float&) GH_MEM(0x007d7c6c); -GLI_tdstTexture *& DAT_007d7d80= (GLI_tdstTexture *&) GH_MEM(0x007d7d80); -undefined1& g_ucIsEdInGhostMode= (undefined1&) GH_MEM(0x007d7d84); -GLI_tdstTexture *& DAT_007d7d88= (GLI_tdstTexture *&) GH_MEM(0x007d7d88); -undefined& g_haveCmdlineLevel= (undefined&) GH_MEM(0x007d7d8c); -undefined& DAT_007d7d90= (undefined&) GH_MEM(0x007d7d90); -undefined& DAT_007d7da0= (undefined&) GH_MEM(0x007d7da0); -undefined& DAT_007d7da4= (undefined&) GH_MEM(0x007d7da4); -undefined& DAT_007d7da8= (undefined&) GH_MEM(0x007d7da8); -undefined& DAT_007d7dac= (undefined&) GH_MEM(0x007d7dac); -GAM_tdstEngineStructure& g_r3_engine= (GAM_tdstEngineStructure&) GH_MEM(0x007d7dc0); -byte& BYTE_007d98f5= (byte&) GH_MEM(0x007d98f5); -byte& BYTE_007d98f6= (byte&) GH_MEM(0x007d98f6); -byte& BYTE_007d98f7= (byte&) GH_MEM(0x007d98f7); -byte& BYTE_007d98f8= (byte&) GH_MEM(0x007d98f8); -byte& DAT_007d98fa= (byte&) GH_MEM(0x007d98fa); -undefined1& DAT_007d98fc= (undefined1&) GH_MEM(0x007d98fc); -undefined1& DAT_007d98fd= (undefined1&) GH_MEM(0x007d98fd); -char& DAT_007d98fe= (char&) GH_MEM(0x007d98fe); -undefined& DAT_007d9900= (undefined&) GH_MEM(0x007d9900); -GLI_tdstTexture *& DAT_007d9904= (GLI_tdstTexture *&) GH_MEM(0x007d9904); -GLI_tdstTexture *& DAT_007d990c= (GLI_tdstTexture *&) GH_MEM(0x007d990c); -undefined4 *& DAT_007d9910= (undefined4 *&) GH_MEM(0x007d9910); -undefined4& DAT_007d9914= (undefined4&) GH_MEM(0x007d9914); -undefined4& DAT_007d9920= (undefined4&) GH_MEM(0x007d9920); -GLI_tdstTexture *& DAT_007d9924= (GLI_tdstTexture *&) GH_MEM(0x007d9924); -undefined1& DAT_007d9928= (undefined1&) GH_MEM(0x007d9928); -GLI_tdstTexture *& DAT_007d992c= (GLI_tdstTexture *&) GH_MEM(0x007d992c); -GLI_tdstTexture *& DAT_007d9930= (GLI_tdstTexture *&) GH_MEM(0x007d9930); -int& DAT_007d9934= (int&) GH_MEM(0x007d9934); -char& DAT_007d9940= (char&) GH_MEM(0x007d9940); -GLI_tdstTexture *& DAT_007d9a48= (GLI_tdstTexture *&) GH_MEM(0x007d9a48); -GLI_tdstTexture *& DAT_007d9a4c= (GLI_tdstTexture *&) GH_MEM(0x007d9a4c); -SND_tduRefEvt& DAT_007d9a50= (SND_tduRefEvt&) GH_MEM(0x007d9a50); -undefined4& DAT_007d9a60= (undefined4&) GH_MEM(0x007d9a60); -undefined& DAT_007d9a64= (undefined&) GH_MEM(0x007d9a64); -undefined& DAT_007d9a68= (undefined&) GH_MEM(0x007d9a68); -undefined& DAT_007d9a6c= (undefined&) GH_MEM(0x007d9a6c); -undefined& DAT_007d9a70= (undefined&) GH_MEM(0x007d9a70); -undefined& DAT_007d9a74= (undefined&) GH_MEM(0x007d9a74); -undefined4& DAT_007d9a78= (undefined4&) GH_MEM(0x007d9a78); -undefined& DAT_007d9a7c= (undefined&) GH_MEM(0x007d9a7c); -undefined& DAT_007d9a80= (undefined&) GH_MEM(0x007d9a80); -GLI_tdstTexture *& DAT_007d9a84= (GLI_tdstTexture *&) GH_MEM(0x007d9a84); -undefined& lpReturnedString_007d9aa0= (undefined&) GH_MEM(0x007d9aa0); -uint& DAT_007d9cc4= (uint&) GH_MEM(0x007d9cc4); -undefined& g_texturesFilenameBuf= (undefined&) GH_MEM(0x007d9ce0); -undefined& DAT_007d9e00= (undefined&) GH_MEM(0x007d9e00); -undefined& lpSystemTime_007d9e40= (undefined&) GH_MEM(0x007d9e40); -undefined& lpSystemTime_007d9e50= (undefined&) GH_MEM(0x007d9e50); -undefined4& DAT_007d9e60= (undefined4&) GH_MEM(0x007d9e60); -word& WORD_007d9e68= (word&) GH_MEM(0x007d9e68); -char(&sz_S)[2] = reinterpret_cast(GH_MEM(0x007d9e6a)); -word& WORD_007d9e6c= (word&) GH_MEM(0x007d9e6c); -char(&sz_M)[2] = reinterpret_cast(GH_MEM(0x007d9e6e)); -pointer& lpRootPathName_007d9e70= (pointer&) GH_MEM(0x007d9e70); -undefined1& DAT_007d9e78= (undefined1&) GH_MEM(0x007d9e78); -undefined& DAT_007d9e80= (undefined&) GH_MEM(0x007d9e80); -char& DAT_007db015= (char&) GH_MEM(0x007db015); -undefined4& DAT_007db020= (undefined4&) GH_MEM(0x007db020); -undefined4& DAT_007db820= (undefined4&) GH_MEM(0x007db820); -undefined4& DAT_007dc020= (undefined4&) GH_MEM(0x007dc020); -uint& DAT_007dc820= (uint&) GH_MEM(0x007dc820); -undefined4& DAT_007dc824= (undefined4&) GH_MEM(0x007dc824); -undefined4& DAT_007dc880= (undefined4&) GH_MEM(0x007dc880); -undefined4& DAT_007dc884= (undefined4&) GH_MEM(0x007dc884); -undefined& DAT_007e3a60= (undefined&) GH_MEM(0x007e3a60); -undefined& DAT_007e3a64= (undefined&) GH_MEM(0x007e3a64); -undefined& DAT_007e3a68= (undefined&) GH_MEM(0x007e3a68); -undefined& DAT_007e3a6c= (undefined&) GH_MEM(0x007e3a6c); -undefined& DAT_007e3a70= (undefined&) GH_MEM(0x007e3a70); -undefined& DAT_007e3a74= (undefined&) GH_MEM(0x007e3a74); -undefined& DAT_007e3a78= (undefined&) GH_MEM(0x007e3a78); -undefined& DAT_007e3a7c= (undefined&) GH_MEM(0x007e3a7c); -char *& DAT_007e3a88= (char *&) GH_MEM(0x007e3a88); -undefined4& DAT_007e3a90= (undefined4&) GH_MEM(0x007e3a90); -undefined4& DAT_007e3a94= (undefined4&) GH_MEM(0x007e3a94); -dword(&g_textureTable)[1024] = reinterpret_cast(GH_MEM(0x007e3aa0)); -GLI_tdstTexture *(&g_textureTable2)[1024] = reinterpret_cast(GH_MEM(0x007e4aa0)); -undefined4& DAT_007e5aa4= (undefined4&) GH_MEM(0x007e5aa4); -undefined4& DAT_007e5aa8= (undefined4&) GH_MEM(0x007e5aa8); -uint& DAT_007e5ab4= (uint&) GH_MEM(0x007e5ab4); -int& DAT_007e5ac4= (int&) GH_MEM(0x007e5ac4); -int& DAT_007e5ac8= (int&) GH_MEM(0x007e5ac8); -int& DAT_007e5acc= (int&) GH_MEM(0x007e5acc); -int& DAT_007e5ad0= (int&) GH_MEM(0x007e5ad0); -undefined1& DAT_007e5ad4= (undefined1&) GH_MEM(0x007e5ad4); -undefined& g_perfCounterRate= (undefined&) GH_MEM(0x007e5ad8); -int& DAT_007e5adc= (int&) GH_MEM(0x007e5adc); -undefined& DAT_007e6340= (undefined&) GH_MEM(0x007e6340); -undefined4& DAT_007e6344= (undefined4&) GH_MEM(0x007e6344); -undefined4& DAT_007e6348= (undefined4&) GH_MEM(0x007e6348); -undefined4& DAT_007e634c= (undefined4&) GH_MEM(0x007e634c); -undefined4& DAT_007e6354= (undefined4&) GH_MEM(0x007e6354); -undefined4& DAT_007e6358= (undefined4&) GH_MEM(0x007e6358); -undefined4& DAT_007e635c= (undefined4&) GH_MEM(0x007e635c); -undefined1& DAT_007e6418= (undefined1&) GH_MEM(0x007e6418); -undefined4& DAT_007e6440= (undefined4&) GH_MEM(0x007e6440); -undefined& DAT_007e7270= (undefined&) GH_MEM(0x007e7270); -undefined4& DAT_007e74c0= (undefined4&) GH_MEM(0x007e74c0); -undefined4& DAT_007e74d0= (undefined4&) GH_MEM(0x007e74d0); -undefined4& DAT_007e74d4= (undefined4&) GH_MEM(0x007e74d4); -undefined4& DAT_007e74d8= (undefined4&) GH_MEM(0x007e74d8); -undefined4& DAT_007e74dc= (undefined4&) GH_MEM(0x007e74dc); -undefined4& DAT_007e74e0= (undefined4&) GH_MEM(0x007e74e0); -undefined1& DAT_007e758c= (undefined1&) GH_MEM(0x007e758c); -undefined1& DAT_007e758d= (undefined1&) GH_MEM(0x007e758d); -undefined4& DAT_007e7590= (undefined4&) GH_MEM(0x007e7590); -undefined4& DAT_007e75b0= (undefined4&) GH_MEM(0x007e75b0); -undefined4& DAT_007e75b4= (undefined4&) GH_MEM(0x007e75b4); -undefined4& DAT_007e75b8= (undefined4&) GH_MEM(0x007e75b8); -undefined4& DAT_007e75c0= (undefined4&) GH_MEM(0x007e75c0); -undefined4& DAT_007e75c4= (undefined4&) GH_MEM(0x007e75c4); -undefined4& DAT_007e75c8= (undefined4&) GH_MEM(0x007e75c8); -undefined4& DAT_007e75d0= (undefined4&) GH_MEM(0x007e75d0); -undefined4& DAT_007e75d4= (undefined4&) GH_MEM(0x007e75d4); -undefined4& DAT_007e75d8= (undefined4&) GH_MEM(0x007e75d8); -undefined4& DAT_007e75e0= (undefined4&) GH_MEM(0x007e75e0); -undefined4& DAT_007e75e4= (undefined4&) GH_MEM(0x007e75e4); -undefined4& DAT_007e75e8= (undefined4&) GH_MEM(0x007e75e8); -undefined4& DAT_007e75f0= (undefined4&) GH_MEM(0x007e75f0); -undefined4& DAT_007e75f4= (undefined4&) GH_MEM(0x007e75f4); -undefined4& DAT_007e75f8= (undefined4&) GH_MEM(0x007e75f8); -uint& DAT_007e7d04= (uint&) GH_MEM(0x007e7d04); -int& DAT_007e7d08= (int&) GH_MEM(0x007e7d08); -int& DAT_007e7d0c= (int&) GH_MEM(0x007e7d0c); -int& DAT_007e7d10= (int&) GH_MEM(0x007e7d10); -undefined4& DAT_007e7d18= (undefined4&) GH_MEM(0x007e7d18); -undefined4& DAT_007e7d20= (undefined4&) GH_MEM(0x007e7d20); -undefined4& DAT_007e7d24= (undefined4&) GH_MEM(0x007e7d24); -undefined4& DAT_007e7d28= (undefined4&) GH_MEM(0x007e7d28); -int& DAT_007e7d2c= (int&) GH_MEM(0x007e7d2c); -undefined& DAT_007e7d40= (undefined&) GH_MEM(0x007e7d40); -undefined4& DAT_007e7d68= (undefined4&) GH_MEM(0x007e7d68); -undefined4& DAT_007e7d70= (undefined4&) GH_MEM(0x007e7d70); -undefined4& DAT_007e7d78= (undefined4&) GH_MEM(0x007e7d78); -undefined& DAT_007eaf50= (undefined&) GH_MEM(0x007eaf50); -undefined& DAT_007eaf54= (undefined&) GH_MEM(0x007eaf54); -int& DAT_007eaf60= (int&) GH_MEM(0x007eaf60); -int& DAT_007eaf64= (int&) GH_MEM(0x007eaf64); -undefined& DAT_007eaf68= (undefined&) GH_MEM(0x007eaf68); -int& DAT_007eaf7c= (int&) GH_MEM(0x007eaf7c); -int& DAT_007eaf8c= (int&) GH_MEM(0x007eaf8c); -int& DAT_007eaf90= (int&) GH_MEM(0x007eaf90); -int& DAT_007eaf94= (int&) GH_MEM(0x007eaf94); -int& DAT_007eaf9c= (int&) GH_MEM(0x007eaf9c); -int& DAT_007eafa0= (int&) GH_MEM(0x007eafa0); -int& DAT_007eafa4= (int&) GH_MEM(0x007eafa4); -int& DAT_007eafa8= (int&) GH_MEM(0x007eafa8); -int *& DAT_007eafac= (int *&) GH_MEM(0x007eafac); -int& DAT_007eb020= (int&) GH_MEM(0x007eb020); -int& DAT_007eb024= (int&) GH_MEM(0x007eb024); -int& DAT_007eb028= (int&) GH_MEM(0x007eb028); -int& DAT_007eb02c= (int&) GH_MEM(0x007eb02c); -int& DAT_007eb030= (int&) GH_MEM(0x007eb030); -int& DAT_007eb034= (int&) GH_MEM(0x007eb034); -int& DAT_007eb038= (int&) GH_MEM(0x007eb038); -int& DAT_007eb03c= (int&) GH_MEM(0x007eb03c); -float& DAT_007eb040= (float&) GH_MEM(0x007eb040); -float& DAT_007eb044= (float&) GH_MEM(0x007eb044); -IDirect3DBaseTexture8 *& DAT_007eb048= (IDirect3DBaseTexture8 *&) GH_MEM(0x007eb048); -int& DAT_007eb04c= (int&) GH_MEM(0x007eb04c); -int& DAT_007eb050= (int&) GH_MEM(0x007eb050); -int& DAT_007eb054= (int&) GH_MEM(0x007eb054); -int& DAT_007eb058= (int&) GH_MEM(0x007eb058); -int& DAT_007eb05c= (int&) GH_MEM(0x007eb05c); -int& DAT_007eb060= (int&) GH_MEM(0x007eb060); -int& DAT_007eb074= (int&) GH_MEM(0x007eb074); -undefined4& g_bink= (undefined4&) GH_MEM(0x007eb180); -undefined4& DAT_007eb184= (undefined4&) GH_MEM(0x007eb184); -uint& DAT_007eb188= (uint&) GH_MEM(0x007eb188); -uint& DAT_007eb18c= (uint&) GH_MEM(0x007eb18c); -uint& DAT_007eb190= (uint&) GH_MEM(0x007eb190); -uint& DAT_007eb194= (uint&) GH_MEM(0x007eb194); -uint& DAT_007eb198= (uint&) GH_MEM(0x007eb198); -undefined4& DAT_007eb1dc= (undefined4&) GH_MEM(0x007eb1dc); -undefined4& DAT_007eb1e0= (undefined4&) GH_MEM(0x007eb1e0); -undefined& DAT_007eb1e4= (undefined&) GH_MEM(0x007eb1e4); -UINT& DAT_007eb1e8= (UINT&) GH_MEM(0x007eb1e8); -undefined4& DAT_007eb1ec= (undefined4&) GH_MEM(0x007eb1ec); -undefined4& DAT_007eb1f0= (undefined4&) GH_MEM(0x007eb1f0); -int& DAT_007eb1f4= (int&) GH_MEM(0x007eb1f4); -dword& g_unkModuleIdByte= (dword&) GH_MEM(0x007eb200); -undefined4& DAT_007eb220= (undefined4&) GH_MEM(0x007eb220); -undefined4& DAT_007eba20= (undefined4&) GH_MEM(0x007eba20); -int& g_gfxEngine= (int&) GH_MEM(0x007eba24); -undefined& DAT_007eba40= (undefined&) GH_MEM(0x007eba40); -int& DAT_007edb10= (int&) GH_MEM(0x007edb10); -undefined4 *& DAT_007edb14= (undefined4 *&) GH_MEM(0x007edb14); -IDirect3DDevice8 *& gfx_device= (IDirect3DDevice8 *&) GH_MEM(0x007edb18); -char(&g_errorString)[512] = reinterpret_cast(GH_MEM(0x007edb40)); -undefined& g_GLI_fullscreen= (undefined&) GH_MEM(0x007edd40); -int& g_GLI_width0= (int&) GH_MEM(0x007edd44); -int& g_GLI_height0= (int&) GH_MEM(0x007edd48); -int& g_GLI_bitdepth0= (int&) GH_MEM(0x007edd4c); -undefined1& g_GLI_fullscreen1= (undefined1&) GH_MEM(0x007edd50); -int& g_GLI_width1= (int&) GH_MEM(0x007edd54); -int& g_GLI_height1= (int&) GH_MEM(0x007edd58); -int& g_GLI_bitdepth1= (int&) GH_MEM(0x007edd5c); -undefined4& g_GLI_adapter= (undefined4&) GH_MEM(0x007edd60); -undefined1& g_GLI_tnl= (undefined1&) GH_MEM(0x007edd64); -undefined1& g_config_tex_compressed= (undefined1&) GH_MEM(0x007edd65); -undefined1& g_GLI_trilinear= (undefined1&) GH_MEM(0x007edd66); -GUID& g_GLI_identifier= (GUID&) GH_MEM(0x007edd70); -float& g_GLI_mode_float= (float&) GH_MEM(0x007edd80); -GLD_stDevice *(&g_pstGLDDevices)[16] = reinterpret_cast(GH_MEM(0x007edda0)); -m7_init_struct& g_m7_init_struct= (m7_init_struct&) GH_MEM(0x007edde0); -undefined& m7_mmgBlockInitialized= (undefined&) GH_MEM(0x007eddf9); -undefined& DAT_007eddfc= (undefined&) GH_MEM(0x007eddfc); -undefined& g_mod7CriticalSection= (undefined&) GH_MEM(0x007ede20); -uint& DAT_007ede38= (uint&) GH_MEM(0x007ede38); -undefined4& DAT_007ede40= (undefined4&) GH_MEM(0x007ede40); -char(&g_stringCache0)[256] = reinterpret_cast(GH_MEM(0x007eede0)); -int& DAT_007eeee0= (int&) GH_MEM(0x007eeee0); -int& DAT_007eeee4= (int&) GH_MEM(0x007eeee4); -int& DAT_007eeeec= (int&) GH_MEM(0x007eeeec); -undefined4& DAT_007eef00= (undefined4&) GH_MEM(0x007eef00); -undefined4& DAT_007eef04= (undefined4&) GH_MEM(0x007eef04); -char(&g_lvlFixPath)[256] = reinterpret_cast(GH_MEM(0x007efa40)); -undefined4& DAT_007efb40= (undefined4&) GH_MEM(0x007efb40); -int *& DAT_007efbbc= (int *&) GH_MEM(0x007efbbc); -undefined& DAT_007efbc4= (undefined&) GH_MEM(0x007efbc4); -int& DAT_007efbc8= (int&) GH_MEM(0x007efbc8); -undefined4& DAT_007efbe0= (undefined4&) GH_MEM(0x007efbe0); -undefined4& DAT_007f0be0= (undefined4&) GH_MEM(0x007f0be0); -undefined2& DAT_007f1c00= (undefined2&) GH_MEM(0x007f1c00); -undefined4& DAT_007f1c50= (undefined4&) GH_MEM(0x007f1c50); -undefined4& DAT_007f1c84= (undefined4&) GH_MEM(0x007f1c84); -undefined4& DAT_007f1c8c= (undefined4&) GH_MEM(0x007f1c8c); -undefined4& DAT_007f1c9c= (undefined4&) GH_MEM(0x007f1c9c); -undefined4& DAT_007f1cac= (undefined4&) GH_MEM(0x007f1cac); -undefined4& DAT_00801040= (undefined4&) GH_MEM(0x00801040); -undefined& DAT_00801844= (undefined&) GH_MEM(0x00801844); -undefined& DAT_0080184c= (undefined&) GH_MEM(0x0080184c); -undefined4& DAT_00801dd0= (undefined4&) GH_MEM(0x00801dd0); -undefined4& DAT_00801de0= (undefined4&) GH_MEM(0x00801de0); -undefined4& DAT_00801de4= (undefined4&) GH_MEM(0x00801de4); -undefined4& DAT_00801de8= (undefined4&) GH_MEM(0x00801de8); -undefined4& DAT_00801df0= (undefined4&) GH_MEM(0x00801df0); -float& DAT_00801df4= (float&) GH_MEM(0x00801df4); -float& DAT_00801df8= (float&) GH_MEM(0x00801df8); -undefined4& DAT_00801e00= (undefined4&) GH_MEM(0x00801e00); -float& DAT_00801e04= (float&) GH_MEM(0x00801e04); -float& DAT_00801e08= (float&) GH_MEM(0x00801e08); -undefined4& DAT_00801e0c= (undefined4&) GH_MEM(0x00801e0c); -undefined& DAT_00801e10= (undefined&) GH_MEM(0x00801e10); -undefined4& DAT_00801e38= (undefined4&) GH_MEM(0x00801e38); -undefined4& DAT_00801e3c= (undefined4&) GH_MEM(0x00801e3c); -undefined1& DAT_008023c0= (undefined1&) GH_MEM(0x008023c0); -undefined4& DAT_00802460= (undefined4&) GH_MEM(0x00802460); -undefined4& DAT_00802df4= (undefined4&) GH_MEM(0x00802df4); -int& DAT_008043a4= (int&) GH_MEM(0x008043a4); -int& DAT_008043a8= (int&) GH_MEM(0x008043a8); -undefined& DAT_008043ac= (undefined&) GH_MEM(0x008043ac); -undefined& DAT_008043b0= (undefined&) GH_MEM(0x008043b0); -undefined& DAT_008043b4= (undefined&) GH_MEM(0x008043b4); -undefined& DAT_008043b8= (undefined&) GH_MEM(0x008043b8); -uint& DAT_008043bc= (uint&) GH_MEM(0x008043bc); -float& DAT_008043c0= (float&) GH_MEM(0x008043c0); -float& DAT_008043c4= (float&) GH_MEM(0x008043c4); -float& DAT_008043c8= (float&) GH_MEM(0x008043c8); -undefined4& DAT_008043f8= (undefined4&) GH_MEM(0x008043f8); -undefined4& DAT_0080464c= (undefined4&) GH_MEM(0x0080464c); -ulong& DAT_00804660= (ulong&) GH_MEM(0x00804660); -undefined4& DAT_008046c4= (undefined4&) GH_MEM(0x008046c4); -undefined4& DAT_008046c8= (undefined4&) GH_MEM(0x008046c8); -undefined4& DAT_00808518= (undefined4&) GH_MEM(0x00808518); -float& DAT_0080aa80= (float&) GH_MEM(0x0080aa80); -undefined4& DAT_0080aaa0= (undefined4&) GH_MEM(0x0080aaa0); -undefined4& DAT_0080aaa4= (undefined4&) GH_MEM(0x0080aaa4); -undefined4& DAT_0080aaa8= (undefined4&) GH_MEM(0x0080aaa8); -undefined& DAT_0080aaac= (undefined&) GH_MEM(0x0080aaac); -undefined& DAT_0080aab0= (undefined&) GH_MEM(0x0080aab0); -undefined& DAT_0080aab4= (undefined&) GH_MEM(0x0080aab4); -undefined4& DAT_0080aabc= (undefined4&) GH_MEM(0x0080aabc); -undefined4& DAT_0080aac0= (undefined4&) GH_MEM(0x0080aac0); -undefined4& DAT_0080aac4= (undefined4&) GH_MEM(0x0080aac4); -undefined& DAT_0080aacc= (undefined&) GH_MEM(0x0080aacc); -undefined& DAT_0080aad0= (undefined&) GH_MEM(0x0080aad0); -undefined& DAT_0080aad4= (undefined&) GH_MEM(0x0080aad4); -undefined& DAT_0080aadc= (undefined&) GH_MEM(0x0080aadc); -undefined& DAT_0080aae0= (undefined&) GH_MEM(0x0080aae0); -undefined& DAT_0080aae4= (undefined&) GH_MEM(0x0080aae4); -undefined& DAT_0080aaf0= (undefined&) GH_MEM(0x0080aaf0); -undefined& DAT_0080aaf4= (undefined&) GH_MEM(0x0080aaf4); -undefined4& DAT_0080aaf8= (undefined4&) GH_MEM(0x0080aaf8); -undefined& DAT_0080aafc= (undefined&) GH_MEM(0x0080aafc); -undefined4& DAT_0080ab08= (undefined4&) GH_MEM(0x0080ab08); -undefined4& DAT_0080ab0c= (undefined4&) GH_MEM(0x0080ab0c); -undefined4& DAT_0080ab10= (undefined4&) GH_MEM(0x0080ab10); -undefined& DAT_0080ab14= (undefined&) GH_MEM(0x0080ab14); -undefined4& DAT_0080ab18= (undefined4&) GH_MEM(0x0080ab18); -undefined4& DAT_0080ab1c= (undefined4&) GH_MEM(0x0080ab1c); -undefined4& DAT_00838748= (undefined4&) GH_MEM(0x00838748); -undefined1& DAT_0083bc00= (undefined1&) GH_MEM(0x0083bc00); -undefined& DAT_0083bd04= (undefined&) GH_MEM(0x0083bd04); -char& DAT_0083be08= (char&) GH_MEM(0x0083be08); -undefined3& UNK_0083be09= (undefined3&) GH_MEM(0x0083be09); -int& DAT_0083be0c= (int&) GH_MEM(0x0083be0c); -undefined4& DAT_0083be10= (undefined4&) GH_MEM(0x0083be10); -undefined4& DAT_0083be14= (undefined4&) GH_MEM(0x0083be14); -undefined4& DAT_0083be18= (undefined4&) GH_MEM(0x0083be18); -undefined1& DAT_0083be1c= (undefined1&) GH_MEM(0x0083be1c); -undefined4& DAT_0083be20= (undefined4&) GH_MEM(0x0083be20); -undefined4& DAT_0083be24= (undefined4&) GH_MEM(0x0083be24); -undefined4& DAT_0083be28= (undefined4&) GH_MEM(0x0083be28); -undefined4& DAT_0083be2c= (undefined4&) GH_MEM(0x0083be2c); -uint& DAT_0083be30= (uint&) GH_MEM(0x0083be30); -uint& DAT_0083be34= (uint&) GH_MEM(0x0083be34); -uint& DAT_0083be38= (uint&) GH_MEM(0x0083be38); -uint& DAT_0083be3c= (uint&) GH_MEM(0x0083be3c); -undefined& DAT_0083be40= (undefined&) GH_MEM(0x0083be40); -undefined& DAT_0083be44= (undefined&) GH_MEM(0x0083be44); -undefined& DAT_0083be48= (undefined&) GH_MEM(0x0083be48); -undefined& DAT_0083be4c= (undefined&) GH_MEM(0x0083be4c); -undefined& DAT_0083be50= (undefined&) GH_MEM(0x0083be50); -undefined& DAT_0083be54= (undefined&) GH_MEM(0x0083be54); -undefined& DAT_0083be58= (undefined&) GH_MEM(0x0083be58); -undefined& DAT_0083be5c= (undefined&) GH_MEM(0x0083be5c); -undefined& DAT_0083be60= (undefined&) GH_MEM(0x0083be60); -undefined& DAT_0083be64= (undefined&) GH_MEM(0x0083be64); -undefined& DAT_0083be68= (undefined&) GH_MEM(0x0083be68); -undefined& DAT_0083be6c= (undefined&) GH_MEM(0x0083be6c); -undefined& DAT_0083be70= (undefined&) GH_MEM(0x0083be70); -undefined& DAT_0083be74= (undefined&) GH_MEM(0x0083be74); -undefined& DAT_0083be78= (undefined&) GH_MEM(0x0083be78); -undefined& DAT_0083be7c= (undefined&) GH_MEM(0x0083be7c); -undefined& DAT_0083be80= (undefined&) GH_MEM(0x0083be80); -undefined& DAT_0083be84= (undefined&) GH_MEM(0x0083be84); -undefined& DAT_0083be88= (undefined&) GH_MEM(0x0083be88); -undefined& DAT_0083be8c= (undefined&) GH_MEM(0x0083be8c); -undefined& DAT_0083be90= (undefined&) GH_MEM(0x0083be90); -undefined& DAT_0083be94= (undefined&) GH_MEM(0x0083be94); -undefined& DAT_0083be98= (undefined&) GH_MEM(0x0083be98); -undefined& DAT_0083be9c= (undefined&) GH_MEM(0x0083be9c); -undefined1& DAT_0083bea0= (undefined1&) GH_MEM(0x0083bea0); -undefined& DAT_0083bf04= (undefined&) GH_MEM(0x0083bf04); -char *(&g_rawLevelData)[217] = reinterpret_cast(GH_MEM(0x0083c320)); -LevelLoadState(&g_levelLoadStates)[252] = reinterpret_cast(GH_MEM(0x0083c720)); -dword(&g_rawLevelDataLength)[252] = reinterpret_cast(GH_MEM(0x0083cf00)); -undefined4& DAT_0083d304= (undefined4&) GH_MEM(0x0083d304); -undefined4& DAT_0083d320= (undefined4&) GH_MEM(0x0083d320); -undefined4& DAT_0083d3a4= (undefined4&) GH_MEM(0x0083d3a4); -int& DAT_0083f40c= (int&) GH_MEM(0x0083f40c); -int& DAT_0083f410= (int&) GH_MEM(0x0083f410); -undefined1& DAT_0083f7e0= (undefined1&) GH_MEM(0x0083f7e0); -undefined& DAT_0083f7e8= (undefined&) GH_MEM(0x0083f7e8); -undefined1& DAT_0083f7ec= (undefined1&) GH_MEM(0x0083f7ec); -undefined1& DAT_0083f7ed= (undefined1&) GH_MEM(0x0083f7ed); -undefined1& DAT_0083f7ee= (undefined1&) GH_MEM(0x0083f7ee); -undefined1& DAT_0083f7ef= (undefined1&) GH_MEM(0x0083f7ef); -undefined& DAT_0083f8e8= (undefined&) GH_MEM(0x0083f8e8); -char& DAT_0083f908= (char&) GH_MEM(0x0083f908); -int& DAT_0083f90c= (int&) GH_MEM(0x0083f90c); -undefined1& DAT_0083fa2c= (undefined1&) GH_MEM(0x0083fa2c); -undefined4& DAT_0083fa30= (undefined4&) GH_MEM(0x0083fa30); -undefined1& DAT_0083fa80= (undefined1&) GH_MEM(0x0083fa80); -undefined1& DAT_0083fa81= (undefined1&) GH_MEM(0x0083fa81); -undefined1& DAT_0083fa82= (undefined1&) GH_MEM(0x0083fa82); -undefined1& DAT_0083fa83= (undefined1&) GH_MEM(0x0083fa83); -undefined1& DAT_0083fa84= (undefined1&) GH_MEM(0x0083fa84); -undefined1& DAT_0083fa85= (undefined1&) GH_MEM(0x0083fa85); -undefined4& DAT_0083fa88= (undefined4&) GH_MEM(0x0083fa88); -undefined4& DAT_0083fa8c= (undefined4&) GH_MEM(0x0083fa8c); -undefined4& DAT_0083fa98= (undefined4&) GH_MEM(0x0083fa98); -undefined4& DAT_0083fa9c= (undefined4&) GH_MEM(0x0083fa9c); -undefined4& DAT_0083faa0= (undefined4&) GH_MEM(0x0083faa0); -undefined4& DAT_0083faa4= (undefined4&) GH_MEM(0x0083faa4); -undefined4& DAT_0083faa8= (undefined4&) GH_MEM(0x0083faa8); -undefined1& DAT_0083faac= (undefined1&) GH_MEM(0x0083faac); -undefined4& DAT_0083faf0= (undefined4&) GH_MEM(0x0083faf0); -char& DAT_00840c6c= (char&) GH_MEM(0x00840c6c); -int& DAT_00840c70= (int&) GH_MEM(0x00840c70); -undefined4& DAT_00840d90= (undefined4&) GH_MEM(0x00840d90); -char& DAT_00840e90= (char&) GH_MEM(0x00840e90); -uint& DAT_00840e9c= (uint&) GH_MEM(0x00840e9c); -int& DAT_00840ea0= (int&) GH_MEM(0x00840ea0); -short& DAT_00840eac= (short&) GH_MEM(0x00840eac); -undefined4 *& DAT_00840eb0= (undefined4 *&) GH_MEM(0x00840eb0); -byte& DAT_00840eb4= (byte&) GH_MEM(0x00840eb4); -undefined4& DAT_0084155c= (undefined4&) GH_MEM(0x0084155c); -undefined4& DAT_00841560= (undefined4&) GH_MEM(0x00841560); -undefined2& DAT_008415c8= (undefined2&) GH_MEM(0x008415c8); -undefined2& DAT_008415e0= (undefined2&) GH_MEM(0x008415e0); -undefined& DAT_00841600= (undefined&) GH_MEM(0x00841600); -undefined4& DAT_00841660= (undefined4&) GH_MEM(0x00841660); -int& DAT_00841670= (int&) GH_MEM(0x00841670); -undefined4 *& DAT_00841674= (undefined4 *&) GH_MEM(0x00841674); -undefined4& DAT_00841700= (undefined4&) GH_MEM(0x00841700); -undefined4& DAT_00841780= (undefined4&) GH_MEM(0x00841780); -undefined4& DAT_008417a0= (undefined4&) GH_MEM(0x008417a0); -undefined4& DAT_0084285c= (undefined4&) GH_MEM(0x0084285c); -undefined4& DAT_00842860= (undefined4&) GH_MEM(0x00842860); -undefined4& DAT_00842928= (undefined4&) GH_MEM(0x00842928); -undefined4& DAT_0084292c= (undefined4&) GH_MEM(0x0084292c); -void *& ExceptionList= (void *&) GH_MEM(0xffdff000); diff --git a/game_re/gh_global.h b/game_re/gh_global.h deleted file mode 100644 index 8d1d60df..00000000 --- a/game_re/gh_global.h +++ /dev/null @@ -1,1759 +0,0 @@ -// AUTO-GENERATED FILE -#ifndef GH_GENERATED_GLOBALS_H -#define GH_GENERATED_GLOBALS_H - -#include - - -extern undefined& DAT_00000004; // 00000004 -extern undefined4& UNK_0000001c; // 0000001c -extern undefined& LAB_0040aa00; // 0040aa00 -extern undefined& LAB_0040c070; // 0040c070 -extern undefined& LAB_0040c2a0; // 0040c2a0 -extern undefined& LAB_00413c80; // 00413c80 -extern undefined& LAB_00414070; // 00414070 -extern undefined& LAB_004151d0; // 004151d0 -extern undefined& LAB_004194a0; // 004194a0 -extern undefined& LAB_00447680; // 00447680 -extern undefined& LAB_004478b0; // 004478b0 -extern undefined& LAB_00453e00; // 00453e00 -extern undefined& LAB_00453e40; // 00453e40 -extern undefined& LAB_00453e80; // 00453e80 -extern undefined& LAB_00453f80; // 00453f80 -extern undefined& LAB_00453fc0; // 00453fc0 -extern undefined& LAB_00454000; // 00454000 -extern undefined& LAB_00454140; // 00454140 -extern undefined& LAB_00454180; // 00454180 -extern undefined& LAB_004541c0; // 004541c0 -extern undefined& LAB_00454300; // 00454300 -extern undefined& LAB_00454340; // 00454340 -extern undefined& LAB_00454380; // 00454380 -extern pointer& PTR_DAT_0046ebd0; // 0046ebd0 -extern undefined& LAB_00500930; // 00500930 -extern undefined& LAB_00509a00; // 00509a00 -extern undefined& LAB_0050db60; // 0050db60 -extern undefined& LAB_005534b0; // 005534b0 -extern undefined& LAB_0055cb30; // 0055cb30 -extern undefined& LAB_0055d120; // 0055d120 -extern undefined& LAB_005845e0; // 005845e0 -extern undefined& LAB_00585b80; // 00585b80 -extern undefined& LAB_00585dd0; // 00585dd0 -extern undefined& LAB_005868a0; // 005868a0 -extern undefined& LAB_00586e80; // 00586e80 -extern undefined& LAB_005960f8; // 005960f8 -extern undefined& LAB_0059617b; // 0059617b -extern undefined& LAB_005961c1; // 005961c1 -extern undefined& LAB_00596250; // 00596250 -extern undefined& LAB_005962bb; // 005962bb -extern undefined& LAB_005967e3; // 005967e3 -extern undefined& LAB_005967f8; // 005967f8 -extern undefined *& PTR_BinkOpenDirectSound_0059733c; // 0059733c -extern undefined& IID_IDirectInput8; // 00597860 -extern undefined& DAT_00598314; // 00598314 -extern undefined& DAT_0059831c; // 0059831c -extern undefined& DAT_00598320; // 00598320 -extern undefined& DAT_00598348; // 00598348 -extern undefined& DAT_0059834c; // 0059834c -extern undefined& DAT_00598350; // 00598350 -extern undefined4& DAT_005987dc; // 005987dc -extern undefined& DAT_00598b7c; // 00598b7c -extern undefined& DAT_005990bc; // 005990bc -extern undefined& DAT_005990f0; // 005990f0 -extern double& DOUBLE_00599550; // 00599550 -extern undefined& DAT_005a9ea8; // 005a9ea8 -extern undefined& DAT_005a9eac; // 005a9eac -extern undefined& DAT_005a9eb0; // 005a9eb0 -extern undefined& DAT_005a9ec0; // 005a9ec0 -extern undefined& DAT_005a9ec4; // 005a9ec4 -extern undefined& DAT_005a9ec8; // 005a9ec8 -extern undefined& DAT_005a9ed4; // 005a9ed4 -extern undefined& DAT_005a9ef0; // 005a9ef0 -extern undefined& DAT_005a9ef8; // 005a9ef8 -extern undefined& DAT_005a9efc; // 005a9efc -extern undefined& DAT_005a9f08; // 005a9f08 -extern undefined& DAT_005a9f0c; // 005a9f0c -extern undefined& DAT_005a9f10; // 005a9f10 -extern float& FLOAT_005a9f1c; // 005a9f1c -extern float& FLOAT_005a9f20; // 005a9f20 -extern undefined& DAT_005a9f28; // 005a9f28 -extern float& FLOAT_005a9f30; // 005a9f30 -extern float& FLOAT_005a9f40; // 005a9f40 -extern float& FLOAT_005a9f48; // 005a9f48 -extern float& FLOAT_005a9f50; // 005a9f50 -extern float& FLOAT_005a9f54; // 005a9f54 -extern float& FLOAT_005a9f58; // 005a9f58 -extern float& FLOAT_005a9f60; // 005a9f60 -extern float& FLOAT_005a9f70; // 005a9f70 -extern float& FLOAT_005a9f7c; // 005a9f7c -extern float& FLOAT_005a9f80; // 005a9f80 -extern float& FLOAT_005a9f84; // 005a9f84 -extern float& FLOAT_005a9f90; // 005a9f90 -extern float& FLOAT_005a9f94; // 005a9f94 -extern float& FLOAT_005a9f98; // 005a9f98 -extern float& FLOAT_005a9fac; // 005a9fac -extern float& FLOAT_005a9fb0; // 005a9fb0 -extern float& FLOAT_005a9fbc; // 005a9fbc -extern float& FLOAT_005aa004; // 005aa004 -extern float& FLOAT_005aa010; // 005aa010 -extern float& FLOAT_005aa018; // 005aa018 -extern float& FLOAT_005aa028; // 005aa028 -extern float& FLOAT_005aa02c; // 005aa02c -extern float& FLOAT_005aa030; // 005aa030 -extern float& FLOAT_005aa054; // 005aa054 -extern undefined& DAT_005aa058; // 005aa058 -extern float& FLOAT_005aa060; // 005aa060 -extern float& FLOAT_005aa064; // 005aa064 -extern float& FLOAT_005aa068; // 005aa068 -extern float& FLOAT_005aa074; // 005aa074 -extern float& FLOAT_005aa07c; // 005aa07c -extern float& FLOAT_005aa088; // 005aa088 -extern double& DOUBLE_005aa090; // 005aa090 -extern double& DOUBLE_005aa098; // 005aa098 -extern double& DOUBLE_005aa0a0; // 005aa0a0 -extern float& FLOAT_005aa0a8; // 005aa0a8 -extern float& FLOAT_005aa0b4; // 005aa0b4 -extern float& FLOAT_005aa0b8; // 005aa0b8 -extern float& FLOAT_005aa0bc; // 005aa0bc -extern float& FLOAT_005aa0c0; // 005aa0c0 -extern float& FLOAT_005aa0c4; // 005aa0c4 -extern float& FLOAT_005aa0c8; // 005aa0c8 -extern float& FLOAT_005aa0fc; // 005aa0fc -extern undefined& DAT_005aa124; // 005aa124 -extern undefined& DAT_005aa158; // 005aa158 -extern undefined& DAT_005aa15c; // 005aa15c -extern undefined& DAT_005aa160; // 005aa160 -extern undefined& DAT_005aa164; // 005aa164 -extern undefined& DAT_005aa168; // 005aa168 -extern undefined& DAT_005aa16c; // 005aa16c -extern undefined& DAT_005aa170; // 005aa170 -extern undefined& DAT_005aa174; // 005aa174 -extern undefined& DAT_005aa178; // 005aa178 -extern undefined& DAT_005aa17c; // 005aa17c -extern undefined& DAT_005aa180; // 005aa180 -extern undefined& DAT_005aa184; // 005aa184 -extern undefined& DAT_005aa188; // 005aa188 -extern undefined& DAT_005aa18c; // 005aa18c -extern undefined& DAT_005aa190; // 005aa190 -extern undefined& DAT_005aa194; // 005aa194 -extern undefined& DAT_005aa198; // 005aa198 -extern undefined& DAT_005aa19c; // 005aa19c -extern undefined& DAT_005aa1a0; // 005aa1a0 -extern undefined& DAT_005aa1a4; // 005aa1a4 -extern undefined& DAT_005aa1a8; // 005aa1a8 -extern undefined& DAT_005aa1ac; // 005aa1ac -extern undefined& DAT_005aa1b0; // 005aa1b0 -extern undefined& DAT_005aa1b4; // 005aa1b4 -extern undefined& DAT_005aa1b8; // 005aa1b8 -extern undefined& DAT_005aa1bc; // 005aa1bc -extern undefined& DAT_005aa1c0; // 005aa1c0 -extern undefined& DAT_005aa1c4; // 005aa1c4 -extern undefined& DAT_005aa1c8; // 005aa1c8 -extern undefined& DAT_005aa1cc; // 005aa1cc -extern undefined& DAT_005aa1d0; // 005aa1d0 -extern undefined& DAT_005aa1d4; // 005aa1d4 -extern undefined& DAT_005aa1d8; // 005aa1d8 -extern undefined& DAT_005aa1ec; // 005aa1ec -extern undefined& DAT_005aa1f8; // 005aa1f8 -extern undefined& DAT_005aa200; // 005aa200 -extern undefined& DAT_005aa224; // 005aa224 -extern undefined& DAT_005aa228; // 005aa228 -extern undefined& DAT_005aa22c; // 005aa22c -extern undefined& DAT_005aa230; // 005aa230 -extern undefined& DAT_005aa234; // 005aa234 -extern undefined& DAT_005aa238; // 005aa238 -extern undefined& DAT_005aa23c; // 005aa23c -extern undefined& DAT_005aa240; // 005aa240 -extern undefined& DAT_005aa244; // 005aa244 -extern undefined& DAT_005aa248; // 005aa248 -extern undefined& DAT_005aa978; // 005aa978 -extern undefined& DAT_005ab624; // 005ab624 -extern undefined& DAT_005ae738; // 005ae738 -extern double& DOUBLE_005b0770; // 005b0770 -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 undefined& DAT_005b6d10; // 005b6d10 -extern undefined4& DAT_005b967c; // 005b967c -extern const char* s_dll_SND_CPA_INI_005b968c; // 005b968c -extern undefined1& lpDefault_005b969c; // 005b969c -extern const char* s_Options_005b96a4; // 005b96a4 -extern const char* s_SXD_DIST_SATUR_005b96ac; // 005b96ac -extern const char* s_SXD_DIST_BACK_005b96bc; // 005b96bc -extern undefined& DAT_005b96cc; // 005b96cc -extern undefined4& DAT_005b96d0; // 005b96d0 -extern int& DAT_005b96d4; // 005b96d4 -extern const char* s_OnIsTheme_005b96e0; // 005b96e0 -extern undefined& DAT_005b9710; // 005b9710 -extern undefined ** DAT_005b9714; // 005b9714 -extern undefined1& DAT_005b9718; // 005b9718 -extern const char* s_Pitch_005b9724; // 005b9724 -extern pointer& PTR_DAT_005b972c; // 005b972c -extern const char* s_OnGetStopNGoIds_005b9730; // 005b9730 -extern uint& DAT_005b9740; // 005b9740 -extern const char* s_CResData_005b9974; // 005b9974 -extern const char* s_ne_rf_se_ti_ed_005b9be0; // 005b9be0 -extern const char* s_volume_line_modifier____d_005b9bf8; // 005b9bf8 -extern const char* s_Random_005b9c9c; // 005b9c9c -extern const char* s_Timeout_while_entering_CWin32Mut_005b9ca8; // 005b9ca8 -extern undefined& DAT_005b9cec; // 005b9cec -extern undefined *& PTR_lpDefault_005b9cfc; // 005b9cfc -extern undefined2& DAT_005b9f64; // 005b9f64 -extern const char* s_CEventResData_005b9f98; // 005b9f98 -extern const char* s_percent_s_path_2; // 005ba354 -extern undefined2& DAT_005bad00; // 005bad00 -extern byte& g_errMod0; // 005bd29c -extern const char* s_Explicit_request_for_clear_of_th_005bd2a0; // 005bd2a0 -extern const char* s_Explicit_request_for_clear_of_th_005bd2d0; // 005bd2d0 -extern int& DAT_005bd454; // 005bd454 -extern int& DAT_005bd458; // 005bd458 -extern const char* s__jc_z_d__s_005bd460; // 005bd460 -extern byte& g_errMod1; // 005bd4cc -extern byte& g_errModMmg; // 005bd58c -extern undefined1& DAT_005bd58d; // 005bd58d -extern float& FLOAT_005bd5ec; // 005bd5ec -extern float& FLOAT_005bd5f0; // 005bd5f0 -extern char& DAT_005bd5f4; // 005bd5f4 -extern float& FLOAT_005bd5f8; // 005bd5f8 -extern undefined& DAT_005bd624; // 005bd624 -extern dword& DWORD_005bd62c; // 005bd62c -extern const char* s_Video_AutoAdjustQuality_005bd630; // 005bd630 -extern const char* s_Video_BPP_005bd648; // 005bd648 -extern const char* s_Video_RealQuality_005bd654; // 005bd654 -extern const char* s_Rayman_Arena_005bd668; // 005bd668 -extern const char* s_Video_WantedQuality_005bd678; // 005bd678 -extern const char* s_Videos_005bd72c; // 005bd72c -extern const char* s_percent_s_path_3; // 005bd734 -extern const char* s_StopVideo_005bd740; // 005bd740 -extern byte& g_errMod2Bink; // 005bd7ac -extern int& DAT_005bd7bc; // 005bd7bc -extern undefined *& PTR_FUN_005bd7c4; // 005bd7c4 -extern char& DAT_005bd8cf; // 005bd8cf -extern undefined1& DAT_005bd8d0; // 005bd8d0 -extern undefined1& DAT_005bd910; // 005bd910 -extern undefined1& DAT_005bd950; // 005bd950 -extern const char* s__s_s_World_Sound_005bd9d0; // 005bd9d0 -extern char(&s_BIN_005bd9e4)[4]; // 005bd9e4 -extern const char* s__World_Sound_005bd9e8; // 005bd9e8 -extern const char* s__Options_005bd9f8; // 005bd9f8 -extern const char* s__Vignette_005bda04; // 005bda04 -extern const char* s__sBIN_fmt; // 005bda10 -extern const char* s__SaveGame_005bda1c; // 005bda1c -extern const char* s__World_Levels_005bda28; // 005bda28 -extern char(&s_World)[7]; // 005bda38 -extern undefined& s_DLL; // 005bda40 -extern const char* s_Ubi_bik_005bda44; // 005bda44 -extern const char* s_UbiSoft_bmp_005bda4c; // 005bda4c -extern undefined *& PTR_r3_processInput1_005bdb1c; // 005bdb1c -extern undefined *& p_fn_vEngine; // 005bdb20 -extern undefined *& p_fn_vDisplayAll; // 005bdb24 -extern pointer& PTR_s_MenuMap_005bdb38; // 005bdb38 -extern pointer& PTR_s_intro_10_005bdb70; // 005bdb70 -extern pointer& PTR_s_sk8_20_005bdbd0; // 005bdbd0 -extern char& DAT_005bdc9c; // 005bdc9c -extern UINT& g_modemQuality; // 005bdca0 -extern UINT& g_UDPPort; // 005bdca4 -extern const char* s__s__s__s__s__s_005bdf6c; // 005bdf6c -extern const char* s__s__s___005bdf7c; // 005bdf7c -extern const char* s__s__s__s__s_005bdf84; // 005bdf84 -extern pointer& PTR_DAT_005bdf90; // 005bdf90 -extern undefined& DAT_005bdf94; // 005bdf94 -extern const char* s__level__005bdfd0; // 005bdfd0 -extern const char* s_R3_DVD_005bdfd8; // 005bdfd8 -extern const char* s_R3_DVD_005be0ec; // 005be0ec -extern const char* s__s_DVD_missing_005be0f4; // 005be0f4 -extern const char* s_Die__s_DVDROM_kann_nicht_gelesen_005be130; // 005be130 -extern const char* s_Impossibile_trovare_il_DVD____s_005be198; // 005be198 -extern undefined& DAT_005be1ec; // 005be1ec -extern const char* s_Impossible_de_trouver_le_DVD_____005be238; // 005be238 -extern const char* s_Tex32_2_cnt_005be290; // 005be290 -extern const char* s_Tex32_1_cnt_005be29c; // 005be29c -extern const char* s_Tex16_1_cnt_005be2a8; // 005be2a8 -extern const char* s_Tex16_2_cnt_005be2b4; // 005be2b4 -extern const char* s_TexturesQuality_005be2c0; // 005be2c0 -extern const char* s_VignettesFile_005be2dc; // 005be2dc -extern const char* s_ModemQuality_005be2ec; // 005be2ec -extern const char* s_UDPPort_005be2fc; // 005be2fc -extern pointer& s_Agp; // 005be390 -extern const char* s_Please_insert_the_DVD_in_the_DVD_005be400; // 005be400 -extern const char* s_Bitte_legen_Sie_DVD_von_Rayman_3_005be438; // 005be438 -extern const char* s_Inserisci_il_DVD_di_Rayman_3_nel_005be484; // 005be484 -extern const char* s_Introduce_el_DVD_de_Rayman_3_en_l_005be4c0; // 005be4c0 -extern undefined& DAT_005be500; // 005be500 -extern const char* s_fmt_c_colon_s; // 005be540 -extern const char* s_r3_program_files; // 005be548 -extern undefined *& PTR_DAT_005be568; // 005be568 -extern pointer& PTR_FUN_005be5e4; // 005be5e4 -extern int& DAT_005be6d8; // 005be6d8 -extern int& DAT_005be6dc; // 005be6dc -extern int& DAT_005be6e0; // 005be6e0 -extern int& DAT_005be6e4; // 005be6e4 -extern int& DAT_005be6e8; // 005be6e8 -extern int& DAT_005be6ec; // 005be6ec -extern byte& g_errModFirst; // 005be6f0 -extern undefined *& PTR_FUN_005be6f8; // 005be6f8 -extern float& DAT_005be710; // 005be710 -extern const char* s_Change_To_Map____s_005be714; // 005be714 -extern const char* s_Map_number__i_not_available_005be728; // 005be728 -extern dword& g_transitLevelTarget; // 005be744 -extern int& DAT_005be748; // 005be748 -extern undefined4& DAT_005be7ac; // 005be7ac -extern long& DAT_005be7b0; // 005be7b0 -extern long& DAT_005be7b4; // 005be7b4 -extern long& DAT_005be7b8; // 005be7b8 -extern long& DAT_005be7bc; // 005be7bc -extern undefined4& DAT_005be7c0; // 005be7c0 -extern undefined4& DAT_005be7c4; // 005be7c4 -extern long& DAT_005be7c8; // 005be7c8 -extern long& DAT_005be7cc; // 005be7cc -extern undefined4& DAT_005be7d0; // 005be7d0 -extern const char* s_Ghost_Object_005be7d4; // 005be7d4 -extern const char* s_Always_005be7e4; // 005be7e4 -extern const char* s_Lips__005be7ec; // 005be7ec -extern const char* s_No_intelligence_005be7f4; // 005be7f4 -extern const char* s_Perso__005be804; // 005be804 -extern undefined& DAT_005be80c; // 005be80c -extern undefined& DAT_005be828; // 005be828 -extern const char* s_World_005be844; // 005be844 -extern dword& g_modId4; // 005be8ac -extern const char* s_float_abs_val_too_small_to_be_co_005be924; // 005be924 -extern const char* s_PLAY_DEMO_005be958; // 005be958 -extern const char* s_Please_insert_the_CD_005be980; // 005be980 -extern const char* s_unknown_extended_demo_flag_0x_04_005be998; // 005be998 -extern const char* s____tmp_st__08x_005be9bc; // 005be9bc -extern const char* s__f3_a_005be9cc; // 005be9cc -extern undefined& DAT_005be9d4; // 005be9d4 -extern const char* s_DEMO_FLAG_DESACTIVATE_CANAL_005be9dc; // 005be9dc -extern const char* s_DEMO_FLAG_ACTIVATE_CANAL_005be9fc; // 005be9fc -extern const char* s_DEMO_FLAG_DESACTIVATE_005bea18; // 005bea18 -extern const char* s_DEMO_FLAG_ACTIVATE_005bea30; // 005bea30 -extern const char* s_desactivate_005bea44; // 005bea44 -extern const char* s_activate_005bea54; // 005bea54 -extern const char* s_DEMO_fn_vReadAlwaysActivationDes_005bea60; // 005bea60 -extern const char* s_DEMO_FLAG_NEW_ENGINE_FRAME_005bebc0; // 005bebc0 -extern const char* s_DEMO_FLAG_COMPRESS_ACTOR_NUMBER_005bebdc; // 005bebdc -extern const char* s______________005bec00; // 005bec00 -extern const char* s_DEMO_FLAG_IS_AN_ALWAYS_005bec10; // 005bec10 -extern const char* s_DEMO_FLAG_EXTENDED_005bec28; // 005bec28 -extern const char* s_DEMO_STOP_NORMAL_PLAY_005bec3c; // 005bec3c -extern undefined4& DAT_005bec5c; // 005bec5c -extern float& DAT_005bec60; // 005bec60 -extern float& DAT_005bec64; // 005bec64 -extern int& DAT_005becdc; // 005becdc -extern undefined& DAT_005bece4; // 005bece4 -extern int& DAT_005bee10; // 005bee10 -extern byte& g_errMod5; // 005befbc -extern char(&s_M_005bf004)[2]; // 005bf004 -extern char(&s_S_005bf008)[2]; // 005bf008 -extern const char* s_Action_Clavier_Gauche_005bf2dc; // 005bf2dc -extern const char* s_Action_Clavier_Droite_005bf2f4; // 005bf2f4 -extern const char* s_Action_Clavier_Bas_005bf30c; // 005bf30c -extern const char* s_Action_Clavier_Haut_005bf320; // 005bf320 -extern const char* s_Key_Walk_005bf334; // 005bf334 -extern const char* s_Pad_Help_005bf340; // 005bf340 -extern const char* s_Key_Help_005bf34c; // 005bf34c -extern const char* s_Pad_Affiche_Jauge_005bf358; // 005bf358 -extern const char* s_Key_Affiche_Jauge_005bf36c; // 005bf36c -extern undefined4& DAT_005bf380; // 005bf380 -extern undefined4& DAT_005bf384; // 005bf384 -extern undefined4& DAT_005bf388; // 005bf388 -extern undefined *& PTR_DAT_005bf38c; // 005bf38c -extern undefined4& DAT_005bf390; // 005bf390 -extern undefined4& DAT_005bf394; // 005bf394 -extern undefined4& DAT_005bf398; // 005bf398 -extern undefined *& PTR_DAT_005bf39c; // 005bf39c -extern const char* s_Pad_Tirer_005bf3a0; // 005bf3a0 -extern const char* s_Key_Tirer_005bf3ac; // 005bf3ac -extern const char* s_Pad_Strafe_005bf3b8; // 005bf3b8 -extern const char* s_Key_Strafe_005bf3c4; // 005bf3c4 -extern undefined4& DAT_005bf3d0; // 005bf3d0 -extern undefined4& DAT_005bf3d4; // 005bf3d4 -extern undefined *& PTR_DAT_005bf3d8; // 005bf3d8 -extern undefined4& DAT_005bf3dc; // 005bf3dc -extern undefined4& DAT_005bf3e0; // 005bf3e0 -extern undefined *& PTR_DAT_005bf3e4; // 005bf3e4 -extern const char* s_Pad_Sauter_005bf3e8; // 005bf3e8 -extern const char* s_Key_Sauter_005bf3f4; // 005bf3f4 -extern undefined4& DAT_005bf400; // 005bf400 -extern undefined1& DAT_005bf404; // 005bf404 -extern const char* s_Pad_Start_005bf408; // 005bf408 -extern char(&s__s_s_005bf4ac)[8]; // 005bf4ac -extern byte& g_errModGLD; // 005bf5fc -extern dword& g_needToInitMod6; // 005bf600 -extern short& DAT_005bf606; // 005bf606 -extern const char* s_V5_9_0___August_11th_1997_005bf608; // 005bf608 -extern char& DAT_005bf690; // 005bf690 -extern const char* s__HEATFX_005bf698; // 005bf698 -extern const char* s__heatfx_005bf6a0; // 005bf6a0 -extern const char* s__REFLECT2_005bf6a8; // 005bf6a8 -extern const char* s__reflect2_005bf6b4; // 005bf6b4 -extern const char* s__REFLECT1_005bf6c0; // 005bf6c0 -extern const char* s__reflect1_005bf6cc; // 005bf6cc -extern const char* s__08X__04X__04X__02X_02X__02X_02X_005bf6d8; // 005bf6d8 -extern int& DAT_005bf71c; // 005bf71c -extern dword& r3_textureMemMode; // 005bf740 -extern const char* s_Agp8_005bf744; // 005bf744 -extern const char* s_Agp4_005bf74c; // 005bf74c -extern const char* s_Vram8_005bf754; // 005bf754 -extern const char* s_Vram4_005bf75c; // 005bf75c -extern const char* s_VramPlus_005bf764; // 005bf764 -extern const char* s_Vram; // 005bf76c -extern char(&s__gf_005bf774)[4]; // 005bf774 -extern undefined& DAT_005bf9d0; // 005bf9d0 -extern undefined& DAT_005bf9d4; // 005bf9d4 -extern undefined& DAT_005bf9e0; // 005bf9e0 -extern undefined& DAT_005bf9e4; // 005bf9e4 -extern undefined& DAT_005bf9f0; // 005bf9f0 -extern undefined& DAT_005bf9f4; // 005bf9f4 -extern undefined& DAT_005bfa00; // 005bfa00 -extern undefined& DAT_005bfa04; // 005bfa04 -extern undefined4& DAT_005bfa14; // 005bfa14 -extern undefined4& DAT_005bfa18; // 005bfa18 -extern undefined *& PTR_DAT_005bfa1c; // 005bfa1c -extern const char* s_The_deformable_objects_have_more_005bfa38; // 005bfa38 -extern const char* s_The_objects_in_transition_have_m_005bfa80; // 005bfa80 -extern const char* s_ERROR_005bfacc; // 005bfacc -extern undefined *& r3_player_coord_ptr_; // 005bfad4 -extern undefined& DAT_005bfad8; // 005bfad8 -extern undefined& DAT_005bfadc; // 005bfadc -extern undefined& DAT_005bfae0; // 005bfae0 -extern char& DAT_005bfae8; // 005bfae8 -extern int& DAT_005bfb14; // 005bfb14 -extern undefined& DAT_005bfb18; // 005bfb18 -extern undefined4& DAT_005c0338; // 005c0338 -extern int& DAT_005c0514; // 005c0514 -extern char& DAT_005c05dc; // 005c05dc -extern byte& g_errMod7; // 005c069c -extern dword& DWORD_005c0700; // 005c0700 -extern int& g_fixDataClass; // 005c08e4 -extern const char* s_transit_005c09fc; // 005c09fc -extern const char* s_error_005c0a10; // 005c0a10 -extern undefined& DAT_005c0a54; // 005c0a54 -extern const char* s_loading___005c0a5c; // 005c0a5c -extern const char* s_dyn__inst___s___3d__005c0a68; // 005c0a68 -extern const char* s_Anim_ani_d_005c0a80; // 005c0a80 -extern undefined4& DAT_005c0a8c; // 005c0a8c -extern undefined2& DAT_005c0a90; // 005c0a90 -extern undefined1& DAT_005c0a92; // 005c0a92 -extern const char* s_level_data_class___08x__does_not_005c0a94; // 005c0a94 -extern const char* s_level_checksum_doesn_t_match_wit_005c0ad0; // 005c0ad0 -extern undefined *(&g_levelTypeFuncTable)[217]; // 005c0b70 -extern char(&s_MP_005c0f20)[5]; // 005c0f20 -extern undefined4& DAT_005c0f84; // 005c0f84 -extern undefined4& DAT_005c0f90; // 005c0f90 -extern char& DAT_005c0f9d; // 005c0f9d -extern ulong& DAT_005c1098; // 005c1098 -extern undefined4& DAT_005c11bc; // 005c11bc -extern undefined4& DAT_005c11c0; // 005c11c0 -extern byte& g_errMod17; // 005c1400 -extern byte& g_errMod8; // 005c4b0c -extern int& DAT_005c4b14; // 005c4b14 -extern undefined& DAT_005c4b1c; // 005c4b1c -extern undefined4& DAT_005c4d2c; // 005c4d2c -extern undefined1& DAT_005c4d30; // 005c4d30 -extern undefined4& DAT_005c4d34; // 005c4d34 -extern undefined1& DAT_005c4d38; // 005c4d38 -extern undefined4& DAT_005c4d3c; // 005c4d3c -extern undefined1& DAT_005c4d40; // 005c4d40 -extern undefined4& DAT_005c4d44; // 005c4d44 -extern undefined1& DAT_005c4d48; // 005c4d48 -extern const char* s__s_02d_gf_005c4d4c; // 005c4d4c -extern const char* s_Random________d__d__005c4d58; // 005c4d58 -extern byte& g_errMod9; // 005c4dcc -extern char(&s__ptr_005c5000)[5]; // 005c5000 -extern char(&s__lvl_005c5008)[5]; // 005c5008 -extern byte& g_errMod3; // 005c506c -extern undefined1& DAT_005c5134; // 005c5134 -extern byte& g_errMod10; // 005c51f4 -extern undefined2& DAT_005c5280; // 005c5280 -extern undefined2& DAT_005c5284; // 005c5284 -extern undefined2& DAT_005c52a4; // 005c52a4 -extern undefined2& DAT_005c563c; // 005c563c -extern pointer& PTR_s_RightMouseButton_005c5858; // 005c5858 -extern undefined4& DAT_005c5888; // 005c5888 -extern undefined& DAT_005c5a28; // 005c5a28 -extern undefined1& DAT_005c5ac0; // 005c5ac0 -extern int& DAT_005c5acc; // 005c5acc -extern undefined& DAT_005c5ad4; // 005c5ad4 -extern undefined4& DAT_005ca830; // 005ca830 -extern const char* s_Cannot_load_the___s__file___005caea8; // 005caea8 -extern const char* s_ReInit_005caec4; // 005caec4 -extern byte& g_errMod11; // 005caf2c -extern const char* s_SaveDir_005cb0fc; // 005cb0fc -extern const char* s_SaveGame_005cb104; // 005cb104 -extern char& g_errMod12; // 005cb16c -extern char(&s_1_0_9_005cb174)[8]; // 005cb174 -extern char(&s_AVI_005cb17c)[8]; // 005cb17c -extern char(&s_RIFF_005cb184)[8]; // 005cb184 -extern char(&s__CNT_005cb18c)[5]; // 005cb18c -extern byte& DAT_005cf26c; // 005cf26c -extern const char* s___InoMain_c_005cf430; // 005cf430 -extern undefined& DAT_005cf4a0; // 005cf4a0 -extern byte& g_errMod14; // 005cf5d4 -extern byte& g_errMod15; // 005cf814 -extern byte& g_errMod16; // 005cf874 -extern byte& DAT_005cf934; // 005cf934 -extern undefined1& g_initVar0; // 005cf960 -extern HWND& g_gameHWND1; // 005cf964 -extern HGDIOBJ& g_splashBitmap; // 005cf968 -extern long& lpDefault_005cf96c; // 005cf96c -extern int& DAT_005cfcc8; // 005cfcc8 -extern undefined4& DAT_005cfccc; // 005cfccc -extern byte& DAT_005cfcf4; // 005cfcf4 -extern char& DAT_005cfd08; // 005cfd08 -extern int& DAT_005d01c0; // 005d01c0 -extern undefined4& DAT_005d01c4; // 005d01c4 -extern undefined4& DAT_005d01c8; // 005d01c8 -extern undefined& DAT_005d01cc; // 005d01cc -extern byte& DAT_005d01dc; // 005d01dc -extern undefined4& DAT_005d01e0; // 005d01e0 -extern int& DAT_005d0248; // 005d0248 -extern undefined& DAT_005d0440; // 005d0440 -extern undefined4& DAT_005d0790; // 005d0790 -extern int& DAT_005d07a4; // 005d07a4 -extern undefined4& DAT_005d07a8; // 005d07a8 -extern undefined4& DAT_005d07ac; // 005d07ac -extern SND_Request3& g_sndReq0; // 005d07b0 -extern uint& DAT_005d07bc; // 005d07bc -extern int& DAT_005d07cc; // 005d07cc -extern int * *& DAT_005d081c; // 005d081c -extern int& DAT_005d092c; // 005d092c -extern int& DAT_005d0938; // 005d0938 -extern byte& DAT_005d0950; // 005d0950 -extern undefined& DAT_005d0958; // 005d0958 -extern undefined& DAT_005d09a8; // 005d09a8 -extern byte& DAT_005d09f4; // 005d09f4 -extern int *& DAT_005d09fc; // 005d09fc -extern undefined4& DAT_005d0a08; // 005d0a08 -extern undefined& DAT_005d0ae0; // 005d0ae0 -extern undefined& DAT_005d0ae4; // 005d0ae4 -extern undefined& DAT_005d0ae8; // 005d0ae8 -extern undefined& DAT_005d0aec; // 005d0aec -extern undefined& DAT_005d0af0; // 005d0af0 -extern undefined& DAT_005d0af4; // 005d0af4 -extern undefined& DAT_005d0af8; // 005d0af8 -extern undefined& DAT_005d0afc; // 005d0afc -extern undefined& DAT_005d0b00; // 005d0b00 -extern undefined& DAT_005d0b04; // 005d0b04 -extern undefined& DAT_005d0b08; // 005d0b08 -extern undefined& DAT_005d0b0c; // 005d0b0c -extern undefined& DAT_005d0b10; // 005d0b10 -extern undefined& DAT_005d0b14; // 005d0b14 -extern undefined& DAT_005d0b18; // 005d0b18 -extern undefined& DAT_005d0b1c; // 005d0b1c -extern undefined& DAT_005d0b20; // 005d0b20 -extern undefined4& DAT_005d0b24; // 005d0b24 -extern byte& DAT_005d0b34; // 005d0b34 -extern undefined4& DAT_005d1d44; // 005d1d44 -extern undefined4& DAT_005d1d50; // 005d1d50 -extern int& DAT_005d1d54; // 005d1d54 -extern int& DAT_005d1d58; // 005d1d58 -extern undefined& lpCriticalSection_005d220c; // 005d220c -extern int *& DAT_005d2238; // 005d2238 -extern undefined4 *& DAT_005d223c; // 005d223c -extern undefined4 *& DAT_005d2244; // 005d2244 -extern undefined4 *& DAT_005d2248; // 005d2248 -extern byte& g_ucErmNbOfModule; // 005d2638 -extern undefined ** DAT_005d263c; // 005d263c -extern undefined& DAT_005d2640; // 005d2640 -extern mod1_ptrs& g_mod1_ptrs; // 005d2644 -extern undefined1& DAT_005d2650; // 005d2650 -extern byte& DAT_005d2651; // 005d2651 -extern int& DAT_005d2654; // 005d2654 -extern Bink& g_currentBinkMovie; // 005d2660 -extern undefined& lpVolumeNameBuffer_005d27b0; // 005d27b0 -extern r3_main_data& r3_main_data_005d28b6; // 005d28b6 -extern dword& DWORD_005d29c4; // 005d29c4 -extern undefined4& DAT_005d29c8; // 005d29c8 -extern int& DAT_005d29cc; // 005d29cc -extern undefined4& DAT_005d29d0; // 005d29d0 -extern undefined4& DAT_005d29f8; // 005d29f8 -extern undefined4 *& DAT_005d29fc; // 005d29fc -extern int& DAT_005d2a08; // 005d2a08 -extern undefined4& DAT_005d2a0c; // 005d2a0c -extern int& DAT_005d2a10; // 005d2a10 -extern char& DAT_005d2b18; // 005d2b18 -extern int& DAT_005d2b20; // 005d2b20 -extern float& FLOAT_005d2b38; // 005d2b38 -extern undefined1& DAT_005d2b40; // 005d2b40 -extern undefined1& DAT_005d2b41; // 005d2b41 -extern undefined1& DAT_005d2b42; // 005d2b42 -extern undefined& DAT_005d2b43; // 005d2b43 -extern undefined1& DAT_005d2b44; // 005d2b44 -extern undefined& DAT_005d2b46; // 005d2b46 -extern char& DAT_005d2b47; // 005d2b47 -extern int& DAT_005d2c58; // 005d2c58 -extern uint& DAT_005d2c60; // 005d2c60 -extern char& DAT_005d2c64; // 005d2c64 -extern int& DAT_005d2c68; // 005d2c68 -extern uint& DAT_005d2c6c; // 005d2c6c -extern int& DAT_005d2c70; // 005d2c70 -extern int& DAT_005d2c74; // 005d2c74 -extern undefined4& DAT_005d2c78; // 005d2c78 -extern ushort *& DAT_005d2c7c; // 005d2c7c -extern uint& DAT_005d2c80; // 005d2c80 -extern uint& DAT_005d2c84; // 005d2c84 -extern uint& DAT_005d2c88; // 005d2c88 -extern GLI_tdstTexture *& DAT_005d2c8c; // 005d2c8c -extern int& DAT_005d2c94; // 005d2c94 -extern short& DAT_005d2c98; // 005d2c98 -extern int& DAT_005d2c9c; // 005d2c9c -extern undefined& DAT_005d2ca4; // 005d2ca4 -extern short& DAT_005d2ca6; // 005d2ca6 -extern short& DAT_005d2ca8; // 005d2ca8 -extern int& DAT_005d2cac; // 005d2cac -extern undefined4& DAT_005d2cb0; // 005d2cb0 -extern uint& DAT_005d2cbc; // 005d2cbc -extern uint& DAT_005d2cc0; // 005d2cc0 -extern uint& DAT_005d2cc8; // 005d2cc8 -extern int& DAT_005d2ccc; // 005d2ccc -extern undefined& DAT_005d2cd4; // 005d2cd4 -extern int& DAT_005e6110; // 005e6110 -extern undefined4& DAT_005e6114; // 005e6114 -extern undefined4& DAT_005e6118; // 005e6118 -extern undefined4& DAT_005e6120; // 005e6120 -extern int *& DAT_005e6920; // 005e6920 -extern undefined4& DAT_005e6934; // 005e6934 -extern undefined4& DAT_005e6938; // 005e6938 -extern int& DAT_005e693c; // 005e693c -extern undefined4& DAT_005e6948; // 005e6948 -extern undefined4& DAT_005e694c; // 005e694c -extern undefined4& DAT_005e6974; // 005e6974 -extern int& DAT_005e6978; // 005e6978 -extern undefined4& DAT_005e6984; // 005e6984 -extern int& DAT_005e69b4; // 005e69b4 -extern undefined4& DAT_005e69cc; // 005e69cc -extern undefined4& DAT_005e69d0; // 005e69d0 -extern int& DAT_005e69e0; // 005e69e0 -extern int& gfx_blockInfinitely; // 005e6b00 -extern dword& DWORD_005e6b04; // 005e6b04 -extern undefined4& g_perfCounterRateAdjusted; // 005e6b0c -extern undefined4& DAT_005e6b10; // 005e6b10 -extern undefined& DAT_005e6b18; // 005e6b18 -extern undefined& DAT_005e6b1c; // 005e6b1c -extern undefined& DAT_005e6b20; // 005e6b20 -extern undefined4& DAT_005e6b28; // 005e6b28 -extern undefined& DAT_005e6b2c; // 005e6b2c -extern undefined4& DAT_005e6b30; // 005e6b30 -extern undefined4& DAT_005e6b34; // 005e6b34 -extern HWND& DAT_005e6c2c; // 005e6c2c -extern IDirect3D8 *& gfx_d3d; // 005e6c30 -extern int& g_lastFrameTime; // 005e6c34 -extern undefined& DAT_005e6c38; // 005e6c38 -extern undefined4& g_currentFrameTime; // 005e6c3c -extern undefined4& DAT_005e6c40; // 005e6c40 -extern undefined& DAT_005e6c44; // 005e6c44 -extern short& DAT_005e6c46; // 005e6c46 -extern int& DAT_005e6c48; // 005e6c48 -extern int& DAT_005e6c50; // 005e6c50 -extern FIL_tdstConcatFile *& g_textureConcatFile; // 005e6c54 -extern undefined4& DAT_005e6c58; // 005e6c58 -extern int& DAT_005f5de4; // 005f5de4 -extern undefined4& DAT_005f5de8; // 005f5de8 -extern undefined4& DAT_005f5dec; // 005f5dec -extern undefined4& DAT_005f5df0; // 005f5df0 -extern IDirect3DVertexBuffer8 *& g_unkVertexBuffer; // 005f5df8 -extern undefined4& DAT_005f5dfc; // 005f5dfc -extern undefined4& DAT_005f5e00; // 005f5e00 -extern undefined4& DAT_005f5e04; // 005f5e04 -extern undefined4& DAT_005f5e08; // 005f5e08 -extern int& DAT_005f5e0c; // 005f5e0c -extern undefined& DAT_005f5e10; // 005f5e10 -extern undefined& DAT_005f5e14; // 005f5e14 -extern float& DAT_005f5e18; // 005f5e18 -extern undefined& DAT_005f5e1c; // 005f5e1c -extern r3_astruct_2& g_startOfGfxStruct; // 005f5e24 -extern char& DAT_005f5e3a; // 005f5e3a -extern astruct_3 *& PTR_005f5e3c; // 005f5e3c -extern int& DAT_005f5e44; // 005f5e44 -extern int *& DAT_005f5e48; // 005f5e48 -extern int *& DAT_005f5e50; // 005f5e50 -extern float& DAT_005f5e54; // 005f5e54 -extern int& DAT_005f5e58; // 005f5e58 -extern char& DAT_005f5e5c; // 005f5e5c -extern undefined1& DAT_005f5e5d; // 005f5e5d -extern byte& DAT_005f5e5e; // 005f5e5e -extern char& DAT_005f5e68; // 005f5e68 -extern DWORD& DAT_005f5e6c; // 005f5e6c -extern undefined4 *& DAT_005f5e74; // 005f5e74 -extern int& DAT_005f5e78; // 005f5e78 -extern undefined4 *& DAT_005f5e7c; // 005f5e7c -extern GLI_tdstTexture *& DAT_005f5e80; // 005f5e80 -extern int& DAT_005f5e8c; // 005f5e8c -extern undefined& DAT_005f5e98; // 005f5e98 -extern undefined1& DAT_005f5e9c; // 005f5e9c -extern undefined4& DAT_005f5ea0; // 005f5ea0 -extern undefined4& DAT_005f5ea4; // 005f5ea4 -extern undefined4& DAT_005f5ea8; // 005f5ea8 -extern char& DAT_00637d8c; // 00637d8c -extern undefined4& DAT_00637d98; // 00637d98 -extern uint& DAT_00637da0; // 00637da0 -extern uint& DAT_00637da4; // 00637da4 -extern uint& DAT_00637db0; // 00637db0 -extern undefined& DAT_00637db4; // 00637db4 -extern int& DAT_00637db8; // 00637db8 -extern undefined4& DAT_00637dbc; // 00637dbc -extern int *& DAT_00637dc0; // 00637dc0 -extern IDirect3DIndexBuffer8 *& DAT_00637dc4; // 00637dc4 -extern int& DAT_00637dcc; // 00637dcc -extern undefined& DAT_00637dd0; // 00637dd0 -extern undefined4& DAT_0063be24; // 0063be24 -extern int& DAT_0063be40; // 0063be40 -extern int& DAT_0063be44; // 0063be44 -extern char& DAT_0063be50; // 0063be50 -extern undefined1& DAT_0063be84; // 0063be84 -extern IDirect3DBaseTexture8 *& DAT_0063be98; // 0063be98 -extern uint& DAT_0063bea0; // 0063bea0 -extern undefined& DAT_0063bea4; // 0063bea4 -extern char *& DAT_0063bea8; // 0063bea8 -extern int& DAT_0063beac; // 0063beac -extern byte& m7_unk1; // 0063bec0 -extern char& g_m7_criticalSectionInitialized; // 0063bec4 -extern uint& DAT_0063becc; // 0063becc -extern int& DAT_0063bed0; // 0063bed0 -extern undefined& DAT_0063bffc; // 0063bffc -extern undefined& DAT_0063c000; // 0063c000 -extern uint& DAT_0063c004; // 0063c004 -extern int& DAT_0063c008; // 0063c008 -extern char& DAT_0063c00c; // 0063c00c -extern int& DAT_0063c010; // 0063c010 -extern undefined4& DAT_0063c014; // 0063c014 -extern undefined& DAT_0063c018; // 0063c018 -extern undefined& DAT_0063c01c; // 0063c01c -extern undefined1& DAT_0063c020; // 0063c020 -extern undefined& DAT_0063c024; // 0063c024 -extern undefined& DAT_0063c028; // 0063c028 -extern char& DAT_0063c038; // 0063c038 -extern undefined1& DAT_0063c039; // 0063c039 -extern float& DAT_0063c03c; // 0063c03c -extern undefined4& DAT_0063c040; // 0063c040 -extern float& DAT_0063c044; // 0063c044 -extern undefined4& DAT_0063c04c; // 0063c04c -extern undefined& DAT_0063c050; // 0063c050 -extern undefined1& DAT_0063c054; // 0063c054 -extern int& DAT_0063c058; // 0063c058 -extern int& DAT_0063c05c; // 0063c05c -extern int& DAT_0063c080; // 0063c080 -extern undefined& DAT_0063c084; // 0063c084 -extern undefined& DAT_0063c088; // 0063c088 -extern undefined& DAT_0063c08c; // 0063c08c -extern undefined& DAT_0063c090; // 0063c090 -extern undefined4& DAT_0063c0a0; // 0063c0a0 -extern int& DAT_0063c0a4; // 0063c0a4 -extern undefined4& DAT_0063c0a8; // 0063c0a8 -extern int& DAT_0063c0ac; // 0063c0ac -extern undefined1& DAT_0063c0b0; // 0063c0b0 -extern int& DAT_0063c0b4; // 0063c0b4 -extern undefined4& DAT_0063c0f0; // 0063c0f0 -extern int& DAT_0063e248; // 0063e248 -extern int& DAT_0063e24c; // 0063e24c -extern uint& DAT_0063e2f0; // 0063e2f0 -extern undefined& DAT_0063e2f8; // 0063e2f8 -extern undefined4& DAT_0073e2f8; // 0073e2f8 -extern undefined4 *& DAT_0073e2fc; // 0073e2fc -extern undefined4& DAT_0073e300; // 0073e300 -extern undefined4& DAT_00754a58; // 00754a58 -extern char& DAT_00754a60; // 00754a60 -extern ushort& DAT_00754a6a; // 00754a6a -extern undefined& DAT_00754a70; // 00754a70 -extern undefined1& DAT_00754a90; // 00754a90 -extern undefined4& DAT_00754dcc; // 00754dcc -extern undefined4& DAT_00754dd8; // 00754dd8 -extern char& DAT_00754de0; // 00754de0 -extern int& DAT_00754e2c; // 00754e2c -extern short& DAT_00754ea8; // 00754ea8 -extern short& DAT_00754eaa; // 00754eaa -extern HANDLE& DAT_00754eac; // 00754eac -extern FIL_tdstConcatFile *& g_fileWrapper1; // 00754eb0 -extern undefined4& DAT_00754eb4; // 00754eb4 -extern float& DAT_00754eb8; // 00754eb8 -extern float& DAT_00754ebc; // 00754ebc -extern undefined& DAT_00754ec0; // 00754ec0 -extern undefined& DAT_00754ecc; // 00754ecc -extern undefined& DAT_00754ed8; // 00754ed8 -extern undefined& DAT_00754ee4; // 00754ee4 -extern undefined& DAT_00754ef0; // 00754ef0 -extern float& DAT_00754efc; // 00754efc -extern undefined4& DAT_00754f38; // 00754f38 -extern char& DAT_00754f3c; // 00754f3c -extern int& DAT_00754f40; // 00754f40 -extern undefined4& DAT_00754f44; // 00754f44 -extern undefined4& DAT_00754f54; // 00754f54 -extern undefined4& DAT_00754f58; // 00754f58 -extern char& DAT_00754f5c; // 00754f5c -extern undefined& DAT_00754f60; // 00754f60 -extern ulong& DAT_00754f64; // 00754f64 -extern undefined& DAT_00754f68; // 00754f68 -extern float& DAT_00754f6c; // 00754f6c -extern undefined& DAT_00754f70; // 00754f70 -extern undefined& DAT_00754f74; // 00754f74 -extern undefined4& DAT_00754f78; // 00754f78 -extern float& DAT_00754f7c; // 00754f7c -extern Bink *& DAT_00754fb0; // 00754fb0 -extern undefined1& DAT_00754fb8; // 00754fb8 -extern undefined4& DAT_00754fbc; // 00754fbc -extern short& DAT_00754fc0; // 00754fc0 -extern undefined2& DAT_00754fc2; // 00754fc2 -extern int& DAT_00755dc0; // 00755dc0 -extern undefined4& DAT_00755dc8; // 00755dc8 -extern undefined4& DAT_00755dd0; // 00755dd0 -extern undefined4& DAT_00755dd4; // 00755dd4 -extern undefined4& DAT_00755dd8; // 00755dd8 -extern undefined4& DAT_00755ddc; // 00755ddc -extern int * *& DAT_00755e40; // 00755e40 -extern int& DAT_00755e48; // 00755e48 -extern int * *& DAT_00755e50; // 00755e50 -extern char& DAT_00755e60; // 00755e60 -extern short& DAT_00755ee8; // 00755ee8 -extern undefined& DAT_00755ef0; // 00755ef0 -extern int& success; // 00755ef4 -extern undefined2& DAT_00755ef8; // 00755ef8 -extern undefined& DAT_00755efc; // 00755efc -extern int& DAT_00755f04; // 00755f04 -extern int& DAT_00755f08; // 00755f08 -extern int& DAT_00755f0c; // 00755f0c -extern char& MTH_InitDone; // 00755f18 -extern short& wTimerCount; // 0077d024 -extern short& TimerLibOk; // 0077d026 -extern short& DAT_0077d028; // 0077d028 -extern int& INT_0077d0a4; // 0077d0a4 -extern int& g_runMaximized; // 0077d0a8 -extern dword& g_runMaximized1; // 0077d0ac -extern int& g_engineShouldRun; // 0077d0b0 -extern undefined4& g_engineRunning; // 0077d0b4 -extern undefined4& g_windowCloseRequested; // 0077d0b8 -extern HANDLE& 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 int& g_gli_width; // 0077d4cc -extern int& g_gli_height; // 0077d4d0 -extern word& g_mainWindowHandle; // 0077d4d4 -extern word& g_mainWindowInnerHandle; // 0077d4d6 -extern GLI_tdstSpecificAttributesFor3D& g_fixVpAttr; // 0077d4d8 -extern char(&g_appCmdLine)[256]; // 0077d4e0 -extern char(&s_wndStrRestoring)[256]; // 0077d5e0 -extern undefined4& DAT_0077d960; // 0077d960 -extern undefined4 *& DAT_0077ea90; // 0077ea90 -extern int& DAT_0077ea94; // 0077ea94 -extern byte& DAT_0077ea98; // 0077ea98 -extern byte& DAT_0077eab0; // 0077eab0 -extern GLI_tdstTexture *& DAT_00781638; // 00781638 -extern undefined& DAT_00781640; // 00781640 -extern char(&g_gameDataPath)[64]; // 00781660 -extern undefined& s_DLL; // 00781764 -extern undefined1& g_savegamePath; // 00781868 -extern undefined& DAT_0078186c; // 0078186c -extern char& DAT_00781870; // 00781870 -extern undefined& DAT_0078196c; // 0078196c -extern undefined& s_world_levels; // 00781a70 -extern undefined& DAT_00781b74; // 00781b74 -extern undefined& DAT_00781e80; // 00781e80 -extern undefined& DAT_00781f84; // 00781f84 -extern undefined& DAT_00782086; // 00782086 -extern char(&lpBuffer_00782088)[260]; // 00782088 -extern undefined& s_MoviePath; // 00782394 -extern undefined& lpReturnedString_007824a0; // 007824a0 -extern char(&s_quitting1)[64]; // 007825c0 -extern char(&s_wndStrQuiting)[56]; // 00782600 -extern undefined& g_errDat0; // 00782638 -extern undefined& g_errDat1; // 0078263c -extern tdstLastErrorInfo(&g_stErmTheLastErrorInfo)[3]; // 00782640 -extern tdstChunkHeader& tdstChunkHeader_00782658; // 00782658 -extern tdstAviHeader& tdstAviHeader_00782660; // 00782660 -extern undefined1& DAT_0078266c; // 0078266c -extern undefined4& DAT_007829e0; // 007829e0 -extern byte& DAT_007829e4; // 007829e4 -extern undefined4& DAT_007829f8; // 007829f8 -extern undefined4& gfx_d3dVersion; // 007829fc -extern undefined& DAT_00782a00; // 00782a00 -extern undefined4& DAT_00782a20; // 00782a20 -extern undefined1& DAT_00782a44; // 00782a44 -extern undefined4& DAT_00782c64; // 00782c64 -extern undefined4& DAT_00782dc4; // 00782dc4 -extern undefined4& DAT_00783450; // 00783450 -extern short& DAT_0078f630; // 0078f630 -extern undefined4& DAT_0078f640; // 0078f640 -extern short& DAT_0078f690; // 0078f690 -extern short& DAT_0078f692; // 0078f692 -extern tdstBlockInfoPriv *(&g_a_p_stMmgModuleBlocksInfo)[255]; // 0078f6a0 -extern undefined& g_MmgCriticalSection; // 0078faa0 -extern char(&g_a_ucBlocksNbInModule)[255]; // 0078fac0 -extern tdstGeneralChannelsInfo_& g_stGeneralChannelInfo; // 0078fbc0 -extern tdstCurrentModeInfo *& g_d_stCurrentModeInfo; // 0078fbc8 -extern undefined4& DAT_0078fbe0; // 0078fbe0 -extern undefined4& DAT_00790be0; // 00790be0 -extern undefined4& DAT_00791c00; // 00791c00 -extern undefined4& DAT_00792c00; // 00792c00 -extern double& MTH_gs_dDecal; // 00793c00 -extern undefined4& DAT_00793c20; // 00793c20 -extern uint& DAT_00794cec; // 00794cec -extern dword& DWORD_00794d00; // 00794d00 -extern dword& DWORD_00794d04; // 00794d04 -extern undefined& DAT_00794d0c; // 00794d0c -extern undefined& DAT_00794d10; // 00794d10 -extern dword& g_perfCounterFreq0_unused; // 00794d14 -extern undefined& DAT_00794d24; // 00794d24 -extern tdstTimer(&g_timerTab)[16]; // 00794d40 -extern undefined2& DAT_007955b2; // 007955b2 -extern float& DAT_007a0b58; // 007a0b58 -extern undefined& DAT_007a0b5c; // 007a0b5c -extern float& FLOAT_007a0b60; // 007a0b60 -extern byte& DAT_007a0b64; // 007a0b64 -extern undefined1& DAT_007a0b65; // 007a0b65 -extern undefined1& DAT_007a0b80; // 007a0b80 -extern char& DAT_007a0b81; // 007a0b81 -extern char& DAT_007a0b82; // 007a0b82 -extern undefined& DAT_007a0b83; // 007a0b83 -extern int& DAT_007a0cac; // 007a0cac -extern undefined1& DAT_007a0cd8; // 007a0cd8 -extern Float4& Float4_007a2c00; // 007a2c00 -extern uint& g_windowClearColor; // 007a2c14 -extern float& FLOAT_007a2c24; // 007a2c24 -extern float& FLOAT_007a2c2c; // 007a2c2c -extern int& DAT_007a2c4c; // 007a2c4c -extern byte& BYTE_007a2c54; // 007a2c54 -extern undefined1& DAT_007a2c55; // 007a2c55 -extern undefined1& DAT_007a2c56; // 007a2c56 -extern undefined1& DAT_007a2c57; // 007a2c57 -extern HBINK& g_binkHandle; // 007a2d60 -extern undefined4& DAT_007a2da8; // 007a2da8 -extern undefined4& DAT_007a2dac; // 007a2dac -extern undefined4& DAT_007a2db0; // 007a2db0 -extern undefined4& DAT_007a2db8; // 007a2db8 -extern undefined4& DAT_007a2dbc; // 007a2dbc -extern undefined4& DAT_007a2dc0; // 007a2dc0 -extern undefined4& g_StopVideoActionHandle; // 007a2dc4 -extern undefined4& g_binkDestStorage; // 007a2dc8 -extern long& DAT_007a2dd0; // 007a2dd0 -extern ulong& DAT_007a2dd4; // 007a2dd4 -extern ulong& DAT_007a2dd8; // 007a2dd8 -extern uint& DAT_007a2ddc; // 007a2ddc -extern int& DAT_007a2de0; // 007a2de0 -extern uint& DAT_007a2de4; // 007a2de4 -extern int& DAT_007a2de8; // 007a2de8 -extern undefined1& g_binkMovieEnded; // 007a2dec -extern byte& g_bink_videoBpp; // 007a2e00 -extern undefined& DAT_007a2e01; // 007a2e01 -extern byte& g_bink_wantedVideoQuality; // 007a2e02 -extern byte& g_bink_realVideoQuality; // 007a2e03 -extern byte& g_bink_autoAdjustQuality; // 007a2e04 -extern uint& DAT_007a2e0c; // 007a2e0c -extern int& g_bink_wantedVideoQualityPlus1; // 007a2e10 -extern undefined4& DAT_007a2e14; // 007a2e14 -extern undefined2& DAT_007a2e40; // 007a2e40 -extern int& DAT_007a6e40; // 007a6e40 -extern undefined1& DAT_007a6e44; // 007a6e44 -extern undefined& DAT_007a7920; // 007a7920 -extern undefined& DAT_007a7924; // 007a7924 -extern undefined& DAT_007a7952; // 007a7952 -extern undefined& DAT_007a7984; // 007a7984 -extern undefined& DAT_007a7988; // 007a7988 -extern undefined& DAT_007a798c; // 007a798c -extern undefined4& DAT_007a79e8; // 007a79e8 -extern undefined1& DAT_007a79ec; // 007a79ec -extern undefined& DAT_007a7a1e; // 007a7a1e -extern undefined& DAT_007a7a22; // 007a7a22 -extern undefined& DAT_007a7a26; // 007a7a26 -extern char& DAT_007a7a28; // 007a7a28 -extern undefined& DAT_007a7a50; // 007a7a50 -extern undefined& DAT_007a7a54; // 007a7a54 -extern undefined& DAT_007a7a58; // 007a7a58 -extern char& DAT_007a7a5a; // 007a7a5a -extern undefined4& DAT_007a7ab4; // 007a7ab4 -extern undefined1& DAT_007a7ab8; // 007a7ab8 -extern undefined& DAT_007a7aea; // 007a7aea -extern undefined& DAT_007a7aee; // 007a7aee -extern undefined& DAT_007a7af2; // 007a7af2 -extern undefined& DAT_007a7b1c; // 007a7b1c -extern undefined& DAT_007a7b20; // 007a7b20 -extern undefined& DAT_007a7b24; // 007a7b24 -extern undefined& DAT_007a7b80; // 007a7b80 -extern undefined1& DAT_007a7b84; // 007a7b84 -extern undefined& DAT_007a7bb6; // 007a7bb6 -extern undefined& UNK_007a7bb7; // 007a7bb7 -extern undefined& DAT_007a7bba; // 007a7bba -extern undefined& UNK_007a7bbb; // 007a7bbb -extern undefined& DAT_007a7bbe; // 007a7bbe -extern char& UNK_007a7bbf; // 007a7bbf -extern char& DAT_007a7bc0; // 007a7bc0 -extern undefined& DAT_007a7be8; // 007a7be8 -extern undefined& UNK_007a7be9; // 007a7be9 -extern undefined& DAT_007a7bec; // 007a7bec -extern undefined& UNK_007a7bed; // 007a7bed -extern undefined& DAT_007a7bf0; // 007a7bf0 -extern char& UNK_007a7bf1; // 007a7bf1 -extern char& DAT_007a7bf2; // 007a7bf2 -extern undefined& DAT_007a7c4c; // 007a7c4c -extern undefined1& DAT_007a7c50; // 007a7c50 -extern undefined& DAT_007a7c82; // 007a7c82 -extern undefined& UNK_007a7c83; // 007a7c83 -extern undefined& DAT_007a7c86; // 007a7c86 -extern undefined& UNK_007a7c87; // 007a7c87 -extern undefined& DAT_007a7c8a; // 007a7c8a -extern char& UNK_007a7c8b; // 007a7c8b -extern undefined& DAT_007a7cb4; // 007a7cb4 -extern undefined& UNK_007a7cb5; // 007a7cb5 -extern undefined& DAT_007a7cb8; // 007a7cb8 -extern undefined& UNK_007a7cb9; // 007a7cb9 -extern undefined& DAT_007a7cbc; // 007a7cbc -extern char& UNK_007a7cbd; // 007a7cbd -extern undefined& DAT_007a7d18; // 007a7d18 -extern undefined1& DAT_007a7d1c; // 007a7d1c -extern undefined& DAT_007a7d4e; // 007a7d4e -extern undefined& DAT_007a7d52; // 007a7d52 -extern undefined& DAT_007a7d56; // 007a7d56 -extern undefined& DAT_007a7d5a; // 007a7d5a -extern undefined& DAT_007a7d80; // 007a7d80 -extern undefined& DAT_007a7d84; // 007a7d84 -extern undefined& DAT_007a7d88; // 007a7d88 -extern undefined& DAT_007a7d8c; // 007a7d8c -extern undefined& DAT_007a7de4; // 007a7de4 -extern undefined1& DAT_007a7de8; // 007a7de8 -extern undefined& DAT_007a7e1a; // 007a7e1a -extern undefined& UNK_007a7e1b; // 007a7e1b -extern undefined& DAT_007a7e1e; // 007a7e1e -extern undefined& UNK_007a7e1f; // 007a7e1f -extern undefined& DAT_007a7e22; // 007a7e22 -extern undefined& UNK_007a7e23; // 007a7e23 -extern undefined& DAT_007a7e26; // 007a7e26 -extern undefined& UNK_007a7e27; // 007a7e27 -extern undefined& DAT_007a7e2a; // 007a7e2a -extern char& UNK_007a7e2b; // 007a7e2b -extern undefined& DAT_007a7e4c; // 007a7e4c -extern undefined& UNK_007a7e4d; // 007a7e4d -extern undefined& DAT_007a7e50; // 007a7e50 -extern undefined& UNK_007a7e51; // 007a7e51 -extern undefined& DAT_007a7e54; // 007a7e54 -extern undefined& UNK_007a7e55; // 007a7e55 -extern undefined& DAT_007a7e58; // 007a7e58 -extern undefined& UNK_007a7e59; // 007a7e59 -extern undefined& DAT_007a7e5c; // 007a7e5c -extern char& UNK_007a7e5d; // 007a7e5d -extern undefined& DAT_007a7eb0; // 007a7eb0 -extern undefined1& DAT_007a7eb4; // 007a7eb4 -extern undefined& DAT_007a7ee6; // 007a7ee6 -extern undefined& UNK_007a7ee7; // 007a7ee7 -extern undefined& DAT_007a7eea; // 007a7eea -extern undefined& UNK_007a7eeb; // 007a7eeb -extern char& DAT_007a7eee; // 007a7eee -extern undefined& DAT_007a7f18; // 007a7f18 -extern undefined& UNK_007a7f19; // 007a7f19 -extern undefined& DAT_007a7f1c; // 007a7f1c -extern undefined& UNK_007a7f1d; // 007a7f1d -extern char& DAT_007a7f20; // 007a7f20 -extern undefined& DAT_007a7f7c; // 007a7f7c -extern undefined1& DAT_007a7f80; // 007a7f80 -extern undefined& DAT_007a7fb2; // 007a7fb2 -extern undefined& UNK_007a7fb3; // 007a7fb3 -extern undefined& DAT_007a7fb6; // 007a7fb6 -extern undefined& UNK_007a7fb7; // 007a7fb7 -extern char& DAT_007a7fba; // 007a7fba -extern undefined& DAT_007a8048; // 007a8048 -extern undefined1& DAT_007a804c; // 007a804c -extern undefined4& DAT_007a807e; // 007a807e -extern undefined& DAT_007a8114; // 007a8114 -extern undefined1& DAT_007a8118; // 007a8118 -extern undefined& DAT_007a814a; // 007a814a -extern undefined& UNK_007a814b; // 007a814b -extern undefined& DAT_007a814e; // 007a814e -extern undefined& UNK_007a814f; // 007a814f -extern undefined& DAT_007a8152; // 007a8152 -extern undefined& UNK_007a8153; // 007a8153 -extern undefined& DAT_007a8156; // 007a8156 -extern undefined& UNK_007a8157; // 007a8157 -extern undefined& DAT_007a815a; // 007a815a -extern char& UNK_007a815b; // 007a815b -extern char& DAT_007a815c; // 007a815c -extern undefined& DAT_007a81e0; // 007a81e0 -extern undefined1& DAT_007a81e4; // 007a81e4 -extern undefined2& DAT_007a8216; // 007a8216 -extern undefined& DAT_007a82ac; // 007a82ac -extern undefined1& DAT_007a82b0; // 007a82b0 -extern undefined2& DAT_007a82e2; // 007a82e2 -extern undefined& DAT_007a8378; // 007a8378 -extern GLI_tdstTexture *& DAT_007a837c; // 007a837c -extern undefined4& DAT_007a8380; // 007a8380 -extern undefined4& DAT_007a8400; // 007a8400 -extern undefined4& DAT_007a8404; // 007a8404 -extern undefined4& DAT_007a8408; // 007a8408 -extern undefined4& DAT_007a840c; // 007a840c -extern undefined4& DAT_007a8410; // 007a8410 -extern undefined4& DAT_007a8414; // 007a8414 -extern undefined4& DAT_007a8418; // 007a8418 -extern undefined4& DAT_007a841c; // 007a841c -extern undefined& DAT_007a8420; // 007a8420 -extern undefined& DAT_007a8424; // 007a8424 -extern undefined& DAT_007a8428; // 007a8428 -extern undefined& DAT_007a842c; // 007a842c -extern undefined& DAT_007a8430; // 007a8430 -extern undefined4& DAT_007a8434; // 007a8434 -extern undefined& DAT_007a8438; // 007a8438 -extern undefined& DAT_007a843c; // 007a843c -extern undefined2& DAT_007a8440; // 007a8440 -extern undefined2& DAT_007a8442; // 007a8442 -extern undefined2& DAT_007a8444; // 007a8444 -extern undefined2& DAT_007a8446; // 007a8446 -extern undefined2& DAT_007a8448; // 007a8448 -extern undefined2& DAT_007a844a; // 007a844a -extern undefined& DAT_007a844c; // 007a844c -extern undefined4& DAT_007a8450; // 007a8450 -extern undefined& DAT_007a8454; // 007a8454 -extern undefined& DAT_007a8458; // 007a8458 -extern undefined4& DAT_007a845c; // 007a845c -extern undefined& DAT_007a8460; // 007a8460 -extern undefined& DAT_007a8464; // 007a8464 -extern undefined4& DAT_007a8468; // 007a8468 -extern undefined& DAT_007a846c; // 007a846c -extern undefined& DAT_007a8470; // 007a8470 -extern undefined4& DAT_007a8474; // 007a8474 -extern undefined4& DAT_007a8478; // 007a8478 -extern undefined1& DAT_007a847c; // 007a847c -extern GLI_tdstTexture *& DAT_007a8490; // 007a8490 -extern undefined4& DAT_007a84a0; // 007a84a0 -extern int& DAT_007a84b0; // 007a84b0 -extern int& DAT_007a84b4; // 007a84b4 -extern undefined4& DAT_007a84b8; // 007a84b8 -extern undefined4& DAT_007a84bc; // 007a84bc -extern int& DAT_007a84c0; // 007a84c0 -extern undefined& DAT_007a84e0; // 007a84e0 -extern undefined& DAT_007a84e4; // 007a84e4 -extern undefined& DAT_007a84e8; // 007a84e8 -extern undefined4& DAT_007a84ec; // 007a84ec -extern undefined4& DAT_007a84f0; // 007a84f0 -extern undefined4& DAT_007a8520; // 007a8520 -extern undefined4& DAT_007a859c; // 007a859c -extern undefined4& DAT_007a85b4; // 007a85b4 -extern undefined4& DAT_007a85cc; // 007a85cc -extern undefined4& DAT_007a85d0; // 007a85d0 -extern undefined4& DAT_007a85d4; // 007a85d4 -extern undefined4& DAT_007a85d8; // 007a85d8 -extern undefined4& DAT_007a85dc; // 007a85dc -extern undefined4& DAT_007a85e4; // 007a85e4 -extern undefined4& DAT_007a85ec; // 007a85ec -extern undefined4& DAT_007a85f0; // 007a85f0 -extern undefined4& DAT_007a85f4; // 007a85f4 -extern undefined4& DAT_007a85f8; // 007a85f8 -extern undefined4& DAT_007a85fc; // 007a85fc -extern undefined4& DAT_007a8600; // 007a8600 -extern undefined4& DAT_007a8618; // 007a8618 -extern undefined4& DAT_007a861c; // 007a861c -extern undefined4& DAT_007a8620; // 007a8620 -extern undefined4& DAT_007a8624; // 007a8624 -extern undefined4& DAT_007a8628; // 007a8628 -extern undefined4& DAT_007a862c; // 007a862c -extern undefined4& DAT_007a863c; // 007a863c -extern undefined4& DAT_007a8670; // 007a8670 -extern undefined4& DAT_007a8684; // 007a8684 -extern undefined4& DAT_007a86c4; // 007a86c4 -extern undefined4& DAT_007a86d4; // 007a86d4 -extern undefined4& DAT_007a86d8; // 007a86d8 -extern undefined4& DAT_007a86dc; // 007a86dc -extern undefined4& DAT_007a86e0; // 007a86e0 -extern undefined4& DAT_007a86e4; // 007a86e4 -extern undefined4& DAT_007a86e8; // 007a86e8 -extern undefined4& DAT_007a86ec; // 007a86ec -extern undefined4& DAT_007a86f0; // 007a86f0 -extern undefined4& DAT_007a86f4; // 007a86f4 -extern undefined4& DAT_007a86f8; // 007a86f8 -extern undefined4& DAT_007a8710; // 007a8710 -extern undefined4& DAT_007a8714; // 007a8714 -extern undefined4& DAT_007a8718; // 007a8718 -extern undefined4& DAT_007a871c; // 007a871c -extern undefined4& DAT_007a8728; // 007a8728 -extern int& DAT_007a9c00; // 007a9c00 -extern undefined4& DAT_007a9c04; // 007a9c04 -extern int& DAT_007a9c08; // 007a9c08 -extern int& DAT_007a9c0c; // 007a9c0c -extern int& DAT_007a9c10; // 007a9c10 -extern int& DAT_007a9c14; // 007a9c14 -extern int& DAT_007a9d24; // 007a9d24 -extern int& DAT_007a9d28; // 007a9d28 -extern int& DAT_007a9d2c; // 007a9d2c -extern int& DAT_007a9d30; // 007a9d30 -extern int& DAT_007a9d34; // 007a9d34 -extern int& DAT_007a9d38; // 007a9d38 -extern int& DAT_007a9d3c; // 007a9d3c -extern int& DAT_007a9d40; // 007a9d40 -extern undefined4& DAT_007a9d44; // 007a9d44 -extern int& DAT_007a9d48; // 007a9d48 -extern int& DAT_007a9d4c; // 007a9d4c -extern undefined4& DAT_007a9d50; // 007a9d50 -extern int& DAT_007a9d54; // 007a9d54 -extern undefined4& DAT_007a9d64; // 007a9d64 -extern undefined1& DAT_007a9d68; // 007a9d68 -extern undefined& DAT_007a9d9a; // 007a9d9a -extern undefined& DAT_007a9dcc; // 007a9dcc -extern undefined& DAT_007a9dfe; // 007a9dfe -extern undefined& DAT_007a9e30; // 007a9e30 -extern undefined& DAT_007a9f91; // 007a9f91 -extern undefined4& DAT_007a9fa4; // 007a9fa4 -extern undefined4& DAT_007a9fa8; // 007a9fa8 -extern undefined& DAT_007ab234; // 007ab234 -extern undefined& DAT_007ab484; // 007ab484 -extern undefined1& DAT_007ab488; // 007ab488 -extern undefined1& DAT_007ab4ba; // 007ab4ba -extern undefined1& DAT_007ab4ec; // 007ab4ec -extern undefined1& DAT_007ab51e; // 007ab51e -extern undefined1& DAT_007ab550; // 007ab550 -extern undefined& DAT_007ab6c4; // 007ab6c4 -extern undefined& DAT_007ab6c8; // 007ab6c8 -extern undefined& DAT_007ab6d4; // 007ab6d4 -extern undefined& DAT_007ab924; // 007ab924 -extern undefined& DAT_007abb74; // 007abb74 -extern undefined& DAT_007abb78; // 007abb78 -extern undefined& DAT_007abdc4; // 007abdc4 -extern undefined& DAT_007ac014; // 007ac014 -extern undefined& DAT_007ac264; // 007ac264 -extern undefined& DAT_007ac4b4; // 007ac4b4 -extern undefined& DAT_007ac704; // 007ac704 -extern undefined& DAT_007ac954; // 007ac954 -extern undefined& DAT_007acba4; // 007acba4 -extern undefined& DAT_007acdf4; // 007acdf4 -extern undefined& DAT_007ad044; // 007ad044 -extern undefined& DAT_007ad294; // 007ad294 -extern undefined& DAT_007ad4e4; // 007ad4e4 -extern undefined& DAT_007ad4e8; // 007ad4e8 -extern undefined& DAT_007ad734; // 007ad734 -extern undefined& DAT_007ad738; // 007ad738 -extern undefined& DAT_007ad974; // 007ad974 -extern undefined& DAT_007ad978; // 007ad978 -extern undefined& DAT_007cf200; // 007cf200 -extern undefined4& DAT_007cf204; // 007cf204 -extern undefined4& DAT_007cf208; // 007cf208 -extern undefined4& DAT_007cf420; // 007cf420 -extern undefined4& DAT_007cf424; // 007cf424 -extern undefined& DAT_007cf428; // 007cf428 -extern undefined4& DAT_007cf42c; // 007cf42c -extern undefined4& DAT_007cf430; // 007cf430 -extern undefined4& DAT_007cf434; // 007cf434 -extern undefined4& DAT_007cf438; // 007cf438 -extern undefined4& DAT_007cf43c; // 007cf43c -extern undefined4& DAT_007cf440; // 007cf440 -extern undefined4& DAT_007cf444; // 007cf444 -extern undefined4& DAT_007cf448; // 007cf448 -extern undefined4& DAT_007cf44c; // 007cf44c -extern undefined4& DAT_007cf450; // 007cf450 -extern undefined& DAT_007cf460; // 007cf460 -extern undefined& DAT_007cf600; // 007cf600 -extern undefined& DAT_007cf7a0; // 007cf7a0 -extern undefined& DAT_007cf940; // 007cf940 -extern undefined& DAT_007cfae0; // 007cfae0 -extern undefined& DAT_007cfc80; // 007cfc80 -extern undefined& DAT_007cfe20; // 007cfe20 -extern undefined& DAT_007cffc0; // 007cffc0 -extern undefined& DAT_007d0160; // 007d0160 -extern undefined& DAT_007d0300; // 007d0300 -extern undefined& DAT_007d04a0; // 007d04a0 -extern undefined& DAT_007d0640; // 007d0640 -extern undefined& DAT_007d07e0; // 007d07e0 -extern undefined4& DAT_007d0980; // 007d0980 -extern undefined4& DAT_007d0984; // 007d0984 -extern undefined4& DAT_007d0988; // 007d0988 -extern undefined4& DAT_007d099c; // 007d099c -extern undefined4& DAT_007d6f10; // 007d6f10 -extern undefined4& DAT_007d6f14; // 007d6f14 -extern undefined4& DAT_007d6f18; // 007d6f18 -extern undefined& DAT_007d6f20; // 007d6f20 -extern undefined& DAT_007d6f24; // 007d6f24 -extern undefined4& DAT_007d6f28; // 007d6f28 -extern undefined4& DAT_007d6f2c; // 007d6f2c -extern undefined4& DAT_007d6f40; // 007d6f40 -extern undefined4& DAT_007d7040; // 007d7040 -extern undefined4& DAT_007d7044; // 007d7044 -extern undefined4& DAT_007d7440; // 007d7440 -extern undefined4& DAT_007d74c0; // 007d74c0 -extern undefined4& DAT_007d7540; // 007d7540 -extern undefined& DAT_007d7820; // 007d7820 -extern undefined1& DAT_007d7840; // 007d7840 -extern undefined& DAT_007d7860; // 007d7860 -extern int& DAT_007d78b0; // 007d78b0 -extern undefined& DAT_007d78b9; // 007d78b9 -extern undefined& DAT_007d78ba; // 007d78ba -extern undefined& DAT_007d78bb; // 007d78bb -extern undefined& DAT_007d78bc; // 007d78bc -extern undefined& DAT_007d78bd; // 007d78bd -extern undefined& DAT_007d78be; // 007d78be -extern undefined1& DAT_007d78c0; // 007d78c0 -extern undefined& DAT_007d7968; // 007d7968 -extern undefined& DAT_007d796c; // 007d796c -extern undefined& DAT_007d7970; // 007d7970 -extern undefined1& DAT_007d7971; // 007d7971 -extern undefined1& DAT_007d7972; // 007d7972 -extern undefined1& DAT_007d7973; // 007d7973 -extern undefined2& DAT_007d798e; // 007d798e -extern undefined4& DAT_007d79e8; // 007d79e8 -extern undefined4& DAT_007d79ec; // 007d79ec -extern undefined4& DAT_007d79f0; // 007d79f0 -extern undefined& DAT_007d7a00; // 007d7a00 -extern undefined& DAT_007d7a20; // 007d7a20 -extern undefined4& DAT_007d7a40; // 007d7a40 -extern undefined& g_loadLevelCriticalSection; // 007d7a80 -extern undefined& lpThreadId_007d7a98; // 007d7a98 -extern HANDLE& g_thread0; // 007d7a9c -extern int& DAT_007d7aa0; // 007d7aa0 -extern GLI_tdstTexture *& DAT_007d7aa8; // 007d7aa8 -extern undefined4& DAT_007d7ab0; // 007d7ab0 -extern undefined4& DAT_007d7ab4; // 007d7ab4 -extern undefined4& DAT_007d7ab8; // 007d7ab8 -extern undefined4& DAT_007d7abc; // 007d7abc -extern undefined1& DAT_007d7ac0; // 007d7ac0 -extern undefined& DAT_007d7c54; // 007d7c54 -extern byte& DAT_007d7c58; // 007d7c58 -extern undefined& DAT_007d7c60; // 007d7c60 -extern undefined4& DAT_007d7c64; // 007d7c64 -extern undefined& DAT_007d7c68; // 007d7c68 -extern float& FLOAT_007d7c6c; // 007d7c6c -extern GLI_tdstTexture *& DAT_007d7d80; // 007d7d80 -extern undefined1& g_ucIsEdInGhostMode; // 007d7d84 -extern GLI_tdstTexture *& DAT_007d7d88; // 007d7d88 -extern undefined& g_haveCmdlineLevel; // 007d7d8c -extern undefined& DAT_007d7d90; // 007d7d90 -extern undefined& DAT_007d7da0; // 007d7da0 -extern undefined& DAT_007d7da4; // 007d7da4 -extern undefined& DAT_007d7da8; // 007d7da8 -extern undefined& DAT_007d7dac; // 007d7dac -extern GAM_tdstEngineStructure& g_r3_engine; // 007d7dc0 -extern byte& BYTE_007d98f5; // 007d98f5 -extern byte& BYTE_007d98f6; // 007d98f6 -extern byte& BYTE_007d98f7; // 007d98f7 -extern byte& BYTE_007d98f8; // 007d98f8 -extern byte& DAT_007d98fa; // 007d98fa -extern undefined1& DAT_007d98fc; // 007d98fc -extern undefined1& DAT_007d98fd; // 007d98fd -extern char& DAT_007d98fe; // 007d98fe -extern undefined& DAT_007d9900; // 007d9900 -extern GLI_tdstTexture *& DAT_007d9904; // 007d9904 -extern GLI_tdstTexture *& DAT_007d990c; // 007d990c -extern undefined4 *& DAT_007d9910; // 007d9910 -extern undefined4& DAT_007d9914; // 007d9914 -extern undefined4& DAT_007d9920; // 007d9920 -extern GLI_tdstTexture *& DAT_007d9924; // 007d9924 -extern undefined1& DAT_007d9928; // 007d9928 -extern GLI_tdstTexture *& DAT_007d992c; // 007d992c -extern GLI_tdstTexture *& DAT_007d9930; // 007d9930 -extern int& DAT_007d9934; // 007d9934 -extern char& DAT_007d9940; // 007d9940 -extern GLI_tdstTexture *& DAT_007d9a48; // 007d9a48 -extern GLI_tdstTexture *& DAT_007d9a4c; // 007d9a4c -extern SND_tduRefEvt& DAT_007d9a50; // 007d9a50 -extern undefined4& DAT_007d9a60; // 007d9a60 -extern undefined& DAT_007d9a64; // 007d9a64 -extern undefined& DAT_007d9a68; // 007d9a68 -extern undefined& DAT_007d9a6c; // 007d9a6c -extern undefined& DAT_007d9a70; // 007d9a70 -extern undefined& DAT_007d9a74; // 007d9a74 -extern undefined4& DAT_007d9a78; // 007d9a78 -extern undefined& DAT_007d9a7c; // 007d9a7c -extern undefined& DAT_007d9a80; // 007d9a80 -extern GLI_tdstTexture *& DAT_007d9a84; // 007d9a84 -extern undefined& lpReturnedString_007d9aa0; // 007d9aa0 -extern uint& DAT_007d9cc4; // 007d9cc4 -extern undefined& g_texturesFilenameBuf; // 007d9ce0 -extern undefined& DAT_007d9e00; // 007d9e00 -extern undefined& lpSystemTime_007d9e40; // 007d9e40 -extern undefined& lpSystemTime_007d9e50; // 007d9e50 -extern undefined4& DAT_007d9e60; // 007d9e60 -extern word& WORD_007d9e68; // 007d9e68 -extern char(&sz_S)[2]; // 007d9e6a -extern word& WORD_007d9e6c; // 007d9e6c -extern char(&sz_M)[2]; // 007d9e6e -extern pointer& lpRootPathName_007d9e70; // 007d9e70 -extern undefined1& DAT_007d9e78; // 007d9e78 -extern undefined& DAT_007d9e80; // 007d9e80 -extern char& DAT_007db015; // 007db015 -extern undefined4& DAT_007db020; // 007db020 -extern undefined4& DAT_007db820; // 007db820 -extern undefined4& DAT_007dc020; // 007dc020 -extern uint& DAT_007dc820; // 007dc820 -extern undefined4& DAT_007dc824; // 007dc824 -extern undefined4& DAT_007dc880; // 007dc880 -extern undefined4& DAT_007dc884; // 007dc884 -extern undefined& DAT_007e3a60; // 007e3a60 -extern undefined& DAT_007e3a64; // 007e3a64 -extern undefined& DAT_007e3a68; // 007e3a68 -extern undefined& DAT_007e3a6c; // 007e3a6c -extern undefined& DAT_007e3a70; // 007e3a70 -extern undefined& DAT_007e3a74; // 007e3a74 -extern undefined& DAT_007e3a78; // 007e3a78 -extern undefined& DAT_007e3a7c; // 007e3a7c -extern char *& DAT_007e3a88; // 007e3a88 -extern undefined4& DAT_007e3a90; // 007e3a90 -extern undefined4& DAT_007e3a94; // 007e3a94 -extern dword(&g_textureTable)[1024]; // 007e3aa0 -extern GLI_tdstTexture *(&g_textureTable2)[1024]; // 007e4aa0 -extern undefined4& DAT_007e5aa4; // 007e5aa4 -extern undefined4& DAT_007e5aa8; // 007e5aa8 -extern uint& DAT_007e5ab4; // 007e5ab4 -extern int& DAT_007e5ac4; // 007e5ac4 -extern int& DAT_007e5ac8; // 007e5ac8 -extern int& DAT_007e5acc; // 007e5acc -extern int& DAT_007e5ad0; // 007e5ad0 -extern undefined1& DAT_007e5ad4; // 007e5ad4 -extern undefined& g_perfCounterRate; // 007e5ad8 -extern int& DAT_007e5adc; // 007e5adc -extern undefined& DAT_007e6340; // 007e6340 -extern undefined4& DAT_007e6344; // 007e6344 -extern undefined4& DAT_007e6348; // 007e6348 -extern undefined4& DAT_007e634c; // 007e634c -extern undefined4& DAT_007e6354; // 007e6354 -extern undefined4& DAT_007e6358; // 007e6358 -extern undefined4& DAT_007e635c; // 007e635c -extern undefined1& DAT_007e6418; // 007e6418 -extern undefined4& DAT_007e6440; // 007e6440 -extern undefined& DAT_007e7270; // 007e7270 -extern undefined4& DAT_007e74c0; // 007e74c0 -extern undefined4& DAT_007e74d0; // 007e74d0 -extern undefined4& DAT_007e74d4; // 007e74d4 -extern undefined4& DAT_007e74d8; // 007e74d8 -extern undefined4& DAT_007e74dc; // 007e74dc -extern undefined4& DAT_007e74e0; // 007e74e0 -extern undefined1& DAT_007e758c; // 007e758c -extern undefined1& DAT_007e758d; // 007e758d -extern undefined4& DAT_007e7590; // 007e7590 -extern undefined4& DAT_007e75b0; // 007e75b0 -extern undefined4& DAT_007e75b4; // 007e75b4 -extern undefined4& DAT_007e75b8; // 007e75b8 -extern undefined4& DAT_007e75c0; // 007e75c0 -extern undefined4& DAT_007e75c4; // 007e75c4 -extern undefined4& DAT_007e75c8; // 007e75c8 -extern undefined4& DAT_007e75d0; // 007e75d0 -extern undefined4& DAT_007e75d4; // 007e75d4 -extern undefined4& DAT_007e75d8; // 007e75d8 -extern undefined4& DAT_007e75e0; // 007e75e0 -extern undefined4& DAT_007e75e4; // 007e75e4 -extern undefined4& DAT_007e75e8; // 007e75e8 -extern undefined4& DAT_007e75f0; // 007e75f0 -extern undefined4& DAT_007e75f4; // 007e75f4 -extern undefined4& DAT_007e75f8; // 007e75f8 -extern uint& DAT_007e7d04; // 007e7d04 -extern int& DAT_007e7d08; // 007e7d08 -extern int& DAT_007e7d0c; // 007e7d0c -extern int& DAT_007e7d10; // 007e7d10 -extern undefined4& DAT_007e7d18; // 007e7d18 -extern undefined4& DAT_007e7d20; // 007e7d20 -extern undefined4& DAT_007e7d24; // 007e7d24 -extern undefined4& DAT_007e7d28; // 007e7d28 -extern int& DAT_007e7d2c; // 007e7d2c -extern undefined& DAT_007e7d40; // 007e7d40 -extern undefined4& DAT_007e7d68; // 007e7d68 -extern undefined4& DAT_007e7d70; // 007e7d70 -extern undefined4& DAT_007e7d78; // 007e7d78 -extern undefined& DAT_007eaf50; // 007eaf50 -extern undefined& DAT_007eaf54; // 007eaf54 -extern int& DAT_007eaf60; // 007eaf60 -extern int& DAT_007eaf64; // 007eaf64 -extern undefined& DAT_007eaf68; // 007eaf68 -extern int& DAT_007eaf7c; // 007eaf7c -extern int& DAT_007eaf8c; // 007eaf8c -extern int& DAT_007eaf90; // 007eaf90 -extern int& DAT_007eaf94; // 007eaf94 -extern int& DAT_007eaf9c; // 007eaf9c -extern int& DAT_007eafa0; // 007eafa0 -extern int& DAT_007eafa4; // 007eafa4 -extern int& DAT_007eafa8; // 007eafa8 -extern int *& DAT_007eafac; // 007eafac -extern int& DAT_007eb020; // 007eb020 -extern int& DAT_007eb024; // 007eb024 -extern int& DAT_007eb028; // 007eb028 -extern int& DAT_007eb02c; // 007eb02c -extern int& DAT_007eb030; // 007eb030 -extern int& DAT_007eb034; // 007eb034 -extern int& DAT_007eb038; // 007eb038 -extern int& DAT_007eb03c; // 007eb03c -extern float& DAT_007eb040; // 007eb040 -extern float& DAT_007eb044; // 007eb044 -extern IDirect3DBaseTexture8 *& DAT_007eb048; // 007eb048 -extern int& DAT_007eb04c; // 007eb04c -extern int& DAT_007eb050; // 007eb050 -extern int& DAT_007eb054; // 007eb054 -extern int& DAT_007eb058; // 007eb058 -extern int& DAT_007eb05c; // 007eb05c -extern int& DAT_007eb060; // 007eb060 -extern int& DAT_007eb074; // 007eb074 -extern undefined4& g_bink; // 007eb180 -extern undefined4& DAT_007eb184; // 007eb184 -extern uint& DAT_007eb188; // 007eb188 -extern uint& DAT_007eb18c; // 007eb18c -extern uint& DAT_007eb190; // 007eb190 -extern uint& DAT_007eb194; // 007eb194 -extern uint& DAT_007eb198; // 007eb198 -extern undefined4& DAT_007eb1dc; // 007eb1dc -extern undefined4& DAT_007eb1e0; // 007eb1e0 -extern undefined& DAT_007eb1e4; // 007eb1e4 -extern UINT& DAT_007eb1e8; // 007eb1e8 -extern undefined4& DAT_007eb1ec; // 007eb1ec -extern undefined4& DAT_007eb1f0; // 007eb1f0 -extern int& DAT_007eb1f4; // 007eb1f4 -extern dword& g_unkModuleIdByte; // 007eb200 -extern undefined4& DAT_007eb220; // 007eb220 -extern undefined4& DAT_007eba20; // 007eba20 -extern int& g_gfxEngine; // 007eba24 -extern undefined& DAT_007eba40; // 007eba40 -extern int& DAT_007edb10; // 007edb10 -extern undefined4 *& DAT_007edb14; // 007edb14 -extern IDirect3DDevice8 *& gfx_device; // 007edb18 -extern char(&g_errorString)[512]; // 007edb40 -extern undefined& g_GLI_fullscreen; // 007edd40 -extern int& g_GLI_width0; // 007edd44 -extern int& g_GLI_height0; // 007edd48 -extern int& g_GLI_bitdepth0; // 007edd4c -extern undefined1& g_GLI_fullscreen1; // 007edd50 -extern int& g_GLI_width1; // 007edd54 -extern int& g_GLI_height1; // 007edd58 -extern int& g_GLI_bitdepth1; // 007edd5c -extern undefined4& g_GLI_adapter; // 007edd60 -extern undefined1& g_GLI_tnl; // 007edd64 -extern undefined1& g_config_tex_compressed; // 007edd65 -extern undefined1& g_GLI_trilinear; // 007edd66 -extern GUID& g_GLI_identifier; // 007edd70 -extern float& g_GLI_mode_float; // 007edd80 -extern GLD_stDevice *(&g_pstGLDDevices)[16]; // 007edda0 -extern m7_init_struct& g_m7_init_struct; // 007edde0 -extern undefined& m7_mmgBlockInitialized; // 007eddf9 -extern undefined& DAT_007eddfc; // 007eddfc -extern undefined& g_mod7CriticalSection; // 007ede20 -extern uint& DAT_007ede38; // 007ede38 -extern undefined4& DAT_007ede40; // 007ede40 -extern char(&g_stringCache0)[256]; // 007eede0 -extern int& DAT_007eeee0; // 007eeee0 -extern int& DAT_007eeee4; // 007eeee4 -extern int& DAT_007eeeec; // 007eeeec -extern undefined4& DAT_007eef00; // 007eef00 -extern undefined4& DAT_007eef04; // 007eef04 -extern char(&g_lvlFixPath)[256]; // 007efa40 -extern undefined4& DAT_007efb40; // 007efb40 -extern int *& DAT_007efbbc; // 007efbbc -extern undefined& DAT_007efbc4; // 007efbc4 -extern int& DAT_007efbc8; // 007efbc8 -extern undefined4& DAT_007efbe0; // 007efbe0 -extern undefined4& DAT_007f0be0; // 007f0be0 -extern undefined2& DAT_007f1c00; // 007f1c00 -extern undefined4& DAT_007f1c50; // 007f1c50 -extern undefined4& DAT_007f1c84; // 007f1c84 -extern undefined4& DAT_007f1c8c; // 007f1c8c -extern undefined4& DAT_007f1c9c; // 007f1c9c -extern undefined4& DAT_007f1cac; // 007f1cac -extern undefined4& DAT_00801040; // 00801040 -extern undefined& DAT_00801844; // 00801844 -extern undefined& DAT_0080184c; // 0080184c -extern undefined4& DAT_00801dd0; // 00801dd0 -extern undefined4& DAT_00801de0; // 00801de0 -extern undefined4& DAT_00801de4; // 00801de4 -extern undefined4& DAT_00801de8; // 00801de8 -extern undefined4& DAT_00801df0; // 00801df0 -extern float& DAT_00801df4; // 00801df4 -extern float& DAT_00801df8; // 00801df8 -extern undefined4& DAT_00801e00; // 00801e00 -extern float& DAT_00801e04; // 00801e04 -extern float& DAT_00801e08; // 00801e08 -extern undefined4& DAT_00801e0c; // 00801e0c -extern undefined& DAT_00801e10; // 00801e10 -extern undefined4& DAT_00801e38; // 00801e38 -extern undefined4& DAT_00801e3c; // 00801e3c -extern undefined1& DAT_008023c0; // 008023c0 -extern undefined4& DAT_00802460; // 00802460 -extern undefined4& DAT_00802df4; // 00802df4 -extern int& DAT_008043a4; // 008043a4 -extern int& DAT_008043a8; // 008043a8 -extern undefined& DAT_008043ac; // 008043ac -extern undefined& DAT_008043b0; // 008043b0 -extern undefined& DAT_008043b4; // 008043b4 -extern undefined& DAT_008043b8; // 008043b8 -extern uint& DAT_008043bc; // 008043bc -extern float& DAT_008043c0; // 008043c0 -extern float& DAT_008043c4; // 008043c4 -extern float& DAT_008043c8; // 008043c8 -extern undefined4& DAT_008043f8; // 008043f8 -extern undefined4& DAT_0080464c; // 0080464c -extern ulong& DAT_00804660; // 00804660 -extern undefined4& DAT_008046c4; // 008046c4 -extern undefined4& DAT_008046c8; // 008046c8 -extern undefined4& DAT_00808518; // 00808518 -extern float& DAT_0080aa80; // 0080aa80 -extern undefined4& DAT_0080aaa0; // 0080aaa0 -extern undefined4& DAT_0080aaa4; // 0080aaa4 -extern undefined4& DAT_0080aaa8; // 0080aaa8 -extern undefined& DAT_0080aaac; // 0080aaac -extern undefined& DAT_0080aab0; // 0080aab0 -extern undefined& DAT_0080aab4; // 0080aab4 -extern undefined4& DAT_0080aabc; // 0080aabc -extern undefined4& DAT_0080aac0; // 0080aac0 -extern undefined4& DAT_0080aac4; // 0080aac4 -extern undefined& DAT_0080aacc; // 0080aacc -extern undefined& DAT_0080aad0; // 0080aad0 -extern undefined& DAT_0080aad4; // 0080aad4 -extern undefined& DAT_0080aadc; // 0080aadc -extern undefined& DAT_0080aae0; // 0080aae0 -extern undefined& DAT_0080aae4; // 0080aae4 -extern undefined& DAT_0080aaf0; // 0080aaf0 -extern undefined& DAT_0080aaf4; // 0080aaf4 -extern undefined4& DAT_0080aaf8; // 0080aaf8 -extern undefined& DAT_0080aafc; // 0080aafc -extern undefined4& DAT_0080ab08; // 0080ab08 -extern undefined4& DAT_0080ab0c; // 0080ab0c -extern undefined4& DAT_0080ab10; // 0080ab10 -extern undefined& DAT_0080ab14; // 0080ab14 -extern undefined4& DAT_0080ab18; // 0080ab18 -extern undefined4& DAT_0080ab1c; // 0080ab1c -extern undefined4& DAT_00838748; // 00838748 -extern undefined1& DAT_0083bc00; // 0083bc00 -extern undefined& DAT_0083bd04; // 0083bd04 -extern char& DAT_0083be08; // 0083be08 -extern undefined3& UNK_0083be09; // 0083be09 -extern int& DAT_0083be0c; // 0083be0c -extern undefined4& DAT_0083be10; // 0083be10 -extern undefined4& DAT_0083be14; // 0083be14 -extern undefined4& DAT_0083be18; // 0083be18 -extern undefined1& DAT_0083be1c; // 0083be1c -extern undefined4& DAT_0083be20; // 0083be20 -extern undefined4& DAT_0083be24; // 0083be24 -extern undefined4& DAT_0083be28; // 0083be28 -extern undefined4& DAT_0083be2c; // 0083be2c -extern uint& DAT_0083be30; // 0083be30 -extern uint& DAT_0083be34; // 0083be34 -extern uint& DAT_0083be38; // 0083be38 -extern uint& DAT_0083be3c; // 0083be3c -extern undefined& DAT_0083be40; // 0083be40 -extern undefined& DAT_0083be44; // 0083be44 -extern undefined& DAT_0083be48; // 0083be48 -extern undefined& DAT_0083be4c; // 0083be4c -extern undefined& DAT_0083be50; // 0083be50 -extern undefined& DAT_0083be54; // 0083be54 -extern undefined& DAT_0083be58; // 0083be58 -extern undefined& DAT_0083be5c; // 0083be5c -extern undefined& DAT_0083be60; // 0083be60 -extern undefined& DAT_0083be64; // 0083be64 -extern undefined& DAT_0083be68; // 0083be68 -extern undefined& DAT_0083be6c; // 0083be6c -extern undefined& DAT_0083be70; // 0083be70 -extern undefined& DAT_0083be74; // 0083be74 -extern undefined& DAT_0083be78; // 0083be78 -extern undefined& DAT_0083be7c; // 0083be7c -extern undefined& DAT_0083be80; // 0083be80 -extern undefined& DAT_0083be84; // 0083be84 -extern undefined& DAT_0083be88; // 0083be88 -extern undefined& DAT_0083be8c; // 0083be8c -extern undefined& DAT_0083be90; // 0083be90 -extern undefined& DAT_0083be94; // 0083be94 -extern undefined& DAT_0083be98; // 0083be98 -extern undefined& DAT_0083be9c; // 0083be9c -extern undefined1& DAT_0083bea0; // 0083bea0 -extern undefined& DAT_0083bf04; // 0083bf04 -extern char *(&g_rawLevelData)[217]; // 0083c320 -extern LevelLoadState(&g_levelLoadStates)[252]; // 0083c720 -extern dword(&g_rawLevelDataLength)[252]; // 0083cf00 -extern undefined4& DAT_0083d304; // 0083d304 -extern undefined4& DAT_0083d320; // 0083d320 -extern undefined4& DAT_0083d3a4; // 0083d3a4 -extern int& DAT_0083f40c; // 0083f40c -extern int& DAT_0083f410; // 0083f410 -extern undefined1& DAT_0083f7e0; // 0083f7e0 -extern undefined& DAT_0083f7e8; // 0083f7e8 -extern undefined1& DAT_0083f7ec; // 0083f7ec -extern undefined1& DAT_0083f7ed; // 0083f7ed -extern undefined1& DAT_0083f7ee; // 0083f7ee -extern undefined1& DAT_0083f7ef; // 0083f7ef -extern undefined& DAT_0083f8e8; // 0083f8e8 -extern char& DAT_0083f908; // 0083f908 -extern int& DAT_0083f90c; // 0083f90c -extern undefined1& DAT_0083fa2c; // 0083fa2c -extern undefined4& DAT_0083fa30; // 0083fa30 -extern undefined1& DAT_0083fa80; // 0083fa80 -extern undefined1& DAT_0083fa81; // 0083fa81 -extern undefined1& DAT_0083fa82; // 0083fa82 -extern undefined1& DAT_0083fa83; // 0083fa83 -extern undefined1& DAT_0083fa84; // 0083fa84 -extern undefined1& DAT_0083fa85; // 0083fa85 -extern undefined4& DAT_0083fa88; // 0083fa88 -extern undefined4& DAT_0083fa8c; // 0083fa8c -extern undefined4& DAT_0083fa98; // 0083fa98 -extern undefined4& DAT_0083fa9c; // 0083fa9c -extern undefined4& DAT_0083faa0; // 0083faa0 -extern undefined4& DAT_0083faa4; // 0083faa4 -extern undefined4& DAT_0083faa8; // 0083faa8 -extern undefined1& DAT_0083faac; // 0083faac -extern undefined4& DAT_0083faf0; // 0083faf0 -extern char& DAT_00840c6c; // 00840c6c -extern int& DAT_00840c70; // 00840c70 -extern undefined4& DAT_00840d90; // 00840d90 -extern char& DAT_00840e90; // 00840e90 -extern uint& DAT_00840e9c; // 00840e9c -extern int& DAT_00840ea0; // 00840ea0 -extern short& DAT_00840eac; // 00840eac -extern undefined4 *& DAT_00840eb0; // 00840eb0 -extern byte& DAT_00840eb4; // 00840eb4 -extern undefined4& DAT_0084155c; // 0084155c -extern undefined4& DAT_00841560; // 00841560 -extern undefined2& DAT_008415c8; // 008415c8 -extern undefined2& DAT_008415e0; // 008415e0 -extern undefined& DAT_00841600; // 00841600 -extern undefined4& DAT_00841660; // 00841660 -extern int& DAT_00841670; // 00841670 -extern undefined4 *& DAT_00841674; // 00841674 -extern undefined4& DAT_00841700; // 00841700 -extern undefined4& DAT_00841780; // 00841780 -extern undefined4& DAT_008417a0; // 008417a0 -extern undefined4& DAT_0084285c; // 0084285c -extern undefined4& DAT_00842860; // 00842860 -extern undefined4& DAT_00842928; // 00842928 -extern undefined4& DAT_0084292c; // 0084292c -extern void *& ExceptionList; // ffdff000 -#endif // GH_GENERATED_GLOBALS_H diff --git a/game_re/gh_types.h b/game_re/gh_types.h deleted file mode 100644 index d1689bad..00000000 --- a/game_re/gh_types.h +++ /dev/null @@ -1,9458 +0,0 @@ -#ifndef GH_GENERATED_STRUCTS_H -#define GH_GENERATED_STRUCTS_H - -// AUTO-GENERATED FILE -#include -typedef struct _CPOINT _CPOINT, *P_CPOINT; - -typedef long LONG; - -typedef unsigned long ulong; -typedef ulong DWORD; - -struct _CPOINT { - LONG lP; - DWORD dwLog; -}; - -typedef struct _DIACTIONA _DIACTIONA, *P_DIACTIONA; - -typedef unsigned int uint; -typedef uint UINT_PTR; - -typedef union _union_2416 _union_2416, *P_union_2416; - -typedef struct _GUID GUID; - -typedef char CHAR; - -typedef CHAR *LPCSTR; - -typedef uint UINT; - -union _union_2416 { - LPCSTR lptszActionName; - UINT uResIdString; -}; - -struct _DIACTIONA { - UINT_PTR uAppData; - DWORD dwSemantic; - DWORD dwFlags; - union _union_2416 field3_0xc; - GUID guidInstance; - DWORD dwObjID; - DWORD dwHow; -}; - -typedef struct _DIACTIONFORMATA _DIACTIONFORMATA, *P_DIACTIONFORMATA; - -typedef struct _DIACTIONA *LPDIACTIONA; - -typedef struct _FILETIME FILETIME; - -struct _DIACTIONFORMATA { - DWORD dwSize; - DWORD dwActionSize; - DWORD dwDataSize; - DWORD dwNumActions; - LPDIACTIONA rgoAction; - GUID guidActionMap; - DWORD dwGenre; - DWORD dwBufferSize; - LONG lAxisMin; - LONG lAxisMax; - HINSTANCE hInstString; - FILETIME ftTimeStamp; - DWORD dwCRC; - CHAR tszActionMap[260]; -}; - -typedef struct _DIACTIONFORMATW _DIACTIONFORMATW, *P_DIACTIONFORMATW; - -typedef struct _DIACTIONW _DIACTIONW, *P_DIACTIONW; - -typedef struct _DIACTIONW *LPDIACTIONW; - -typedef short wchar_t; -typedef wchar_t WCHAR; - -typedef union _union_2418 _union_2418, *P_union_2418; - -typedef WCHAR *LPCWSTR; - -union _union_2418 { - LPCWSTR lptszActionName; - UINT uResIdString; -}; - -struct _DIACTIONFORMATW { - DWORD dwSize; - DWORD dwActionSize; - DWORD dwDataSize; - DWORD dwNumActions; - LPDIACTIONW rgoAction; - GUID guidActionMap; - DWORD dwGenre; - DWORD dwBufferSize; - LONG lAxisMin; - LONG lAxisMax; - HINSTANCE hInstString; - FILETIME ftTimeStamp; - DWORD dwCRC; - WCHAR tszActionMap[260]; -}; - -struct _DIACTIONW { - UINT_PTR uAppData; - DWORD dwSemantic; - DWORD dwFlags; - union _union_2418 field3_0xc; - GUID guidInstance; - DWORD dwObjID; - DWORD dwHow; -}; - -typedef struct _DICOLORSET _DICOLORSET, *P_DICOLORSET; - -typedef DWORD D3DCOLOR; - -struct _DICOLORSET { - DWORD dwSize; - D3DCOLOR cTextFore; - D3DCOLOR cTextHighlight; - D3DCOLOR cCalloutLine; - D3DCOLOR cCalloutHighlight; - D3DCOLOR cBorder; - D3DCOLOR cControlFill; - D3DCOLOR cHighlightFill; - D3DCOLOR cAreaFill; -}; - -typedef struct _DICONFIGUREDEVICESPARAMSA _DICONFIGUREDEVICESPARAMSA, *P_DICONFIGUREDEVICESPARAMSA; - -typedef CHAR *LPSTR; - -typedef struct _DIACTIONFORMATA *LPDIACTIONFORMATA; - -typedef struct _DICOLORSET DICOLORSET; - -struct _DICONFIGUREDEVICESPARAMSA { - DWORD dwSize; - DWORD dwcUsers; - LPSTR lptszUserNames; - DWORD dwcFormats; - LPDIACTIONFORMATA lprgFormats; - HWND hwnd; - DICOLORSET dics; - struct IUnknown *lpUnkDDSTarget; -}; - -typedef struct _DICONFIGUREDEVICESPARAMSW _DICONFIGUREDEVICESPARAMSW, *P_DICONFIGUREDEVICESPARAMSW; - -typedef WCHAR *LPWSTR; - -typedef struct _DIACTIONFORMATW *LPDIACTIONFORMATW; - -struct _DICONFIGUREDEVICESPARAMSW { - DWORD dwSize; - DWORD dwcUsers; - LPWSTR lptszUserNames; - DWORD dwcFormats; - LPDIACTIONFORMATW lprgFormats; - HWND hwnd; - DICOLORSET dics; - struct IUnknown *lpUnkDDSTarget; -}; - -typedef struct _DIDATAFORMAT _DIDATAFORMAT, *P_DIDATAFORMAT; - -typedef struct _DIOBJECTDATAFORMAT _DIOBJECTDATAFORMAT, *P_DIOBJECTDATAFORMAT; - -typedef struct _DIOBJECTDATAFORMAT *LPDIOBJECTDATAFORMAT; - -struct _DIDATAFORMAT { - DWORD dwSize; - DWORD dwObjSize; - DWORD dwFlags; - DWORD dwDataSize; - DWORD dwNumObjs; - LPDIOBJECTDATAFORMAT rgodf; -}; - -struct _DIOBJECTDATAFORMAT { - GUID *pguid; - DWORD dwOfs; - DWORD dwType; - DWORD dwFlags; -}; - -typedef struct _DIDEVICEIMAGEINFOA _DIDEVICEIMAGEINFOA, *P_DIDEVICEIMAGEINFOA; - -typedef struct tagRECT RECT; - -typedef struct tagPOINT POINT; - -struct _DIDEVICEIMAGEINFOA { - CHAR tszImagePath[260]; - DWORD dwFlags; - DWORD dwViewID; - RECT rcOverlay; - DWORD dwObjID; - DWORD dwcValidPts; - POINT rgptCalloutLine[5]; - RECT rcCalloutRect; - DWORD dwTextAlign; -}; - -typedef struct _DIDEVICEIMAGEINFOHEADERA _DIDEVICEIMAGEINFOHEADERA, *P_DIDEVICEIMAGEINFOHEADERA; - -typedef struct _DIDEVICEIMAGEINFOA *LPDIDEVICEIMAGEINFOA; - -struct _DIDEVICEIMAGEINFOHEADERA { - DWORD dwSize; - DWORD dwSizeImageInfo; - DWORD dwcViews; - DWORD dwcButtons; - DWORD dwcAxes; - DWORD dwcPOVs; - DWORD dwBufferSize; - DWORD dwBufferUsed; - LPDIDEVICEIMAGEINFOA lprgImageInfoArray; -}; - -typedef struct _DIDEVICEIMAGEINFOHEADERW _DIDEVICEIMAGEINFOHEADERW, *P_DIDEVICEIMAGEINFOHEADERW; - -typedef struct _DIDEVICEIMAGEINFOW _DIDEVICEIMAGEINFOW, *P_DIDEVICEIMAGEINFOW; - -typedef struct _DIDEVICEIMAGEINFOW *LPDIDEVICEIMAGEINFOW; - -struct _DIDEVICEIMAGEINFOHEADERW { - DWORD dwSize; - DWORD dwSizeImageInfo; - DWORD dwcViews; - DWORD dwcButtons; - DWORD dwcAxes; - DWORD dwcPOVs; - DWORD dwBufferSize; - DWORD dwBufferUsed; - LPDIDEVICEIMAGEINFOW lprgImageInfoArray; -}; - -struct _DIDEVICEIMAGEINFOW { - WCHAR tszImagePath[260]; - DWORD dwFlags; - DWORD dwViewID; - RECT rcOverlay; - DWORD dwObjID; - DWORD dwcValidPts; - POINT rgptCalloutLine[5]; - RECT rcCalloutRect; - DWORD dwTextAlign; -}; - -typedef struct _DIMOUSESTATE _DIMOUSESTATE, *P_DIMOUSESTATE; - -typedef unsigned char uchar; -typedef uchar BYTE; - -struct _DIMOUSESTATE { - LONG lX; - LONG lY; - LONG lZ; - BYTE rgbButtons[4]; -}; - -typedef struct _DIMOUSESTATE2 _DIMOUSESTATE2, *P_DIMOUSESTATE2; - -struct _DIMOUSESTATE2 { - LONG lX; - LONG lY; - LONG lZ; - BYTE rgbButtons[8]; -}; - -typedef struct _ExtraSoundParam _ExtraSoundParam, *P_ExtraSoundParam; - -typedef struct _RollOffParam _RollOffParam, *P_RollOffParam; - -typedef struct _RollOffParam RollOffParam; - -typedef struct _SwitchParam _SwitchParam, *P_SwitchParam; - -typedef struct _SwitchParam SwitchParam; - -typedef long SndReal; - -struct _SwitchParam { - long lObjectType; - long lObjectId; -}; - -struct _RollOffParam { - SndReal rDistSatur; - SndReal rDistBackGround; -}; - -struct _ExtraSoundParam { - RollOffParam stRollOff; - SwitchParam stSwitch; -}; - -typedef struct _MicroLink _MicroLink, *P_MicroLink; - -typedef int SndBool; - -struct _MicroLink { - long lId; - SndBool bLinked; -}; - -typedef struct _MicroParam _MicroParam, *P_MicroParam; - -typedef struct _SndVector _SndVector, *P_SndVector; - -typedef struct _SndVector SndVector; - -struct _SndVector { - SndReal x; - SndReal y; - SndReal z; -}; - -struct _MicroParam { - SndVector pos; - SndVector vit; - SndVector dirnor; - SndVector dirtan; -}; - -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; - -enum _SND_tdstTypeCallback { - BUFFER_ASYNCHRONE=0, - BUFFER_SYNCHRONE=1, - BUFFER_STACK=2, - ALIGN_FOR_BUFFER_CLIENT=305419896 -}; - -typedef enum _SND_tdstTypeCallback SND_tduTypeCallback; - -typedef union _union_2482 _union_2482, *P_union_2482; - -typedef union _union_2483 _union_2483, *P_union_2483; - -typedef void (*td_pfn_vRefreshBufferClient)(long, ulong, ulong, void *); - -typedef void (*td_pfn_vBufferClientPoped)(long, long); - -union _union_2483 { - SndReal rCallbackPeriod; - long lNbSampleToPush; -}; - -union _union_2482 { - td_pfn_vRefreshBufferClient CallbackASynchrone; - td_pfn_vRefreshBufferClient CallbackSynchrone; - td_pfn_vBufferClientPoped CallbackStack; -}; - -struct _SND_tdstCallback { - SND_tduTypeCallback eType; - union _union_2482 uCallback; - union _union_2483 uInfo; -}; - -typedef struct _SND_tdstFormat _SND_tdstFormat, *P_SND_tdstFormat; - -enum enum_2474 { - SAMPLE_INVALID=0, - SAMPLE_PCM=1, - SAMPLE_MPEG=2, - SAMPLE_AIFF=3, - SAMPLE_ADPCM=4, - SAMPLE_ADPCM_TO_CONVERT=5, - SAMPLE_FOR_ALIGNEMENT=321148536 -}; - -typedef enum enum_2474 tdeTypeZip; - -typedef union _union_2479 _union_2479, *P_union_2479; - -typedef struct _tdstFormatPCM _tdstFormatPCM, *P_tdstFormatPCM; - -typedef struct _tdstFormatPCM tdstFormatPCM; - -typedef struct _tdstFormatPCM tdstFormatMPEG; - -typedef struct _tdstFormatPCM tdstFormatADPCM; - -typedef unsigned short ushort; -struct _tdstFormatPCM { - ulong ulNbSamples; - ushort uwResolution; - ushort uwNbChannels; - ulong ulFreq; -}; - -union _union_2479 { - tdstFormatPCM stPCM; - tdstFormatMPEG stMPEG; - tdstFormatADPCM stADPCM; -}; - -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 _SoundParam _SoundParam, *P_SoundParam; - -typedef struct _MicroLink MicroLink; - -typedef struct _ExtraSoundParam ExtraSoundParam; - -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 _tdstAllRetChannelSound _tdstAllRetChannelSound, *P_tdstAllRetChannelSound; - -typedef SndReal (*td_pfn_rRetChannelCoord)(long, long); - -typedef SndBool (*td_pfn_bRetChannelActive)(long, long); - -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; - -typedef SndReal (*td_pfn_rRetSoundCoord)(long); - -typedef long (*td_pfn_lRetSoundLong)(long); - -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; - -typedef uchar (*td_pfn_ucRetSoundMidi)(long); - -typedef union _SND_tduRefEvt _SND_tduRefEvt, *P_SND_tduRefEvt; - -typedef union _SND_tduRefEvt SND_tduRefEvt; - -typedef void (*td_pfn_vRetSoundExtraCoef)(long, SND_tduRefEvt, SndReal *, SndReal *, SndReal *); - -typedef long SND_tdxHandleToSoundInfo; - -typedef SND_tdxHandleToSoundInfo (*td_pfn_lRetSoundSwitch)(long, long); - -typedef SndBool (*td_pfn_bRetSoundLink)(long, long); - -typedef void (*td_pfn_vRetSoundVector)(long, SndVector *); - -typedef ulong tdxId; - -typedef struct _SND_tdstBlockEvent SND_tdstBlockEvent; - -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; -}; - -union _SND_tduRefEvt { - tdxId Id; - SND_tdstBlockEvent *pstPtr; -}; - -typedef struct _tdstBlockResourceDisk _tdstBlockResourceDisk, *P_tdstBlockResourceDisk; - -struct _tdstBlockResourceDisk { -}; - -typedef struct _tdstBlockResourceMem _tdstBlockResourceMem, *P_tdstBlockResourceMem; - -struct _tdstBlockResourceMem { -}; - -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; - -typedef struct TMR_tdstTimerCount TMR_tdstTimerCount, *PTMR_tdstTimerCount; - -typedef void (td_fn_vTimerEventCallback)(void); - -typedef td_fn_vTimerEventCallback *td_p_fn_vTimerEventCallback; - -struct TMR_tdstTimerCount { - ulong ulLowPart; - ulong ulHighPart; -}; - -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 ulong ACP_tdxAddress; - -typedef uchar ACP_tdxBool; - -typedef short ACP_tdxIndex; - -typedef struct AI_tdstMind_ AI_tdstMind_, *PAI_tdstMind_; - -struct AI_tdstMind_ { -}; - -typedef struct tdstAlwaysModelList_ tdstAlwaysModelList_, *PtdstAlwaysModelList_; - -typedef struct tdstAlwaysModelList_ *ALW_tdxHandleToModelList; - -struct tdstAlwaysModelList_ { -}; - -typedef struct Anim3d Anim3d, *PAnim3d; - -typedef struct Frame3d Frame3d, *PFrame3d; - -typedef struct Event Event, *PEvent; - -typedef struct POS_stCompletePosition POS_stCompletePosition, *PPOS_stCompletePosition; - -typedef struct AnimLights AnimLights, *PAnimLights; - -typedef struct Element3d Element3d, *PElement3d; - -typedef struct MTH3D_Matrix MTH3D_Matrix, *PMTH3D_Matrix; - -typedef struct MTH3_Vector MTH3_Vector, *PMTH3_Vector; - -typedef struct tdstPLA_Hierarchy_ tdstPLA_Hierarchy_, *PtdstPLA_Hierarchy_; - -typedef struct tdstPLA_Hierarchy_ tdstPLA_Hierarchy; - -typedef struct EventInTable EventInTable, *PEventInTable; - -typedef struct POS_stCompletePosition *POS_tdxHandleToPosition; - -typedef struct Couple Couple, *PCouple; - -struct EventInTable { - void *p_xEvent; - uchar ucTypeOfEvent; - uchar ucPriority; - uchar ucFirstCall; - uchar ucPeriod; - ulong ulBinaryEventId; -}; - -struct tdstPLA_Hierarchy_ { - ulong ulNbOfCouples; - struct Couple *d_stCouples; -}; - -struct Element3d { - POS_tdxHandleToPosition stMatrix; - uchar ucElement; - uchar ucChannelNumber; - uchar bActiveStatus; - ulong eTypeOfElement; -}; - -struct AnimLights { - void **a_p_stLights; - ushort uwNumberOfLights; - void *a_hLightsInSector; -}; - -struct Couple { - ushort wChild; - ushort wFather; -}; - -struct MTH3_Vector { - float xX; - float xY; - float xZ; -}; - -struct MTH3D_Matrix { - struct MTH3_Vector stCol_0; - struct MTH3_Vector stCol_1; - struct MTH3_Vector stCol_2; -}; - -struct POS_stCompletePosition { - ulong ulType; - struct MTH3_Vector stTranslationVector; - struct MTH3D_Matrix stRotationMatrix; - struct MTH3D_Matrix stTransformMatrix; -}; - -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; -}; - -struct Frame3d { - struct Element3d *p_stArrayOfElts3d; - struct MTH3D_Matrix *p_stAngularSpeedMatrix; - struct MTH3_Vector *p_stLinearSpeedVector; - tdstPLA_Hierarchy *p_stHierarchy; -}; - -struct Event { - struct EventInTable *p_stfEventInTBL; - ushort usEventNumberInTBL; - ushort uwFrameNumber; - ushort uwChannelNumber; -}; - -typedef struct astruct_2 astruct_2, *Pastruct_2; - -typedef unsigned int dword; -typedef dword color_rgba8_t; - -typedef unsigned char byte; -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 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 tdstChannelActivationStateList_ tdstChannelActivationStateList_, *PtdstChannelActivationStateList_; - -typedef struct tdstChannelActivationStateList_ *CHN_tdxHandleToCASElement; - -struct tdstChannelActivationStateList_ { -}; - -typedef struct tdstAChannel_ tdstAChannel_, *PtdstAChannel_; - -typedef struct tdstAChannel_ *CHN_tdxHandleToChannel; - -struct tdstAChannel_ { -}; - -typedef struct tdstMorphChannelList_ tdstMorphChannelList_, *PtdstMorphChannelList_; - -typedef struct tdstMorphChannelList_ *CHN_tdxHandleToMorphElement; - -struct tdstMorphChannelList_ { -}; - -typedef GUID CLSID; - -typedef struct _CPOINT CPOINT; - -typedef struct _DIACTIONA DIACTIONA; - -typedef DIACTIONA DIACTION; - -typedef struct _DIACTIONFORMATA DIACTIONFORMATA; - -typedef DIACTIONFORMATA DIACTIONFORMAT; - -typedef struct _DIACTIONFORMATW DIACTIONFORMATW; - -typedef struct _DIACTIONW DIACTIONW; - -typedef struct DICONDITION DICONDITION, *PDICONDITION; - -struct DICONDITION { - LONG lOffset; - LONG lPositiveCoefficient; - LONG lNegativeCoefficient; - DWORD dwPositiveSaturation; - DWORD dwNegativeSaturation; - LONG lDeadBand; -}; - -typedef struct _DICONFIGUREDEVICESPARAMSA DICONFIGUREDEVICESPARAMSA; - -typedef DICONFIGUREDEVICESPARAMSA DICONFIGUREDEVICESPARAMS; - -typedef struct _DICONFIGUREDEVICESPARAMSW DICONFIGUREDEVICESPARAMSW; - -typedef struct DICONSTANTFORCE DICONSTANTFORCE, *PDICONSTANTFORCE; - -struct DICONSTANTFORCE { - LONG lMagnitude; -}; - -typedef struct DICUSTOMFORCE DICUSTOMFORCE, *PDICUSTOMFORCE; - -typedef long *LPLONG; - -struct DICUSTOMFORCE { - DWORD cChannels; - DWORD dwSamplePeriod; - DWORD cSamples; - LPLONG rglForceData; -}; - -typedef struct _DIDATAFORMAT DIDATAFORMAT; - -typedef struct DIDEVCAPS DIDEVCAPS, *PDIDEVCAPS; - -struct DIDEVCAPS { - DWORD dwSize; - DWORD dwFlags; - DWORD dwDevType; - DWORD dwAxes; - DWORD dwButtons; - DWORD dwPOVs; - DWORD dwFFSamplePeriod; - DWORD dwFFMinTimeResolution; - DWORD dwFirmwareRevision; - DWORD dwHardwareRevision; - DWORD dwFFDriverVersion; -}; - -typedef struct DIDEVCAPS_DX3 DIDEVCAPS_DX3, *PDIDEVCAPS_DX3; - -struct DIDEVCAPS_DX3 { - DWORD dwSize; - DWORD dwFlags; - DWORD dwDevType; - DWORD dwAxes; - DWORD dwButtons; - DWORD dwPOVs; -}; - -typedef struct _DIDEVICEIMAGEINFOA DIDEVICEIMAGEINFOA; - -typedef DIDEVICEIMAGEINFOA DIDEVICEIMAGEINFO; - -typedef struct _DIDEVICEIMAGEINFOHEADERA DIDEVICEIMAGEINFOHEADERA; - -typedef DIDEVICEIMAGEINFOHEADERA DIDEVICEIMAGEINFOHEADER; - -typedef struct _DIDEVICEIMAGEINFOHEADERW DIDEVICEIMAGEINFOHEADERW; - -typedef struct _DIDEVICEIMAGEINFOW DIDEVICEIMAGEINFOW; - -typedef struct DIDEVICEINSTANCEA DIDEVICEINSTANCEA, *PDIDEVICEINSTANCEA; - -typedef struct DIDEVICEINSTANCEA DIDEVICEINSTANCE; - -typedef ushort WORD; - -struct DIDEVICEINSTANCEA { - DWORD dwSize; - GUID guidInstance; - GUID guidProduct; - DWORD dwDevType; - CHAR tszInstanceName[260]; - CHAR tszProductName[260]; - GUID guidFFDriver; - WORD wUsagePage; - WORD wUsage; -}; - -typedef struct DIDEVICEINSTANCE_DX3A DIDEVICEINSTANCE_DX3A, *PDIDEVICEINSTANCE_DX3A; - -typedef struct DIDEVICEINSTANCE_DX3A DIDEVICEINSTANCE_DX3; - -struct DIDEVICEINSTANCE_DX3A { - DWORD dwSize; - GUID guidInstance; - GUID guidProduct; - DWORD dwDevType; - CHAR tszInstanceName[260]; - CHAR tszProductName[260]; -}; - -typedef struct DIDEVICEINSTANCE_DX3W DIDEVICEINSTANCE_DX3W, *PDIDEVICEINSTANCE_DX3W; - -struct DIDEVICEINSTANCE_DX3W { - DWORD dwSize; - GUID guidInstance; - GUID guidProduct; - DWORD dwDevType; - WCHAR tszInstanceName[260]; - WCHAR tszProductName[260]; -}; - -typedef struct DIDEVICEINSTANCEW DIDEVICEINSTANCEW, *PDIDEVICEINSTANCEW; - -struct DIDEVICEINSTANCEW { - DWORD dwSize; - GUID guidInstance; - GUID guidProduct; - DWORD dwDevType; - WCHAR tszInstanceName[260]; - WCHAR tszProductName[260]; - GUID guidFFDriver; - WORD wUsagePage; - WORD wUsage; -}; - -typedef struct DIDEVICEOBJECTDATA DIDEVICEOBJECTDATA, *PDIDEVICEOBJECTDATA; - -struct DIDEVICEOBJECTDATA { - DWORD dwOfs; - DWORD dwData; - DWORD dwTimeStamp; - DWORD dwSequence; - UINT_PTR uAppData; -}; - -typedef struct DIDEVICEOBJECTDATA_DX3 DIDEVICEOBJECTDATA_DX3, *PDIDEVICEOBJECTDATA_DX3; - -struct DIDEVICEOBJECTDATA_DX3 { - DWORD dwOfs; - DWORD dwData; - DWORD dwTimeStamp; - DWORD dwSequence; -}; - -typedef struct DIDEVICEOBJECTINSTANCEA DIDEVICEOBJECTINSTANCEA, *PDIDEVICEOBJECTINSTANCEA; - -typedef struct DIDEVICEOBJECTINSTANCEA DIDEVICEOBJECTINSTANCE; - -struct DIDEVICEOBJECTINSTANCEA { - DWORD dwSize; - GUID guidType; - DWORD dwOfs; - DWORD dwType; - DWORD dwFlags; - CHAR tszName[260]; - DWORD dwFFMaxForce; - DWORD dwFFForceResolution; - WORD wCollectionNumber; - WORD wDesignatorIndex; - WORD wUsagePage; - WORD wUsage; - DWORD dwDimension; - WORD wExponent; - WORD wReportId; -}; - -typedef struct DIDEVICEOBJECTINSTANCE_DX3A DIDEVICEOBJECTINSTANCE_DX3A, *PDIDEVICEOBJECTINSTANCE_DX3A; - -typedef struct DIDEVICEOBJECTINSTANCE_DX3A DIDEVICEOBJECTINSTANCE_DX3; - -struct DIDEVICEOBJECTINSTANCE_DX3A { - DWORD dwSize; - GUID guidType; - DWORD dwOfs; - DWORD dwType; - DWORD dwFlags; - CHAR tszName[260]; -}; - -typedef struct DIDEVICEOBJECTINSTANCE_DX3W DIDEVICEOBJECTINSTANCE_DX3W, *PDIDEVICEOBJECTINSTANCE_DX3W; - -struct DIDEVICEOBJECTINSTANCE_DX3W { - DWORD dwSize; - GUID guidType; - DWORD dwOfs; - DWORD dwType; - DWORD dwFlags; - WCHAR tszName[260]; -}; - -typedef struct DIDEVICEOBJECTINSTANCEW DIDEVICEOBJECTINSTANCEW, *PDIDEVICEOBJECTINSTANCEW; - -struct DIDEVICEOBJECTINSTANCEW { - DWORD dwSize; - GUID guidType; - DWORD dwOfs; - DWORD dwType; - DWORD dwFlags; - WCHAR tszName[260]; - DWORD dwFFMaxForce; - DWORD dwFFForceResolution; - WORD wCollectionNumber; - WORD wDesignatorIndex; - WORD wUsagePage; - WORD wUsage; - DWORD dwDimension; - WORD wExponent; - WORD wReportId; -}; - -typedef struct DIEFFECT DIEFFECT, *PDIEFFECT; - -typedef DWORD *LPDWORD; - -typedef struct DIENVELOPE DIENVELOPE, *PDIENVELOPE; - -typedef struct DIENVELOPE *LPDIENVELOPE; - -typedef void *LPVOID; - -struct DIEFFECT { - DWORD dwSize; - DWORD dwFlags; - DWORD dwDuration; - DWORD dwSamplePeriod; - DWORD dwGain; - DWORD dwTriggerButton; - DWORD dwTriggerRepeatInterval; - DWORD cAxes; - LPDWORD rgdwAxes; - LPLONG rglDirection; - LPDIENVELOPE lpEnvelope; - DWORD cbTypeSpecificParams; - LPVOID lpvTypeSpecificParams; - DWORD dwStartDelay; -}; - -struct DIENVELOPE { - DWORD dwSize; - DWORD dwAttackLevel; - DWORD dwAttackTime; - DWORD dwFadeLevel; - DWORD dwFadeTime; -}; - -typedef struct DIEFFECT_DX5 DIEFFECT_DX5, *PDIEFFECT_DX5; - -struct DIEFFECT_DX5 { - DWORD dwSize; - DWORD dwFlags; - DWORD dwDuration; - DWORD dwSamplePeriod; - DWORD dwGain; - DWORD dwTriggerButton; - DWORD dwTriggerRepeatInterval; - DWORD cAxes; - LPDWORD rgdwAxes; - LPLONG rglDirection; - LPDIENVELOPE lpEnvelope; - DWORD cbTypeSpecificParams; - LPVOID lpvTypeSpecificParams; -}; - -typedef struct DIEFFECT DIEFFECT_DX6; - -typedef struct DIEFFECTINFOA DIEFFECTINFOA, *PDIEFFECTINFOA; - -typedef struct DIEFFECTINFOA DIEFFECTINFO; - -struct DIEFFECTINFOA { - DWORD dwSize; - GUID guid; - DWORD dwEffType; - DWORD dwStaticParams; - DWORD dwDynamicParams; - CHAR tszName[260]; -}; - -typedef struct DIEFFECTINFOW DIEFFECTINFOW, *PDIEFFECTINFOW; - -struct DIEFFECTINFOW { - DWORD dwSize; - GUID guid; - DWORD dwEffType; - DWORD dwStaticParams; - DWORD dwDynamicParams; - WCHAR tszName[260]; -}; - -typedef struct DIEFFESCAPE DIEFFESCAPE, *PDIEFFESCAPE; - -struct DIEFFESCAPE { - DWORD dwSize; - DWORD dwCommand; - LPVOID lpvInBuffer; - DWORD cbInBuffer; - LPVOID lpvOutBuffer; - DWORD cbOutBuffer; -}; - -typedef struct DIFILEEFFECT DIFILEEFFECT, *PDIFILEEFFECT; - -typedef struct DIEFFECT *LPCDIEFFECT; - -struct DIFILEEFFECT { - DWORD dwSize; - GUID GuidEffect; - LPCDIEFFECT lpDiEffect; - CHAR szFriendlyName[260]; -}; - -typedef struct DIJOYSTATE DIJOYSTATE, *PDIJOYSTATE; - -struct DIJOYSTATE { - LONG lX; - LONG lY; - LONG lZ; - LONG lRx; - LONG lRy; - LONG lRz; - LONG rglSlider[2]; - DWORD rgdwPOV[4]; - BYTE rgbButtons[32]; -}; - -typedef struct DIJOYSTATE2 DIJOYSTATE2, *PDIJOYSTATE2; - -struct DIJOYSTATE2 { - LONG lX; - LONG lY; - LONG lZ; - LONG lRx; - LONG lRy; - LONG lRz; - LONG rglSlider[2]; - DWORD rgdwPOV[4]; - BYTE rgbButtons[128]; - LONG lVX; - LONG lVY; - LONG lVZ; - LONG lVRx; - LONG lVRy; - LONG lVRz; - LONG rglVSlider[2]; - LONG lAX; - LONG lAY; - LONG lAZ; - LONG lARx; - LONG lARy; - LONG lARz; - LONG rglASlider[2]; - LONG lFX; - LONG lFY; - LONG lFZ; - LONG lFRx; - LONG lFRy; - LONG lFRz; - LONG rglFSlider[2]; -}; - -typedef struct _DIMOUSESTATE DIMOUSESTATE; - -typedef struct _DIMOUSESTATE2 DIMOUSESTATE2; - -typedef struct _DIOBJECTDATAFORMAT DIOBJECTDATAFORMAT; - -typedef struct DIPERIODIC DIPERIODIC, *PDIPERIODIC; - -struct DIPERIODIC { - DWORD dwMagnitude; - LONG lOffset; - DWORD dwPhase; - DWORD dwPeriod; -}; - -typedef struct DIPROPCAL DIPROPCAL, *PDIPROPCAL; - -typedef struct DIPROPHEADER DIPROPHEADER, *PDIPROPHEADER; - -struct DIPROPHEADER { - DWORD dwSize; - DWORD dwHeaderSize; - DWORD dwObj; - DWORD dwHow; -}; - -struct DIPROPCAL { - struct DIPROPHEADER diph; - LONG lMin; - LONG lCenter; - LONG lMax; -}; - -typedef struct DIPROPCPOINTS DIPROPCPOINTS, *PDIPROPCPOINTS; - -struct DIPROPCPOINTS { - struct DIPROPHEADER diph; - DWORD dwCPointsNum; - CPOINT cp[8]; -}; - -typedef struct DIPROPDWORD DIPROPDWORD, *PDIPROPDWORD; - -struct DIPROPDWORD { - struct DIPROPHEADER diph; - DWORD dwData; -}; - -typedef struct DIPROPGUIDANDPATH DIPROPGUIDANDPATH, *PDIPROPGUIDANDPATH; - -struct DIPROPGUIDANDPATH { - struct DIPROPHEADER diph; - GUID guidClass; - WCHAR wszPath[260]; -}; - -typedef struct DIPROPPOINTER DIPROPPOINTER, *PDIPROPPOINTER; - -struct DIPROPPOINTER { - struct DIPROPHEADER diph; - UINT_PTR uData; -}; - -typedef struct DIPROPRANGE DIPROPRANGE, *PDIPROPRANGE; - -struct DIPROPRANGE { - struct DIPROPHEADER diph; - LONG lMin; - LONG lMax; -}; - -typedef struct DIPROPSTRING DIPROPSTRING, *PDIPROPSTRING; - -struct DIPROPSTRING { - struct DIPROPHEADER diph; - WCHAR wsz[260]; -}; - -typedef struct DIRAMPFORCE DIRAMPFORCE, *PDIRAMPFORCE; - -struct DIRAMPFORCE { - LONG lStart; - LONG lEnd; -}; - -typedef struct FIL_tdstConcatFile_ FIL_tdstConcatFile_, *PFIL_tdstConcatFile_; - -typedef struct FIL_tdstConcatFile_ FIL_tdstConcatFile; - -typedef struct _iobuf FILE; - -typedef struct FIL_tdstConcatFileElement_ FIL_tdstConcatFileElement_, *PFIL_tdstConcatFileElement_; - -typedef struct FIL_tdstConcatFileElement_ FIL_tdstConcatFileElement; - -struct FIL_tdstConcatFileElement_ { - char *p_szFileName; - long lPathNumber; - long lOffset; - ulong ulFileLength; - ulong ulXorCode; - ulong ulCheckSum; -}; - -struct FIL_tdstConcatFile_ { - FILE *p_stFile; - ulong ulNumberOfPath; - ulong ulNumberOfFile; - uchar bUseXorCode; - uchar bUseCheckSum; - uchar ucPathXorCode; - uchar ucPathCheckSum; - char **d_szPathList; - FIL_tdstConcatFileElement *d_stConcatFileElement; -}; - -typedef struct FIL_tdstFileHeader_ FIL_tdstFileHeader_, *PFIL_tdstFileHeader_; - -typedef struct FIL_tdstFileHeader_ FIL_tdstFileHeader; - -struct FIL_tdstFileHeader_ { - 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_tdstFileInConcatFile_ FIL_tdstFileInConcatFile_, *PFIL_tdstFileInConcatFile_; - -typedef struct FIL_tdstFileInConcatFile_ FIL_tdstFileInConcatFile; - -struct FIL_tdstFileInConcatFile_ { - 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_tdstFileNameList_ FIL_tdstFileNameList_, *PFIL_tdstFileNameList_; - -typedef struct FIL_tdstFileNameList_ FIL_tdstFileNameList; - -typedef struct LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn, *PLST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn; - -typedef struct FIL_tdstFileNameListElement_ FIL_tdstFileNameListElement_, *PFIL_tdstFileNameListElement_; - -typedef struct FIL_tdstFileNameListElement_ *FIL_tdxHandleToFileNameListElement; - -struct LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn { - FIL_tdxHandleToFileNameListElement hFirstElementDyn; - FIL_tdxHandleToFileNameListElement hLastElementDyn; - long lNumberOfElementsDyn; -}; - -struct FIL_tdstFileNameList_ { - struct LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn hFileNameListAnchor; -}; - -struct FIL_tdstFileNameListElement_ { - FIL_tdxHandleToFileNameListElement hNextBrotherDyn; - FIL_tdxHandleToFileNameListElement hPrevBrotherDyn; - struct LST2_tdstAnchorToFIL_tdxHandleToFileNameListElementDyn *hFatherDyn; - char *szFileName; -}; - - -/* WARNING! conflicting data type names: /file.h/FIL_tdstFileNameListElement_ - /engine.h/FIL_tdstFileNameListElement_ */ - -typedef struct FIL_tdstGF_ FIL_tdstGF_, *PFIL_tdstGF_; - -typedef struct FIL_tdstGF_ FIL_tdstGF; - -struct FIL_tdstGF_ { - struct FIL_tdstFileHeader_ stFileHeader; - uchar *p_ucBitMap; - uchar *p_ucPalette; -}; - -typedef struct FIL_tdstRealGFFileHeader_ FIL_tdstRealGFFileHeader_, *PFIL_tdstRealGFFileHeader_; - -typedef struct FIL_tdstRealGFFileHeader_ FIL_tdstRealGFFileHeader; - -struct FIL_tdstRealGFFileHeader_ { - ulong ulFormat; - ulong ulWidth; - ulong ulHeight; - uchar ucBpp; - uchar ucRLECode; -}; - -typedef struct FIL_tdstConcatFile_ *FIL_tdxHandleToConcatFile; - -typedef struct FIL_tdstConcatFileElement_ *FIL_tdxHandleToConcatFileElement; - -typedef struct FIL_tdstFileInConcatFile_ *FIL_tdxHandleToFileInConcatFile; - -typedef struct FIL_tdstFileNameList_ *FIL_tdxHandleToFileNameList; - -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 GUID FMTID; - -typedef struct _s_FuncInfo FuncInfo; - -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; - -enum GAM_EngineMode { - E_EM_ModeInvalid=0, - E_EM_ModeStartingProgram=1, - E_EM_ModeStoppingProgram=2, - E_EM_ModeEnterGame=3, - E_EM_ModeQuitGame=4, - E_EM_ModeEnterLevel=5, - E_EM_ModeChangeLevel=6, - E_EM_ModeDeadLoop=7, - E_EM_ModePlayerDead=8, - E_EM_ModePlaying=9, - E_EM_NbTotalEngineMode=10 -}; - -enum GAM_DisplayFixMode { - E_DFM_DisplayNothing=0, - E_DFM_DisplayHitPoints=1, - E_DFM_DisplayGameSave=2, - E_DFM_DisplayAll=255 -}; - -typedef struct TMR_tdstEngineTimerStructure TMR_tdstEngineTimerStructure, *PTMR_tdstEngineTimerStructure; - -enum GAM_InputMode { - E_IM_Normal=0, - E_IM_Commands=1, - E_IM_NbOfMode=2 -}; - -typedef short GLD_DeviceHandle; - -typedef short GLD_ViewportHandle; - -typedef unsigned short word; -typedef struct GLD_ViewportAttributes GLD_ViewportAttributes, *PGLD_ViewportAttributes; - -typedef struct GLI_Camera GLI_Camera, *PGLI_Camera; - -typedef struct GLI_SpecificAttributesFor3D GLI_SpecificAttributesFor3D, *PGLI_SpecificAttributesFor3D; - -typedef struct GLI_tdstViewportManagement GLI_tdstViewportManagement, *PGLI_tdstViewportManagement; - -typedef struct LST2_tdstAnchorTotdxHandleToNodeCameraDyn LST2_tdstAnchorTotdxHandleToNodeCameraDyn, *PLST2_tdstAnchorTotdxHandleToNodeCameraDyn; - -typedef struct LST2_tdstAnchorTotdxHandleToFamilyListDyn LST2_tdstAnchorTotdxHandleToFamilyListDyn, *PLST2_tdstAnchorTotdxHandleToFamilyListDyn; - -typedef struct LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeDyn LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeDyn, *PLST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeDyn; - -typedef struct LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeDyn LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeDyn, *PLST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeDyn; - -typedef struct HIE_tdstSuperObject HIE_tdstSuperObject, *PHIE_tdstSuperObject; - -typedef float GLI_tdxValue; - -typedef struct GLI_tdst2DVertex GLI_tdst2DVertex, *PGLI_tdst2DVertex; - -typedef struct tdstFamilyList_ tdstFamilyList_, *PtdstFamilyList_; - -typedef struct tdstFamilyList_ *tdxHandleToFamilyList; - -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; -}; - -struct HIE_tdstSuperObject { -}; - -struct LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeDyn { -}; - -struct tdstFamilyList_ { -}; - -struct GLI_tdst2DVertex { - float xX; - float xY; - float xOoZ; -}; - -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; -}; - -struct LST2_tdstAnchorTotdxHandleToFamilyListDyn { - tdxHandleToFamilyList hFirstElementDyn; - tdxHandleToFamilyList hLastElementDyn; - long lNumberOfElementsDyn; -}; - -struct LST2_tdstAnchorTotdxHandleToNodeCameraDyn { -}; - -struct LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeDyn { -}; - -struct GLI_SpecificAttributesFor3D { - struct GLI_Camera *p_stCam; - float xNear; -}; - -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; - undefined field11_0xd4; - undefined field12_0xd5; - enum GAM_InputMode eInputMode; /* maybe? */ - undefined field14_0xda; - undefined field15_0xdb; - undefined field16_0xdc; - undefined field17_0xdd; - undefined field18_0xde; - undefined field19_0xdf; - undefined field20_0xe0; - undefined field21_0xe1; - undefined field22_0xe2; - undefined field23_0xe3; - undefined field24_0xe4; - undefined field25_0xe5; - undefined field26_0xe6; - undefined field27_0xe7; - GLD_DeviceHandle hGLDDevice; /* correct */ - GLD_ViewportHandle hGLDViewport; /* correct */ - undefined field30_0xec; - undefined field31_0xed; - undefined field32_0xee; - undefined field33_0xef; - undefined field34_0xf0; - undefined field35_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 field51_0x202; - undefined field52_0x203; - undefined field53_0x204; - undefined field54_0x205; - undefined field55_0x206; - undefined field56_0x207; - undefined field57_0x208; - undefined field58_0x209; - undefined field59_0x20a; - undefined field60_0x20b; - undefined field61_0x20c; - undefined field62_0x20d; - undefined field63_0x20e; - undefined field64_0x20f; - undefined field65_0x210; - undefined field66_0x211; - undefined field67_0x212; - undefined field68_0x213; - undefined field69_0x214; - undefined field70_0x215; - undefined field71_0x216; - undefined field72_0x217; - undefined field73_0x218; - undefined field74_0x219; - undefined field75_0x21a; - undefined field76_0x21b; - undefined field77_0x21c; - undefined field78_0x21d; - undefined field79_0x21e; - undefined field80_0x21f; - undefined field81_0x220; - undefined field82_0x221; - undefined field83_0x222; - undefined field84_0x223; - undefined field85_0x224; - undefined field86_0x225; - undefined field87_0x226; - undefined field88_0x227; - undefined field89_0x228; - undefined field90_0x229; - undefined field91_0x22a; - undefined field92_0x22b; - undefined field93_0x22c; - undefined field94_0x22d; - undefined field95_0x22e; - undefined field96_0x22f; - undefined field97_0x230; - undefined field98_0x231; - undefined field99_0x232; - undefined field100_0x233; - undefined field101_0x234; - undefined field102_0x235; - undefined field103_0x236; - undefined field104_0x237; - undefined field105_0x238; - undefined field106_0x239; - undefined field107_0x23a; - undefined field108_0x23b; - undefined field109_0x23c; - undefined field110_0x23d; - undefined field111_0x23e; - undefined field112_0x23f; - undefined field113_0x240; - undefined field114_0x241; - undefined field115_0x242; - undefined field116_0x243; - undefined field117_0x244; - undefined field118_0x245; - undefined field119_0x246; - undefined field120_0x247; - undefined field121_0x248; - undefined field122_0x249; - undefined field123_0x24a; - undefined field124_0x24b; - undefined field125_0x24c; - undefined field126_0x24d; - undefined field127_0x24e; - undefined field128_0x24f; - undefined field129_0x250; - undefined field130_0x251; - undefined field131_0x252; - undefined field132_0x253; - undefined field133_0x254; - undefined field134_0x255; - undefined field135_0x256; - undefined field136_0x257; - undefined field137_0x258; - undefined field138_0x259; - undefined field139_0x25a; - undefined field140_0x25b; - undefined field141_0x25c; - undefined field142_0x25d; - undefined field143_0x25e; - undefined field144_0x25f; - undefined field145_0x260; - undefined field146_0x261; - undefined field147_0x262; - undefined field148_0x263; - undefined field149_0x264; - undefined field150_0x265; - undefined field151_0x266; - undefined field152_0x267; - undefined field153_0x268; - undefined field154_0x269; - undefined field155_0x26a; - undefined field156_0x26b; - undefined field157_0x26c; - undefined field158_0x26d; - undefined field159_0x26e; - undefined field160_0x26f; - undefined field161_0x270; - undefined field162_0x271; - undefined field163_0x272; - undefined field164_0x273; - undefined field165_0x274; - undefined field166_0x275; - undefined field167_0x276; - undefined field168_0x277; - undefined field169_0x278; - undefined field170_0x279; - undefined field171_0x27a; - undefined field172_0x27b; - undefined field173_0x27c; - undefined field174_0x27d; - undefined field175_0x27e; - undefined field176_0x27f; - undefined field177_0x280; - undefined field178_0x281; - undefined field179_0x282; - undefined field180_0x283; - undefined field181_0x284; - undefined field182_0x285; - undefined field183_0x286; - undefined field184_0x287; - undefined field185_0x288; - undefined field186_0x289; - undefined field187_0x28a; - undefined field188_0x28b; - undefined field189_0x28c; - undefined field190_0x28d; - undefined field191_0x28e; - undefined field192_0x28f; - undefined field193_0x290; - undefined field194_0x291; - undefined field195_0x292; - undefined field196_0x293; - undefined field197_0x294; - undefined field198_0x295; - undefined field199_0x296; - undefined field200_0x297; - undefined field201_0x298; - undefined field202_0x299; - undefined field203_0x29a; - undefined field204_0x29b; - undefined field205_0x29c; - undefined field206_0x29d; - undefined field207_0x29e; - undefined field208_0x29f; - undefined field209_0x2a0; - undefined field210_0x2a1; - undefined field211_0x2a2; - undefined field212_0x2a3; - undefined field213_0x2a4; - undefined field214_0x2a5; - undefined field215_0x2a6; - undefined field216_0x2a7; - undefined field217_0x2a8; - undefined field218_0x2a9; - undefined field219_0x2aa; - undefined field220_0x2ab; - undefined field221_0x2ac; - undefined field222_0x2ad; - undefined field223_0x2ae; - undefined field224_0x2af; - undefined field225_0x2b0; - undefined field226_0x2b1; - undefined field227_0x2b2; - undefined field228_0x2b3; - undefined field229_0x2b4; - undefined field230_0x2b5; - undefined field231_0x2b6; - undefined field232_0x2b7; - undefined field233_0x2b8; - undefined field234_0x2b9; - undefined field235_0x2ba; - undefined field236_0x2bb; - dword screenshotWidth; - dword screenshotHeight; - undefined field239_0x2c4; - undefined field240_0x2c5; - undefined field241_0x2c6; - undefined field242_0x2c7; - undefined field243_0x2c8; - undefined field244_0x2c9; - undefined field245_0x2ca; - undefined field246_0x2cb; - undefined field247_0x2cc; - undefined field248_0x2cd; - undefined field249_0x2ce; - undefined field250_0x2cf; - undefined field251_0x2d0; - undefined field252_0x2d1; - undefined field253_0x2d2; - undefined field254_0x2d3; - undefined field255_0x2d4; - undefined field256_0x2d5; - undefined field257_0x2d6; - undefined field258_0x2d7; - undefined field259_0x2d8; - undefined field260_0x2d9; - undefined field261_0x2da; - undefined field262_0x2db; - undefined field263_0x2dc; - undefined field264_0x2dd; - undefined field265_0x2de; - undefined field266_0x2df; - undefined field267_0x2e0; - undefined field268_0x2e1; - undefined field269_0x2e2; - undefined field270_0x2e3; - undefined field271_0x2e4; - undefined field272_0x2e5; - undefined field273_0x2e6; - undefined field274_0x2e7; - undefined field275_0x2e8; - undefined field276_0x2e9; - undefined field277_0x2ea; - undefined field278_0x2eb; - undefined field279_0x2ec; - undefined field280_0x2ed; - undefined field281_0x2ee; - undefined field282_0x2ef; - undefined field283_0x2f0; - undefined field284_0x2f1; - undefined field285_0x2f2; - undefined field286_0x2f3; - undefined field287_0x2f4; - undefined field288_0x2f5; - undefined field289_0x2f6; - undefined field290_0x2f7; - undefined field291_0x2f8; - undefined field292_0x2f9; - undefined field293_0x2fa; - undefined field294_0x2fb; - undefined field295_0x2fc; - undefined field296_0x2fd; - undefined field297_0x2fe; - undefined field298_0x2ff; - undefined field299_0x300; - undefined field300_0x301; - undefined field301_0x302; - undefined field302_0x303; - undefined field303_0x304; - undefined field304_0x305; - undefined field305_0x306; - undefined field306_0x307; - undefined field307_0x308; - undefined field308_0x309; - undefined field309_0x30a; - undefined field310_0x30b; - undefined field311_0x30c; - undefined field312_0x30d; - undefined field313_0x30e; - undefined field314_0x30f; - undefined field315_0x310; - undefined field316_0x311; - undefined field317_0x312; - undefined field318_0x313; - undefined field319_0x314; - undefined field320_0x315; - undefined field321_0x316; - undefined field322_0x317; - undefined field323_0x318; - undefined field324_0x319; - undefined field325_0x31a; - undefined field326_0x31b; - undefined field327_0x31c; - undefined field328_0x31d; - undefined field329_0x31e; - undefined field330_0x31f; - undefined field331_0x320; - undefined field332_0x321; - undefined field333_0x322; - undefined field334_0x323; - undefined field335_0x324; - undefined field336_0x325; - undefined field337_0x326; - undefined field338_0x327; - undefined field339_0x328; - undefined field340_0x329; - undefined field341_0x32a; - undefined field342_0x32b; - undefined field343_0x32c; - undefined field344_0x32d; - undefined field345_0x32e; - undefined field346_0x32f; - undefined field347_0x330; - undefined field348_0x331; - undefined field349_0x332; - undefined field350_0x333; - undefined field351_0x334; - undefined field352_0x335; - undefined field353_0x336; - undefined field354_0x337; - GLD_ViewportHandle viewportHandleUnk; - undefined field356_0x33a; - undefined field357_0x33b; - undefined field358_0x33c; - undefined field359_0x33d; - undefined field360_0x33e; - undefined field361_0x33f; - undefined field362_0x340; - undefined field363_0x341; - undefined field364_0x342; - undefined field365_0x343; - struct GLD_ViewportAttributes viewportAttribUnk; - undefined field367_0x3b4; - undefined field368_0x3b5; - undefined field369_0x3b6; - undefined field370_0x3b7; - undefined field371_0x3b8; - undefined field372_0x3b9; - undefined field373_0x3ba; - undefined field374_0x3bb; - undefined field375_0x3bc; - undefined field376_0x3bd; - undefined field377_0x3be; - undefined field378_0x3bf; - undefined field379_0x3c0; - undefined field380_0x3c1; - undefined field381_0x3c2; - undefined field382_0x3c3; - undefined field383_0x3c4; - undefined field384_0x3c5; - undefined field385_0x3c6; - undefined field386_0x3c7; - undefined field387_0x3c8; - undefined field388_0x3c9; - undefined field389_0x3ca; - undefined field390_0x3cb; - undefined field391_0x3cc; - undefined field392_0x3cd; - undefined field393_0x3ce; - undefined field394_0x3cf; - undefined field395_0x3d0; - undefined field396_0x3d1; - undefined field397_0x3d2; - undefined field398_0x3d3; - undefined field399_0x3d4; - undefined field400_0x3d5; - undefined field401_0x3d6; - undefined field402_0x3d7; - undefined field403_0x3d8; - undefined field404_0x3d9; - undefined field405_0x3da; - undefined field406_0x3db; - undefined field407_0x3dc; - undefined field408_0x3dd; - undefined field409_0x3de; - undefined field410_0x3df; - undefined field411_0x3e0; - undefined field412_0x3e1; - undefined field413_0x3e2; - undefined field414_0x3e3; - undefined field415_0x3e4; - undefined field416_0x3e5; - undefined field417_0x3e6; - undefined field418_0x3e7; - undefined field419_0x3e8; - undefined field420_0x3e9; - undefined field421_0x3ea; - undefined field422_0x3eb; - undefined field423_0x3ec; - undefined field424_0x3ed; - undefined field425_0x3ee; - undefined field426_0x3ef; - undefined field427_0x3f0; - undefined field428_0x3f1; - undefined field429_0x3f2; - undefined field430_0x3f3; - undefined field431_0x3f4; - undefined field432_0x3f5; - undefined field433_0x3f6; - undefined field434_0x3f7; - undefined field435_0x3f8; - undefined field436_0x3f9; - undefined field437_0x3fa; - undefined field438_0x3fb; - undefined field439_0x3fc; - undefined field440_0x3fd; - undefined field441_0x3fe; - undefined field442_0x3ff; - undefined field443_0x400; - undefined field444_0x401; - undefined field445_0x402; - undefined field446_0x403; - undefined field447_0x404; - undefined field448_0x405; - undefined field449_0x406; - undefined field450_0x407; - undefined field451_0x408; - undefined field452_0x409; - undefined field453_0x40a; - undefined field454_0x40b; - undefined field455_0x40c; - undefined field456_0x40d; - undefined field457_0x40e; - undefined field458_0x40f; - undefined field459_0x410; - undefined field460_0x411; - undefined field461_0x412; - undefined field462_0x413; - undefined field463_0x414; - undefined field464_0x415; - undefined field465_0x416; - undefined field466_0x417; - undefined field467_0x418; - undefined field468_0x419; - undefined field469_0x41a; - undefined field470_0x41b; - undefined field471_0x41c; - undefined field472_0x41d; - undefined field473_0x41e; - undefined field474_0x41f; - undefined field475_0x420; - undefined field476_0x421; - undefined field477_0x422; - undefined field478_0x423; - undefined field479_0x424; - undefined field480_0x425; - undefined field481_0x426; - undefined field482_0x427; - undefined field483_0x428; - undefined field484_0x429; - undefined field485_0x42a; - undefined field486_0x42b; - undefined field487_0x42c; - undefined field488_0x42d; - undefined field489_0x42e; - undefined field490_0x42f; - undefined field491_0x430; - undefined field492_0x431; - undefined field493_0x432; - undefined field494_0x433; - undefined field495_0x434; - undefined field496_0x435; - undefined field497_0x436; - undefined field498_0x437; - undefined field499_0x438; - undefined field500_0x439; - undefined field501_0x43a; - undefined field502_0x43b; - undefined field503_0x43c; - undefined field504_0x43d; - undefined field505_0x43e; - undefined field506_0x43f; - undefined field507_0x440; - undefined field508_0x441; - undefined field509_0x442; - undefined field510_0x443; - undefined field511_0x444; - undefined field512_0x445; - undefined field513_0x446; - undefined field514_0x447; - undefined field515_0x448; - undefined field516_0x449; - undefined field517_0x44a; - undefined field518_0x44b; - undefined field519_0x44c; - undefined field520_0x44d; - undefined field521_0x44e; - undefined field522_0x44f; - undefined field523_0x450; - undefined field524_0x451; - undefined field525_0x452; - undefined field526_0x453; - undefined field527_0x454; - undefined field528_0x455; - undefined field529_0x456; - undefined field530_0x457; - undefined field531_0x458; - undefined field532_0x459; - undefined field533_0x45a; - undefined field534_0x45b; - undefined field535_0x45c; - undefined field536_0x45d; - undefined field537_0x45e; - undefined field538_0x45f; - undefined field539_0x460; - undefined field540_0x461; - undefined field541_0x462; - undefined field542_0x463; - undefined field543_0x464; - undefined field544_0x465; - undefined field545_0x466; - undefined field546_0x467; - undefined field547_0x468; - undefined field548_0x469; - undefined field549_0x46a; - undefined field550_0x46b; - undefined field551_0x46c; - undefined field552_0x46d; - undefined field553_0x46e; - undefined field554_0x46f; - undefined field555_0x470; - undefined field556_0x471; - undefined field557_0x472; - undefined field558_0x473; - undefined field559_0x474; - undefined field560_0x475; - undefined field561_0x476; - undefined field562_0x477; - undefined field563_0x478; - undefined field564_0x479; - undefined field565_0x47a; - undefined field566_0x47b; - undefined field567_0x47c; - undefined field568_0x47d; - undefined field569_0x47e; - undefined field570_0x47f; - undefined field571_0x480; - undefined field572_0x481; - undefined field573_0x482; - undefined field574_0x483; - undefined field575_0x484; - undefined field576_0x485; - undefined field577_0x486; - undefined field578_0x487; - undefined field579_0x488; - undefined field580_0x489; - undefined field581_0x48a; - undefined field582_0x48b; - undefined field583_0x48c; - undefined field584_0x48d; - undefined field585_0x48e; - undefined field586_0x48f; - undefined field587_0x490; - undefined field588_0x491; - undefined field589_0x492; - undefined field590_0x493; - undefined field591_0x494; - undefined field592_0x495; - undefined field593_0x496; - undefined field594_0x497; - undefined field595_0x498; - undefined field596_0x499; - undefined field597_0x49a; - undefined field598_0x49b; - undefined field599_0x49c; - undefined field600_0x49d; - undefined field601_0x49e; - undefined field602_0x49f; - undefined field603_0x4a0; - undefined field604_0x4a1; - undefined field605_0x4a2; - undefined field606_0x4a3; - undefined field607_0x4a4; - undefined field608_0x4a5; - undefined field609_0x4a6; - undefined field610_0x4a7; - undefined field611_0x4a8; - undefined field612_0x4a9; - undefined field613_0x4aa; - undefined field614_0x4ab; - undefined field615_0x4ac; - undefined field616_0x4ad; - undefined field617_0x4ae; - undefined field618_0x4af; - undefined field619_0x4b0; - undefined field620_0x4b1; - undefined field621_0x4b2; - undefined field622_0x4b3; - undefined field623_0x4b4; - undefined field624_0x4b5; - undefined field625_0x4b6; - undefined field626_0x4b7; - undefined field627_0x4b8; - undefined field628_0x4b9; - undefined field629_0x4ba; - undefined field630_0x4bb; - undefined field631_0x4bc; - undefined field632_0x4bd; - undefined field633_0x4be; - undefined field634_0x4bf; - undefined field635_0x4c0; - undefined field636_0x4c1; - undefined field637_0x4c2; - undefined field638_0x4c3; - undefined field639_0x4c4; - undefined field640_0x4c5; - undefined field641_0x4c6; - undefined field642_0x4c7; - undefined field643_0x4c8; - undefined field644_0x4c9; - undefined field645_0x4ca; - undefined field646_0x4cb; - undefined field647_0x4cc; - undefined field648_0x4cd; - undefined field649_0x4ce; - undefined field650_0x4cf; - undefined field651_0x4d0; - undefined field652_0x4d1; - undefined field653_0x4d2; - undefined field654_0x4d3; - undefined field655_0x4d4; - undefined field656_0x4d5; - undefined field657_0x4d6; - undefined field658_0x4d7; - undefined field659_0x4d8; - undefined field660_0x4d9; - undefined field661_0x4da; - undefined field662_0x4db; - undefined field663_0x4dc; - undefined field664_0x4dd; - undefined field665_0x4de; - undefined field666_0x4df; - undefined field667_0x4e0; - undefined field668_0x4e1; - undefined field669_0x4e2; - undefined field670_0x4e3; - undefined field671_0x4e4; - undefined field672_0x4e5; - undefined field673_0x4e6; - undefined field674_0x4e7; - undefined field675_0x4e8; - undefined field676_0x4e9; - undefined field677_0x4ea; - undefined field678_0x4eb; - undefined field679_0x4ec; - undefined field680_0x4ed; - undefined field681_0x4ee; - undefined field682_0x4ef; - undefined field683_0x4f0; - undefined field684_0x4f1; - undefined field685_0x4f2; - undefined field686_0x4f3; - undefined field687_0x4f4; - undefined field688_0x4f5; - undefined field689_0x4f6; - undefined field690_0x4f7; - undefined field691_0x4f8; - undefined field692_0x4f9; - undefined field693_0x4fa; - undefined field694_0x4fb; - undefined field695_0x4fc; - undefined field696_0x4fd; - undefined field697_0x4fe; - undefined field698_0x4ff; - undefined field699_0x500; - undefined field700_0x501; - undefined field701_0x502; - undefined field702_0x503; - undefined field703_0x504; - undefined field704_0x505; - undefined field705_0x506; - undefined field706_0x507; - undefined field707_0x508; - undefined field708_0x509; - undefined field709_0x50a; - undefined field710_0x50b; - undefined field711_0x50c; - undefined field712_0x50d; - undefined field713_0x50e; - undefined field714_0x50f; - undefined field715_0x510; - undefined field716_0x511; - undefined field717_0x512; - undefined field718_0x513; - undefined field719_0x514; - undefined field720_0x515; - undefined field721_0x516; - undefined field722_0x517; - undefined field723_0x518; - undefined field724_0x519; - undefined field725_0x51a; - undefined field726_0x51b; - undefined field727_0x51c; - undefined field728_0x51d; - undefined field729_0x51e; - undefined field730_0x51f; - undefined field731_0x520; - undefined field732_0x521; - undefined field733_0x522; - undefined field734_0x523; - undefined field735_0x524; - undefined field736_0x525; - undefined field737_0x526; - undefined field738_0x527; - undefined field739_0x528; - undefined field740_0x529; - undefined field741_0x52a; - undefined field742_0x52b; - undefined field743_0x52c; - undefined field744_0x52d; - undefined field745_0x52e; - undefined field746_0x52f; - undefined field747_0x530; - undefined field748_0x531; - undefined field749_0x532; - undefined field750_0x533; - undefined field751_0x534; - undefined field752_0x535; - undefined field753_0x536; - undefined field754_0x537; - undefined field755_0x538; - undefined field756_0x539; - undefined field757_0x53a; - undefined field758_0x53b; - undefined field759_0x53c; - undefined field760_0x53d; - undefined field761_0x53e; - undefined field762_0x53f; - undefined field763_0x540; - undefined field764_0x541; - undefined field765_0x542; - undefined field766_0x543; - undefined field767_0x544; - undefined field768_0x545; - undefined field769_0x546; - undefined field770_0x547; - undefined field771_0x548; - undefined field772_0x549; - undefined field773_0x54a; - undefined field774_0x54b; - undefined field775_0x54c; - undefined field776_0x54d; - undefined field777_0x54e; - undefined field778_0x54f; - undefined field779_0x550; - undefined field780_0x551; - undefined field781_0x552; - undefined field782_0x553; - undefined field783_0x554; - undefined field784_0x555; - undefined field785_0x556; - undefined field786_0x557; - undefined field787_0x558; - undefined field788_0x559; - undefined field789_0x55a; - undefined field790_0x55b; - undefined field791_0x55c; - undefined field792_0x55d; - undefined field793_0x55e; - undefined field794_0x55f; - undefined field795_0x560; - undefined field796_0x561; - undefined field797_0x562; - undefined field798_0x563; - undefined field799_0x564; - undefined field800_0x565; - undefined field801_0x566; - undefined field802_0x567; - undefined field803_0x568; - undefined field804_0x569; - undefined field805_0x56a; - undefined field806_0x56b; - undefined field807_0x56c; - undefined field808_0x56d; - undefined field809_0x56e; - undefined field810_0x56f; - undefined field811_0x570; - undefined field812_0x571; - undefined field813_0x572; - undefined field814_0x573; - undefined field815_0x574; - undefined field816_0x575; - undefined field817_0x576; - undefined field818_0x577; - undefined field819_0x578; - undefined field820_0x579; - undefined field821_0x57a; - undefined field822_0x57b; - undefined field823_0x57c; - undefined field824_0x57d; - undefined field825_0x57e; - undefined field826_0x57f; - undefined field827_0x580; - undefined field828_0x581; - undefined field829_0x582; - undefined field830_0x583; - undefined field831_0x584; - undefined field832_0x585; - undefined field833_0x586; - undefined field834_0x587; - undefined field835_0x588; - undefined field836_0x589; - undefined field837_0x58a; - undefined field838_0x58b; - undefined field839_0x58c; - undefined field840_0x58d; - undefined field841_0x58e; - undefined field842_0x58f; - undefined field843_0x590; - undefined field844_0x591; - undefined field845_0x592; - undefined field846_0x593; - undefined field847_0x594; - undefined field848_0x595; - undefined field849_0x596; - undefined field850_0x597; - undefined field851_0x598; - undefined field852_0x599; - undefined field853_0x59a; - undefined field854_0x59b; - undefined field855_0x59c; - undefined field856_0x59d; - undefined field857_0x59e; - undefined field858_0x59f; - undefined field859_0x5a0; - undefined field860_0x5a1; - undefined field861_0x5a2; - undefined field862_0x5a3; - undefined field863_0x5a4; - undefined field864_0x5a5; - undefined field865_0x5a6; - undefined field866_0x5a7; - undefined field867_0x5a8; - undefined field868_0x5a9; - undefined field869_0x5aa; - undefined field870_0x5ab; - undefined field871_0x5ac; - undefined field872_0x5ad; - undefined field873_0x5ae; - undefined field874_0x5af; - undefined field875_0x5b0; - undefined field876_0x5b1; - undefined field877_0x5b2; - undefined field878_0x5b3; - undefined field879_0x5b4; - undefined field880_0x5b5; - undefined field881_0x5b6; - undefined field882_0x5b7; - undefined field883_0x5b8; - undefined field884_0x5b9; - undefined field885_0x5ba; - undefined field886_0x5bb; - undefined field887_0x5bc; - undefined field888_0x5bd; - undefined field889_0x5be; - undefined field890_0x5bf; - undefined field891_0x5c0; - undefined field892_0x5c1; - undefined field893_0x5c2; - undefined field894_0x5c3; - undefined field895_0x5c4; - undefined field896_0x5c5; - undefined field897_0x5c6; - undefined field898_0x5c7; - undefined field899_0x5c8; - undefined field900_0x5c9; - undefined field901_0x5ca; - undefined field902_0x5cb; - undefined field903_0x5cc; - undefined field904_0x5cd; - undefined field905_0x5ce; - undefined field906_0x5cf; - undefined field907_0x5d0; - undefined field908_0x5d1; - undefined field909_0x5d2; - undefined field910_0x5d3; - undefined field911_0x5d4; - undefined field912_0x5d5; - undefined field913_0x5d6; - undefined field914_0x5d7; - undefined field915_0x5d8; - undefined field916_0x5d9; - undefined field917_0x5da; - undefined field918_0x5db; - undefined field919_0x5dc; - undefined field920_0x5dd; - undefined field921_0x5de; - undefined field922_0x5df; - undefined field923_0x5e0; - undefined field924_0x5e1; - undefined field925_0x5e2; - undefined field926_0x5e3; - undefined field927_0x5e4; - undefined field928_0x5e5; - undefined field929_0x5e6; - undefined field930_0x5e7; - HANDLE drawSemaphore; - undefined field932_0x5ec; - undefined field933_0x5ed; - undefined field934_0x5ee; - undefined field935_0x5ef; - undefined field936_0x5f0; - undefined field937_0x5f1; - undefined field938_0x5f2; - undefined field939_0x5f3; - undefined field940_0x5f4; - undefined field941_0x5f5; - undefined field942_0x5f6; - undefined field943_0x5f7; - undefined field944_0x5f8; - undefined field945_0x5f9; - undefined field946_0x5fa; - undefined field947_0x5fb; - undefined field948_0x5fc; - undefined field949_0x5fd; - undefined field950_0x5fe; - undefined field951_0x5ff; - undefined field952_0x600; - undefined field953_0x601; - undefined field954_0x602; - undefined field955_0x603; - undefined field956_0x604; - undefined field957_0x605; - undefined field958_0x606; - undefined field959_0x607; - undefined field960_0x608; - undefined field961_0x609; - undefined field962_0x60a; - undefined field963_0x60b; - undefined field964_0x60c; - undefined field965_0x60d; - undefined field966_0x60e; - undefined field967_0x60f; - undefined field968_0x610; - undefined field969_0x611; - undefined field970_0x612; - undefined field971_0x613; - undefined field972_0x614; - undefined field973_0x615; - undefined field974_0x616; - undefined field975_0x617; - undefined field976_0x618; - undefined field977_0x619; - undefined field978_0x61a; - undefined field979_0x61b; - FIL_tdxHandleToFileNameList hLevelNameList; - undefined field981_0x620; - undefined field982_0x621; - undefined field983_0x622; - undefined field984_0x623; - undefined field985_0x624; - undefined field986_0x625; - undefined field987_0x626; - undefined field988_0x627; - undefined field989_0x628; - undefined field990_0x629; - undefined field991_0x62a; - undefined field992_0x62b; - undefined field993_0x62c; - undefined field994_0x62d; - undefined field995_0x62e; - undefined field996_0x62f; - undefined field997_0x630; - undefined field998_0x631; - undefined field999_0x632; - undefined field1000_0x633; - undefined field1001_0x634; - undefined field1002_0x635; - undefined field1003_0x636; - undefined field1004_0x637; - undefined field1005_0x638; - undefined field1006_0x639; - undefined field1007_0x63a; - undefined field1008_0x63b; - undefined field1009_0x63c; - undefined field1010_0x63d; - undefined field1011_0x63e; - undefined field1012_0x63f; - undefined field1013_0x640; - undefined field1014_0x641; - undefined field1015_0x642; - undefined field1016_0x643; - undefined field1017_0x644; - undefined field1018_0x645; - undefined field1019_0x646; - undefined field1020_0x647; - undefined field1021_0x648; - undefined field1022_0x649; - undefined field1023_0x64a; - undefined field1024_0x64b; - undefined field1025_0x64c; - undefined field1026_0x64d; - undefined field1027_0x64e; - undefined field1028_0x64f; - undefined field1029_0x650; - undefined field1030_0x651; - undefined field1031_0x652; - undefined field1032_0x653; - undefined field1033_0x654; - undefined field1034_0x655; - undefined field1035_0x656; - undefined field1036_0x657; - undefined field1037_0x658; - undefined field1038_0x659; - undefined field1039_0x65a; - undefined field1040_0x65b; - undefined field1041_0x65c; - undefined field1042_0x65d; - undefined field1043_0x65e; - undefined field1044_0x65f; - undefined field1045_0x660; - undefined field1046_0x661; - undefined field1047_0x662; - undefined field1048_0x663; - undefined field1049_0x664; - undefined field1050_0x665; - undefined field1051_0x666; - undefined field1052_0x667; - undefined field1053_0x668; - undefined field1054_0x669; - undefined field1055_0x66a; - undefined field1056_0x66b; - undefined field1057_0x66c; - undefined field1058_0x66d; - undefined field1059_0x66e; - undefined field1060_0x66f; - undefined field1061_0x670; - undefined field1062_0x671; - undefined field1063_0x672; - undefined field1064_0x673; - undefined field1065_0x674; - undefined field1066_0x675; - undefined field1067_0x676; - undefined field1068_0x677; - undefined field1069_0x678; - undefined field1070_0x679; - undefined field1071_0x67a; - undefined field1072_0x67b; - undefined field1073_0x67c; - undefined field1074_0x67d; - undefined field1075_0x67e; - undefined field1076_0x67f; - undefined field1077_0x680; - undefined field1078_0x681; - undefined field1079_0x682; - undefined field1080_0x683; - undefined field1081_0x684; - undefined field1082_0x685; - undefined field1083_0x686; - undefined field1084_0x687; - undefined field1085_0x688; - undefined field1086_0x689; - undefined field1087_0x68a; - undefined field1088_0x68b; - undefined field1089_0x68c; - undefined field1090_0x68d; - undefined field1091_0x68e; - undefined field1092_0x68f; - undefined field1093_0x690; - undefined field1094_0x691; - undefined field1095_0x692; - undefined field1096_0x693; - undefined field1097_0x694; - undefined field1098_0x695; - undefined field1099_0x696; - undefined field1100_0x697; - undefined field1101_0x698; - undefined field1102_0x699; - undefined field1103_0x69a; - undefined field1104_0x69b; - undefined field1105_0x69c; - undefined field1106_0x69d; - undefined field1107_0x69e; - undefined field1108_0x69f; - undefined field1109_0x6a0; - undefined field1110_0x6a1; - undefined field1111_0x6a2; - undefined field1112_0x6a3; - undefined field1113_0x6a4; - undefined field1114_0x6a5; - undefined field1115_0x6a6; - undefined field1116_0x6a7; - undefined field1117_0x6a8; - undefined field1118_0x6a9; - undefined field1119_0x6aa; - undefined field1120_0x6ab; - undefined field1121_0x6ac; - undefined field1122_0x6ad; - undefined field1123_0x6ae; - undefined field1124_0x6af; - undefined field1125_0x6b0; - undefined field1126_0x6b1; - undefined field1127_0x6b2; - undefined field1128_0x6b3; - undefined field1129_0x6b4; - undefined field1130_0x6b5; - undefined field1131_0x6b6; - undefined field1132_0x6b7; - undefined field1133_0x6b8; - undefined field1134_0x6b9; - undefined field1135_0x6ba; - undefined field1136_0x6bb; - undefined field1137_0x6bc; - undefined field1138_0x6bd; - undefined field1139_0x6be; - undefined field1140_0x6bf; - undefined field1141_0x6c0; - undefined field1142_0x6c1; - undefined field1143_0x6c2; - undefined field1144_0x6c3; - undefined field1145_0x6c4; - undefined field1146_0x6c5; - undefined field1147_0x6c6; - undefined field1148_0x6c7; - long lSubMapNumber; /* 0x6c8 */ - undefined field1150_0x6cc; - undefined field1151_0x6cd; - undefined field1152_0x6ce; - undefined field1153_0x6cf; - undefined field1154_0x6d0; - undefined field1155_0x6d1; - undefined field1156_0x6d2; - undefined field1157_0x6d3; - undefined field1158_0x6d4; - undefined field1159_0x6d5; - undefined field1160_0x6d6; - undefined field1161_0x6d7; - undefined field1162_0x6d8; - undefined field1163_0x6d9; - undefined field1164_0x6da; - undefined field1165_0x6db; - undefined field1166_0x6dc; - undefined field1167_0x6dd; - undefined field1168_0x6de; - undefined field1169_0x6df; - undefined field1170_0x6e0; - undefined field1171_0x6e1; - undefined field1172_0x6e2; - undefined field1173_0x6e3; - undefined field1174_0x6e4; - undefined field1175_0x6e5; - undefined field1176_0x6e6; - undefined field1177_0x6e7; - undefined field1178_0x6e8; - undefined field1179_0x6e9; - undefined field1180_0x6ea; - undefined field1181_0x6eb; - undefined field1182_0x6ec; - undefined field1183_0x6ed; - undefined field1184_0x6ee; - undefined field1185_0x6ef; - undefined field1186_0x6f0; - undefined field1187_0x6f1; - undefined field1188_0x6f2; - undefined field1189_0x6f3; - undefined field1190_0x6f4; - undefined field1191_0x6f5; - undefined field1192_0x6f6; - undefined field1193_0x6f7; - undefined field1194_0x6f8; - undefined field1195_0x6f9; - undefined field1196_0x6fa; - undefined field1197_0x6fb; - undefined field1198_0x6fc; - undefined field1199_0x6fd; - undefined field1200_0x6fe; - undefined field1201_0x6ff; - undefined field1202_0x700; - undefined field1203_0x701; - undefined field1204_0x702; - undefined field1205_0x703; - undefined field1206_0x704; - undefined field1207_0x705; - undefined field1208_0x706; - undefined field1209_0x707; - undefined field1210_0x708; - undefined field1211_0x709; - undefined field1212_0x70a; - undefined field1213_0x70b; - undefined field1214_0x70c; - undefined field1215_0x70d; - undefined field1216_0x70e; - undefined field1217_0x70f; - undefined field1218_0x710; - undefined field1219_0x711; - undefined field1220_0x712; - undefined field1221_0x713; - undefined field1222_0x714; - undefined field1223_0x715; - undefined field1224_0x716; - undefined field1225_0x717; - undefined field1226_0x718; - undefined field1227_0x719; - undefined field1228_0x71a; - undefined field1229_0x71b; - undefined field1230_0x71c; - undefined field1231_0x71d; - undefined field1232_0x71e; - undefined field1233_0x71f; - undefined field1234_0x720; - undefined field1235_0x721; - undefined field1236_0x722; - undefined field1237_0x723; - undefined field1238_0x724; - undefined field1239_0x725; - undefined field1240_0x726; - undefined field1241_0x727; - undefined field1242_0x728; - undefined field1243_0x729; - undefined field1244_0x72a; - undefined field1245_0x72b; - undefined field1246_0x72c; - undefined field1247_0x72d; - undefined field1248_0x72e; - undefined field1249_0x72f; - undefined field1250_0x730; - undefined field1251_0x731; - undefined field1252_0x732; - undefined field1253_0x733; - undefined field1254_0x734; - undefined field1255_0x735; - undefined field1256_0x736; - undefined field1257_0x737; - undefined field1258_0x738; - undefined field1259_0x739; - undefined field1260_0x73a; - undefined field1261_0x73b; - undefined field1262_0x73c; - undefined field1263_0x73d; - undefined field1264_0x73e; - undefined field1265_0x73f; - undefined field1266_0x740; - undefined field1267_0x741; - undefined field1268_0x742; - undefined field1269_0x743; - undefined field1270_0x744; - undefined field1271_0x745; - undefined field1272_0x746; - undefined field1273_0x747; - undefined field1274_0x748; - undefined field1275_0x749; - undefined field1276_0x74a; - undefined field1277_0x74b; - undefined field1278_0x74c; - undefined field1279_0x74d; - undefined field1280_0x74e; - undefined field1281_0x74f; - undefined field1282_0x750; - undefined field1283_0x751; - undefined field1284_0x752; - undefined field1285_0x753; - undefined field1286_0x754; - undefined field1287_0x755; - undefined field1288_0x756; - undefined field1289_0x757; - undefined field1290_0x758; - undefined field1291_0x759; - undefined field1292_0x75a; - undefined field1293_0x75b; - undefined field1294_0x75c; - undefined field1295_0x75d; - undefined field1296_0x75e; - undefined field1297_0x75f; - undefined field1298_0x760; - undefined field1299_0x761; - undefined field1300_0x762; - undefined field1301_0x763; - undefined field1302_0x764; - undefined field1303_0x765; - undefined field1304_0x766; - undefined field1305_0x767; - undefined field1306_0x768; - undefined field1307_0x769; - undefined field1308_0x76a; - undefined field1309_0x76b; - undefined field1310_0x76c; - undefined field1311_0x76d; - undefined field1312_0x76e; - undefined field1313_0x76f; - undefined field1314_0x770; - undefined field1315_0x771; - undefined field1316_0x772; - undefined field1317_0x773; - undefined field1318_0x774; - undefined field1319_0x775; - undefined field1320_0x776; - undefined field1321_0x777; - undefined field1322_0x778; - undefined field1323_0x779; - undefined field1324_0x77a; - undefined field1325_0x77b; - undefined field1326_0x77c; - undefined field1327_0x77d; - undefined field1328_0x77e; - undefined field1329_0x77f; - undefined field1330_0x780; - undefined field1331_0x781; - undefined field1332_0x782; - undefined field1333_0x783; - undefined field1334_0x784; - undefined field1335_0x785; - undefined field1336_0x786; - undefined field1337_0x787; - undefined field1338_0x788; - undefined field1339_0x789; - undefined field1340_0x78a; - undefined field1341_0x78b; - undefined field1342_0x78c; - undefined field1343_0x78d; - undefined field1344_0x78e; - undefined field1345_0x78f; - undefined field1346_0x790; - undefined field1347_0x791; - undefined field1348_0x792; - undefined field1349_0x793; - undefined field1350_0x794; - undefined field1351_0x795; - undefined field1352_0x796; - undefined field1353_0x797; - undefined field1354_0x798; - undefined field1355_0x799; - undefined field1356_0x79a; - undefined field1357_0x79b; - undefined field1358_0x79c; - undefined field1359_0x79d; - undefined field1360_0x79e; - undefined field1361_0x79f; - undefined field1362_0x7a0; - undefined field1363_0x7a1; - undefined field1364_0x7a2; - undefined field1365_0x7a3; - undefined field1366_0x7a4; - undefined field1367_0x7a5; - undefined field1368_0x7a6; - undefined field1369_0x7a7; - undefined field1370_0x7a8; - undefined field1371_0x7a9; - undefined field1372_0x7aa; - undefined field1373_0x7ab; - undefined field1374_0x7ac; - undefined field1375_0x7ad; - undefined field1376_0x7ae; - undefined field1377_0x7af; - undefined field1378_0x7b0; - undefined field1379_0x7b1; - undefined field1380_0x7b2; - undefined field1381_0x7b3; - undefined field1382_0x7b4; - undefined field1383_0x7b5; - undefined field1384_0x7b6; - undefined field1385_0x7b7; - undefined field1386_0x7b8; - undefined field1387_0x7b9; - undefined field1388_0x7ba; - undefined field1389_0x7bb; - undefined field1390_0x7bc; - undefined field1391_0x7bd; - undefined field1392_0x7be; - undefined field1393_0x7bf; - undefined field1394_0x7c0; - undefined field1395_0x7c1; - undefined field1396_0x7c2; - undefined field1397_0x7c3; - undefined field1398_0x7c4; - undefined field1399_0x7c5; - undefined field1400_0x7c6; - undefined field1401_0x7c7; - undefined field1402_0x7c8; - undefined field1403_0x7c9; - undefined field1404_0x7ca; - undefined field1405_0x7cb; - undefined field1406_0x7cc; - undefined field1407_0x7cd; - undefined field1408_0x7ce; - undefined field1409_0x7cf; - undefined field1410_0x7d0; - undefined field1411_0x7d1; - undefined field1412_0x7d2; - undefined field1413_0x7d3; - undefined field1414_0x7d4; - undefined field1415_0x7d5; - undefined field1416_0x7d6; - undefined field1417_0x7d7; - undefined field1418_0x7d8; - undefined field1419_0x7d9; - undefined field1420_0x7da; - undefined field1421_0x7db; - undefined field1422_0x7dc; - undefined field1423_0x7dd; - undefined field1424_0x7de; - undefined field1425_0x7df; - undefined field1426_0x7e0; - undefined field1427_0x7e1; - undefined field1428_0x7e2; - undefined field1429_0x7e3; - undefined field1430_0x7e4; - undefined field1431_0x7e5; - undefined field1432_0x7e6; - undefined field1433_0x7e7; - undefined field1434_0x7e8; - undefined field1435_0x7e9; - undefined field1436_0x7ea; - undefined field1437_0x7eb; - undefined field1438_0x7ec; - undefined field1439_0x7ed; - undefined field1440_0x7ee; - undefined field1441_0x7ef; - undefined field1442_0x7f0; - undefined field1443_0x7f1; - undefined field1444_0x7f2; - undefined field1445_0x7f3; - undefined field1446_0x7f4; - undefined field1447_0x7f5; - undefined field1448_0x7f6; - undefined field1449_0x7f7; - undefined field1450_0x7f8; - undefined field1451_0x7f9; - undefined field1452_0x7fa; - undefined field1453_0x7fb; - undefined field1454_0x7fc; - undefined field1455_0x7fd; - undefined field1456_0x7fe; - undefined field1457_0x7ff; - undefined field1458_0x800; - undefined field1459_0x801; - undefined field1460_0x802; - undefined field1461_0x803; - undefined field1462_0x804; - undefined field1463_0x805; - undefined field1464_0x806; - undefined field1465_0x807; - undefined field1466_0x808; - undefined field1467_0x809; - undefined field1468_0x80a; - undefined field1469_0x80b; - undefined field1470_0x80c; - undefined field1471_0x80d; - undefined field1472_0x80e; - undefined field1473_0x80f; - undefined field1474_0x810; - undefined field1475_0x811; - undefined field1476_0x812; - undefined field1477_0x813; - undefined field1478_0x814; - undefined field1479_0x815; - undefined field1480_0x816; - undefined field1481_0x817; - undefined field1482_0x818; - undefined field1483_0x819; - undefined field1484_0x81a; - undefined field1485_0x81b; - undefined field1486_0x81c; - undefined field1487_0x81d; - undefined field1488_0x81e; - undefined field1489_0x81f; - undefined field1490_0x820; - undefined field1491_0x821; - undefined field1492_0x822; - undefined field1493_0x823; - undefined field1494_0x824; - undefined field1495_0x825; - undefined field1496_0x826; - undefined field1497_0x827; - undefined field1498_0x828; - undefined field1499_0x829; - undefined field1500_0x82a; - undefined field1501_0x82b; - undefined field1502_0x82c; - undefined field1503_0x82d; - undefined field1504_0x82e; - undefined field1505_0x82f; - undefined field1506_0x830; - undefined field1507_0x831; - undefined field1508_0x832; - undefined field1509_0x833; - undefined field1510_0x834; - undefined field1511_0x835; - undefined field1512_0x836; - undefined field1513_0x837; - undefined field1514_0x838; - undefined field1515_0x839; - undefined field1516_0x83a; - undefined field1517_0x83b; - undefined field1518_0x83c; - undefined field1519_0x83d; - undefined field1520_0x83e; - undefined field1521_0x83f; - undefined field1522_0x840; - undefined field1523_0x841; - undefined field1524_0x842; - undefined field1525_0x843; - undefined field1526_0x844; - undefined field1527_0x845; - undefined field1528_0x846; - undefined field1529_0x847; - undefined field1530_0x848; - undefined field1531_0x849; - undefined field1532_0x84a; - undefined field1533_0x84b; - undefined field1534_0x84c; - undefined field1535_0x84d; - undefined field1536_0x84e; - undefined field1537_0x84f; - undefined field1538_0x850; - undefined field1539_0x851; - undefined field1540_0x852; - undefined field1541_0x853; - undefined field1542_0x854; - undefined field1543_0x855; - undefined field1544_0x856; - undefined field1545_0x857; - undefined field1546_0x858; - undefined field1547_0x859; - undefined field1548_0x85a; - undefined field1549_0x85b; - undefined field1550_0x85c; - undefined field1551_0x85d; - undefined field1552_0x85e; - undefined field1553_0x85f; - undefined field1554_0x860; - undefined field1555_0x861; - undefined field1556_0x862; - undefined field1557_0x863; - undefined field1558_0x864; - undefined field1559_0x865; - undefined field1560_0x866; - undefined field1561_0x867; - undefined field1562_0x868; - undefined field1563_0x869; - undefined field1564_0x86a; - undefined field1565_0x86b; - undefined field1566_0x86c; - undefined field1567_0x86d; - undefined field1568_0x86e; - undefined field1569_0x86f; - undefined field1570_0x870; - undefined field1571_0x871; - undefined field1572_0x872; - undefined field1573_0x873; - undefined field1574_0x874; - undefined field1575_0x875; - undefined field1576_0x876; - undefined field1577_0x877; - undefined field1578_0x878; - undefined field1579_0x879; - undefined field1580_0x87a; - undefined field1581_0x87b; - undefined field1582_0x87c; - undefined field1583_0x87d; - undefined field1584_0x87e; - undefined field1585_0x87f; - undefined field1586_0x880; - undefined field1587_0x881; - undefined field1588_0x882; - undefined field1589_0x883; - undefined field1590_0x884; - undefined field1591_0x885; - undefined field1592_0x886; - undefined field1593_0x887; - undefined field1594_0x888; - undefined field1595_0x889; - undefined field1596_0x88a; - undefined field1597_0x88b; - undefined field1598_0x88c; - undefined field1599_0x88d; - undefined field1600_0x88e; - undefined field1601_0x88f; - undefined field1602_0x890; - undefined field1603_0x891; - undefined field1604_0x892; - undefined field1605_0x893; - undefined field1606_0x894; - undefined field1607_0x895; - undefined field1608_0x896; - undefined field1609_0x897; - undefined field1610_0x898; - undefined field1611_0x899; - undefined field1612_0x89a; - undefined field1613_0x89b; - undefined field1614_0x89c; - undefined field1615_0x89d; - undefined field1616_0x89e; - undefined field1617_0x89f; - undefined field1618_0x8a0; - undefined field1619_0x8a1; - undefined field1620_0x8a2; - undefined field1621_0x8a3; - undefined field1622_0x8a4; - undefined field1623_0x8a5; - undefined field1624_0x8a6; - undefined field1625_0x8a7; - undefined field1626_0x8a8; - undefined field1627_0x8a9; - undefined field1628_0x8aa; - undefined field1629_0x8ab; - undefined field1630_0x8ac; - undefined field1631_0x8ad; - undefined field1632_0x8ae; - undefined field1633_0x8af; - undefined field1634_0x8b0; - undefined field1635_0x8b1; - undefined field1636_0x8b2; - undefined field1637_0x8b3; - undefined field1638_0x8b4; - undefined field1639_0x8b5; - undefined field1640_0x8b6; - undefined field1641_0x8b7; - undefined field1642_0x8b8; - undefined field1643_0x8b9; - undefined field1644_0x8ba; - undefined field1645_0x8bb; - undefined field1646_0x8bc; - undefined field1647_0x8bd; - undefined field1648_0x8be; - undefined field1649_0x8bf; - undefined field1650_0x8c0; - undefined field1651_0x8c1; - undefined field1652_0x8c2; - undefined field1653_0x8c3; - undefined field1654_0x8c4; - undefined field1655_0x8c5; - undefined field1656_0x8c6; - undefined field1657_0x8c7; - undefined field1658_0x8c8; - undefined field1659_0x8c9; - undefined field1660_0x8ca; - undefined field1661_0x8cb; - undefined field1662_0x8cc; - undefined field1663_0x8cd; - undefined field1664_0x8ce; - undefined field1665_0x8cf; - undefined field1666_0x8d0; - undefined field1667_0x8d1; - undefined field1668_0x8d2; - undefined field1669_0x8d3; - undefined field1670_0x8d4; - undefined field1671_0x8d5; - undefined field1672_0x8d6; - undefined field1673_0x8d7; - undefined field1674_0x8d8; - undefined field1675_0x8d9; - undefined field1676_0x8da; - undefined field1677_0x8db; - undefined field1678_0x8dc; - undefined field1679_0x8dd; - undefined field1680_0x8de; - undefined field1681_0x8df; - undefined field1682_0x8e0; - undefined field1683_0x8e1; - undefined field1684_0x8e2; - undefined field1685_0x8e3; - undefined field1686_0x8e4; - undefined field1687_0x8e5; - undefined field1688_0x8e6; - undefined field1689_0x8e7; - undefined field1690_0x8e8; - undefined field1691_0x8e9; - undefined field1692_0x8ea; - undefined field1693_0x8eb; - undefined field1694_0x8ec; - undefined field1695_0x8ed; - undefined field1696_0x8ee; - undefined field1697_0x8ef; - undefined field1698_0x8f0; - undefined field1699_0x8f1; - undefined field1700_0x8f2; - undefined field1701_0x8f3; - undefined field1702_0x8f4; - undefined field1703_0x8f5; - undefined field1704_0x8f6; - undefined field1705_0x8f7; - undefined field1706_0x8f8; - undefined field1707_0x8f9; - undefined field1708_0x8fa; - undefined field1709_0x8fb; - undefined field1710_0x8fc; - undefined field1711_0x8fd; - undefined field1712_0x8fe; - undefined field1713_0x8ff; - undefined field1714_0x900; - undefined field1715_0x901; - undefined field1716_0x902; - undefined field1717_0x903; - undefined field1718_0x904; - undefined field1719_0x905; - undefined field1720_0x906; - undefined field1721_0x907; - undefined field1722_0x908; - undefined field1723_0x909; - undefined field1724_0x90a; - undefined field1725_0x90b; - undefined field1726_0x90c; - undefined field1727_0x90d; - undefined field1728_0x90e; - undefined field1729_0x90f; - undefined field1730_0x910; - undefined field1731_0x911; - undefined field1732_0x912; - undefined field1733_0x913; - undefined field1734_0x914; - undefined field1735_0x915; - undefined field1736_0x916; - undefined field1737_0x917; - undefined field1738_0x918; - undefined field1739_0x919; - undefined field1740_0x91a; - undefined field1741_0x91b; - undefined field1742_0x91c; - undefined field1743_0x91d; - undefined field1744_0x91e; - undefined field1745_0x91f; - undefined field1746_0x920; - undefined field1747_0x921; - undefined field1748_0x922; - undefined field1749_0x923; - undefined field1750_0x924; - undefined field1751_0x925; - undefined field1752_0x926; - undefined field1753_0x927; - undefined field1754_0x928; - undefined field1755_0x929; - undefined field1756_0x92a; - undefined field1757_0x92b; - undefined field1758_0x92c; - undefined field1759_0x92d; - undefined field1760_0x92e; - undefined field1761_0x92f; - undefined field1762_0x930; - undefined field1763_0x931; - undefined field1764_0x932; - undefined field1765_0x933; - undefined field1766_0x934; - undefined field1767_0x935; - undefined field1768_0x936; - undefined field1769_0x937; - undefined field1770_0x938; - undefined field1771_0x939; - undefined field1772_0x93a; - undefined field1773_0x93b; - undefined field1774_0x93c; - undefined field1775_0x93d; - undefined field1776_0x93e; - undefined field1777_0x93f; - undefined field1778_0x940; - undefined field1779_0x941; - undefined field1780_0x942; - undefined field1781_0x943; - undefined field1782_0x944; - undefined field1783_0x945; - undefined field1784_0x946; - undefined field1785_0x947; - undefined field1786_0x948; - undefined field1787_0x949; - undefined field1788_0x94a; - undefined field1789_0x94b; - undefined field1790_0x94c; - undefined field1791_0x94d; - undefined field1792_0x94e; - undefined field1793_0x94f; - undefined field1794_0x950; - undefined field1795_0x951; - undefined field1796_0x952; - undefined field1797_0x953; - undefined field1798_0x954; - undefined field1799_0x955; - undefined field1800_0x956; - undefined field1801_0x957; - undefined field1802_0x958; - undefined field1803_0x959; - undefined field1804_0x95a; - undefined field1805_0x95b; - undefined field1806_0x95c; - undefined field1807_0x95d; - undefined field1808_0x95e; - undefined field1809_0x95f; - undefined field1810_0x960; - undefined field1811_0x961; - undefined field1812_0x962; - undefined field1813_0x963; - undefined field1814_0x964; - undefined field1815_0x965; - undefined field1816_0x966; - undefined field1817_0x967; - undefined field1818_0x968; - undefined field1819_0x969; - undefined field1820_0x96a; - undefined field1821_0x96b; - undefined field1822_0x96c; - undefined field1823_0x96d; - undefined field1824_0x96e; - undefined field1825_0x96f; - undefined field1826_0x970; - undefined field1827_0x971; - undefined field1828_0x972; - undefined field1829_0x973; - undefined field1830_0x974; - undefined field1831_0x975; - undefined field1832_0x976; - undefined field1833_0x977; - undefined field1834_0x978; - undefined field1835_0x979; - undefined field1836_0x97a; - undefined field1837_0x97b; - undefined field1838_0x97c; - undefined field1839_0x97d; - undefined field1840_0x97e; - undefined field1841_0x97f; - undefined field1842_0x980; - undefined field1843_0x981; - undefined field1844_0x982; - undefined field1845_0x983; - undefined field1846_0x984; - undefined field1847_0x985; - undefined field1848_0x986; - undefined field1849_0x987; - undefined field1850_0x988; - undefined field1851_0x989; - undefined field1852_0x98a; - undefined field1853_0x98b; - undefined field1854_0x98c; - undefined field1855_0x98d; - undefined field1856_0x98e; - undefined field1857_0x98f; - undefined field1858_0x990; - undefined field1859_0x991; - undefined field1860_0x992; - undefined field1861_0x993; - undefined field1862_0x994; - undefined field1863_0x995; - undefined field1864_0x996; - undefined field1865_0x997; - undefined field1866_0x998; - undefined field1867_0x999; - undefined field1868_0x99a; - undefined field1869_0x99b; - undefined field1870_0x99c; - undefined field1871_0x99d; - undefined field1872_0x99e; - undefined field1873_0x99f; - undefined field1874_0x9a0; - undefined field1875_0x9a1; - undefined field1876_0x9a2; - undefined field1877_0x9a3; - undefined field1878_0x9a4; - undefined field1879_0x9a5; - undefined field1880_0x9a6; - undefined field1881_0x9a7; - undefined field1882_0x9a8; - undefined field1883_0x9a9; - undefined field1884_0x9aa; - undefined field1885_0x9ab; - undefined field1886_0x9ac; - undefined field1887_0x9ad; - undefined field1888_0x9ae; - undefined field1889_0x9af; - undefined field1890_0x9b0; - undefined field1891_0x9b1; - undefined field1892_0x9b2; - undefined field1893_0x9b3; - undefined field1894_0x9b4; - undefined field1895_0x9b5; - undefined field1896_0x9b6; - undefined field1897_0x9b7; - undefined field1898_0x9b8; - undefined field1899_0x9b9; - undefined field1900_0x9ba; - undefined field1901_0x9bb; - undefined field1902_0x9bc; - undefined field1903_0x9bd; - undefined field1904_0x9be; - undefined field1905_0x9bf; - undefined field1906_0x9c0; - undefined field1907_0x9c1; - undefined field1908_0x9c2; - undefined field1909_0x9c3; - undefined field1910_0x9c4; - undefined field1911_0x9c5; - undefined field1912_0x9c6; - undefined field1913_0x9c7; - undefined field1914_0x9c8; - undefined field1915_0x9c9; - undefined field1916_0x9ca; - undefined field1917_0x9cb; - undefined field1918_0x9cc; - undefined field1919_0x9cd; - undefined field1920_0x9ce; - undefined field1921_0x9cf; - undefined field1922_0x9d0; - undefined field1923_0x9d1; - undefined field1924_0x9d2; - undefined field1925_0x9d3; - undefined field1926_0x9d4; - undefined field1927_0x9d5; - undefined field1928_0x9d6; - undefined field1929_0x9d7; - undefined field1930_0x9d8; - undefined field1931_0x9d9; - undefined field1932_0x9da; - undefined field1933_0x9db; - undefined field1934_0x9dc; - undefined field1935_0x9dd; - undefined field1936_0x9de; - undefined field1937_0x9df; - undefined field1938_0x9e0; - undefined field1939_0x9e1; - undefined field1940_0x9e2; - undefined field1941_0x9e3; - undefined field1942_0x9e4; - undefined field1943_0x9e5; - undefined field1944_0x9e6; - undefined field1945_0x9e7; - undefined field1946_0x9e8; - undefined field1947_0x9e9; - undefined field1948_0x9ea; - undefined field1949_0x9eb; - undefined field1950_0x9ec; - undefined field1951_0x9ed; - undefined field1952_0x9ee; - undefined field1953_0x9ef; - undefined field1954_0x9f0; - undefined field1955_0x9f1; - undefined field1956_0x9f2; - undefined field1957_0x9f3; - undefined field1958_0x9f4; - undefined field1959_0x9f5; - undefined field1960_0x9f6; - undefined field1961_0x9f7; - undefined field1962_0x9f8; - undefined field1963_0x9f9; - undefined field1964_0x9fa; - undefined field1965_0x9fb; - undefined field1966_0x9fc; - undefined field1967_0x9fd; - undefined field1968_0x9fe; - undefined field1969_0x9ff; - undefined field1970_0xa00; - undefined field1971_0xa01; - undefined field1972_0xa02; - undefined field1973_0xa03; - undefined field1974_0xa04; - undefined field1975_0xa05; - undefined field1976_0xa06; - undefined field1977_0xa07; - undefined field1978_0xa08; - undefined field1979_0xa09; - undefined field1980_0xa0a; - undefined field1981_0xa0b; - undefined field1982_0xa0c; - undefined field1983_0xa0d; - undefined field1984_0xa0e; - undefined field1985_0xa0f; - undefined field1986_0xa10; - undefined field1987_0xa11; - undefined field1988_0xa12; - undefined field1989_0xa13; - undefined field1990_0xa14; - undefined field1991_0xa15; - undefined field1992_0xa16; - undefined field1993_0xa17; - undefined field1994_0xa18; - undefined field1995_0xa19; - undefined field1996_0xa1a; - undefined field1997_0xa1b; - undefined field1998_0xa1c; - undefined field1999_0xa1d; - undefined field2000_0xa1e; - undefined field2001_0xa1f; - undefined field2002_0xa20; - undefined field2003_0xa21; - undefined field2004_0xa22; - undefined field2005_0xa23; - undefined field2006_0xa24; - undefined field2007_0xa25; - undefined field2008_0xa26; - undefined field2009_0xa27; - undefined field2010_0xa28; - undefined field2011_0xa29; - undefined field2012_0xa2a; - undefined field2013_0xa2b; - undefined field2014_0xa2c; - undefined field2015_0xa2d; - undefined field2016_0xa2e; - undefined field2017_0xa2f; - undefined field2018_0xa30; - undefined field2019_0xa31; - undefined field2020_0xa32; - undefined field2021_0xa33; - undefined field2022_0xa34; - undefined field2023_0xa35; - undefined field2024_0xa36; - undefined field2025_0xa37; - undefined field2026_0xa38; - undefined field2027_0xa39; - undefined field2028_0xa3a; - undefined field2029_0xa3b; - undefined field2030_0xa3c; - undefined field2031_0xa3d; - undefined field2032_0xa3e; - undefined field2033_0xa3f; - undefined field2034_0xa40; - undefined field2035_0xa41; - undefined field2036_0xa42; - undefined field2037_0xa43; - undefined field2038_0xa44; - undefined field2039_0xa45; - undefined field2040_0xa46; - undefined field2041_0xa47; - undefined field2042_0xa48; - undefined field2043_0xa49; - undefined field2044_0xa4a; - undefined field2045_0xa4b; - undefined field2046_0xa4c; - undefined field2047_0xa4d; - undefined field2048_0xa4e; - undefined field2049_0xa4f; - undefined field2050_0xa50; - undefined field2051_0xa51; - undefined field2052_0xa52; - undefined field2053_0xa53; - undefined field2054_0xa54; - undefined field2055_0xa55; - undefined field2056_0xa56; - undefined field2057_0xa57; - undefined field2058_0xa58; - undefined field2059_0xa59; - undefined field2060_0xa5a; - undefined field2061_0xa5b; - undefined field2062_0xa5c; - undefined field2063_0xa5d; - undefined field2064_0xa5e; - undefined field2065_0xa5f; - undefined field2066_0xa60; - undefined field2067_0xa61; - undefined field2068_0xa62; - undefined field2069_0xa63; - undefined field2070_0xa64; - undefined field2071_0xa65; - undefined field2072_0xa66; - undefined field2073_0xa67; - undefined field2074_0xa68; - undefined field2075_0xa69; - undefined field2076_0xa6a; - undefined field2077_0xa6b; - undefined field2078_0xa6c; - undefined field2079_0xa6d; - undefined field2080_0xa6e; - undefined field2081_0xa6f; - undefined field2082_0xa70; - undefined field2083_0xa71; - undefined field2084_0xa72; - undefined field2085_0xa73; - undefined field2086_0xa74; - undefined field2087_0xa75; - undefined field2088_0xa76; - undefined field2089_0xa77; - undefined field2090_0xa78; - undefined field2091_0xa79; - undefined field2092_0xa7a; - undefined field2093_0xa7b; - undefined field2094_0xa7c; - undefined field2095_0xa7d; - undefined field2096_0xa7e; - undefined field2097_0xa7f; - undefined field2098_0xa80; - undefined field2099_0xa81; - undefined field2100_0xa82; - undefined field2101_0xa83; - undefined field2102_0xa84; - undefined field2103_0xa85; - undefined field2104_0xa86; - undefined field2105_0xa87; - undefined field2106_0xa88; - undefined field2107_0xa89; - undefined field2108_0xa8a; - undefined field2109_0xa8b; - undefined field2110_0xa8c; - undefined field2111_0xa8d; - undefined field2112_0xa8e; - undefined field2113_0xa8f; - undefined field2114_0xa90; - undefined field2115_0xa91; - undefined field2116_0xa92; - undefined field2117_0xa93; - undefined field2118_0xa94; - undefined field2119_0xa95; - undefined field2120_0xa96; - undefined field2121_0xa97; - undefined field2122_0xa98; - undefined field2123_0xa99; - undefined field2124_0xa9a; - undefined field2125_0xa9b; - undefined field2126_0xa9c; - undefined field2127_0xa9d; - undefined field2128_0xa9e; - undefined field2129_0xa9f; - undefined field2130_0xaa0; - undefined field2131_0xaa1; - undefined field2132_0xaa2; - undefined field2133_0xaa3; - undefined field2134_0xaa4; - undefined field2135_0xaa5; - undefined field2136_0xaa6; - undefined field2137_0xaa7; - undefined field2138_0xaa8; - undefined field2139_0xaa9; - undefined field2140_0xaaa; - undefined field2141_0xaab; - undefined field2142_0xaac; - undefined field2143_0xaad; - undefined field2144_0xaae; - undefined field2145_0xaaf; - undefined field2146_0xab0; - undefined field2147_0xab1; - undefined field2148_0xab2; - undefined field2149_0xab3; - undefined field2150_0xab4; - undefined field2151_0xab5; - undefined field2152_0xab6; - undefined field2153_0xab7; - undefined field2154_0xab8; - undefined field2155_0xab9; - undefined field2156_0xaba; - undefined field2157_0xabb; - undefined field2158_0xabc; - undefined field2159_0xabd; - undefined field2160_0xabe; - undefined field2161_0xabf; - undefined field2162_0xac0; - undefined field2163_0xac1; - undefined field2164_0xac2; - undefined field2165_0xac3; - undefined field2166_0xac4; - undefined field2167_0xac5; - undefined field2168_0xac6; - undefined field2169_0xac7; - undefined field2170_0xac8; - undefined field2171_0xac9; - undefined field2172_0xaca; - undefined field2173_0xacb; - undefined field2174_0xacc; - undefined field2175_0xacd; - undefined field2176_0xace; - undefined field2177_0xacf; - undefined field2178_0xad0; - undefined field2179_0xad1; - undefined field2180_0xad2; - undefined field2181_0xad3; - undefined field2182_0xad4; - undefined field2183_0xad5; - undefined field2184_0xad6; - undefined field2185_0xad7; - undefined field2186_0xad8; - undefined field2187_0xad9; - undefined field2188_0xada; - undefined field2189_0xadb; - undefined field2190_0xadc; - undefined field2191_0xadd; - undefined field2192_0xade; - undefined field2193_0xadf; - undefined field2194_0xae0; - undefined field2195_0xae1; - undefined field2196_0xae2; - undefined field2197_0xae3; - undefined field2198_0xae4; - undefined field2199_0xae5; - undefined field2200_0xae6; - undefined field2201_0xae7; - undefined field2202_0xae8; - undefined field2203_0xae9; - undefined field2204_0xaea; - undefined field2205_0xaeb; - undefined field2206_0xaec; - undefined field2207_0xaed; - undefined field2208_0xaee; - undefined field2209_0xaef; - undefined field2210_0xaf0; - undefined field2211_0xaf1; - undefined field2212_0xaf2; - undefined field2213_0xaf3; - undefined field2214_0xaf4; - undefined field2215_0xaf5; - undefined field2216_0xaf6; - undefined field2217_0xaf7; - undefined field2218_0xaf8; - undefined field2219_0xaf9; - undefined field2220_0xafa; - undefined field2221_0xafb; - undefined field2222_0xafc; - undefined field2223_0xafd; - undefined field2224_0xafe; - undefined field2225_0xaff; - undefined field2226_0xb00; - undefined field2227_0xb01; - undefined field2228_0xb02; - undefined field2229_0xb03; - undefined field2230_0xb04; - undefined field2231_0xb05; - undefined field2232_0xb06; - undefined field2233_0xb07; - undefined field2234_0xb08; - undefined field2235_0xb09; - undefined field2236_0xb0a; - undefined field2237_0xb0b; - undefined field2238_0xb0c; - undefined field2239_0xb0d; - undefined field2240_0xb0e; - undefined field2241_0xb0f; - undefined field2242_0xb10; - undefined field2243_0xb11; - undefined field2244_0xb12; - undefined field2245_0xb13; - undefined field2246_0xb14; - undefined field2247_0xb15; - undefined field2248_0xb16; - undefined field2249_0xb17; - undefined field2250_0xb18; - undefined field2251_0xb19; - undefined field2252_0xb1a; - undefined field2253_0xb1b; - undefined field2254_0xb1c; - undefined field2255_0xb1d; - undefined field2256_0xb1e; - undefined field2257_0xb1f; - undefined field2258_0xb20; - undefined field2259_0xb21; - undefined field2260_0xb22; - undefined field2261_0xb23; - undefined field2262_0xb24; - undefined field2263_0xb25; - undefined field2264_0xb26; - undefined field2265_0xb27; - undefined field2266_0xb28; - undefined field2267_0xb29; - undefined field2268_0xb2a; - undefined field2269_0xb2b; - undefined field2270_0xb2c; - undefined field2271_0xb2d; - undefined field2272_0xb2e; - undefined field2273_0xb2f; - undefined field2274_0xb30; - undefined field2275_0xb31; - undefined field2276_0xb32; - undefined field2277_0xb33; - undefined field2278_0xb34; - undefined field2279_0xb35; - undefined field2280_0xb36; - undefined field2281_0xb37; - undefined field2282_0xb38; - undefined field2283_0xb39; - undefined field2284_0xb3a; - undefined field2285_0xb3b; - undefined field2286_0xb3c; - undefined field2287_0xb3d; - undefined field2288_0xb3e; - undefined field2289_0xb3f; - undefined field2290_0xb40; - undefined field2291_0xb41; - undefined field2292_0xb42; - undefined field2293_0xb43; - undefined field2294_0xb44; - undefined field2295_0xb45; - undefined field2296_0xb46; - undefined field2297_0xb47; - undefined field2298_0xb48; - undefined field2299_0xb49; - undefined field2300_0xb4a; - undefined field2301_0xb4b; - undefined field2302_0xb4c; - undefined field2303_0xb4d; - undefined field2304_0xb4e; - undefined field2305_0xb4f; - undefined field2306_0xb50; - undefined field2307_0xb51; - undefined field2308_0xb52; - undefined field2309_0xb53; - undefined field2310_0xb54; - undefined field2311_0xb55; - undefined field2312_0xb56; - undefined field2313_0xb57; - undefined field2314_0xb58; - undefined field2315_0xb59; - undefined field2316_0xb5a; - undefined field2317_0xb5b; - undefined field2318_0xb5c; - undefined field2319_0xb5d; - undefined field2320_0xb5e; - undefined field2321_0xb5f; - undefined field2322_0xb60; - undefined field2323_0xb61; - undefined field2324_0xb62; - undefined field2325_0xb63; - undefined field2326_0xb64; - undefined field2327_0xb65; - undefined field2328_0xb66; - undefined field2329_0xb67; - undefined field2330_0xb68; - undefined field2331_0xb69; - undefined field2332_0xb6a; - undefined field2333_0xb6b; - undefined field2334_0xb6c; - undefined field2335_0xb6d; - undefined field2336_0xb6e; - undefined field2337_0xb6f; - undefined field2338_0xb70; - undefined field2339_0xb71; - undefined field2340_0xb72; - undefined field2341_0xb73; - undefined field2342_0xb74; - undefined field2343_0xb75; - undefined field2344_0xb76; - undefined field2345_0xb77; - undefined field2346_0xb78; - undefined field2347_0xb79; - undefined field2348_0xb7a; - undefined field2349_0xb7b; - undefined field2350_0xb7c; - undefined field2351_0xb7d; - undefined field2352_0xb7e; - undefined field2353_0xb7f; - undefined field2354_0xb80; - undefined field2355_0xb81; - undefined field2356_0xb82; - undefined field2357_0xb83; - undefined field2358_0xb84; - undefined field2359_0xb85; - undefined field2360_0xb86; - undefined field2361_0xb87; - undefined field2362_0xb88; - undefined field2363_0xb89; - undefined field2364_0xb8a; - undefined field2365_0xb8b; - undefined field2366_0xb8c; - undefined field2367_0xb8d; - undefined field2368_0xb8e; - undefined field2369_0xb8f; - undefined field2370_0xb90; - undefined field2371_0xb91; - undefined field2372_0xb92; - undefined field2373_0xb93; - undefined field2374_0xb94; - undefined field2375_0xb95; - undefined field2376_0xb96; - undefined field2377_0xb97; - undefined field2378_0xb98; - undefined field2379_0xb99; - undefined field2380_0xb9a; - undefined field2381_0xb9b; - undefined field2382_0xb9c; - undefined field2383_0xb9d; - undefined field2384_0xb9e; - undefined field2385_0xb9f; - undefined field2386_0xba0; - undefined field2387_0xba1; - undefined field2388_0xba2; - undefined field2389_0xba3; - undefined field2390_0xba4; - undefined field2391_0xba5; - undefined field2392_0xba6; - undefined field2393_0xba7; - undefined field2394_0xba8; - undefined field2395_0xba9; - undefined field2396_0xbaa; - undefined field2397_0xbab; - undefined field2398_0xbac; - undefined field2399_0xbad; - undefined field2400_0xbae; - undefined field2401_0xbaf; - undefined field2402_0xbb0; - undefined field2403_0xbb1; - undefined field2404_0xbb2; - undefined field2405_0xbb3; - undefined field2406_0xbb4; - undefined field2407_0xbb5; - undefined field2408_0xbb6; - undefined field2409_0xbb7; - undefined field2410_0xbb8; - undefined field2411_0xbb9; - undefined field2412_0xbba; - undefined field2413_0xbbb; - undefined field2414_0xbbc; - undefined field2415_0xbbd; - undefined field2416_0xbbe; - undefined field2417_0xbbf; - undefined field2418_0xbc0; - undefined field2419_0xbc1; - undefined field2420_0xbc2; - undefined field2421_0xbc3; - undefined field2422_0xbc4; - undefined field2423_0xbc5; - undefined field2424_0xbc6; - undefined field2425_0xbc7; - undefined field2426_0xbc8; - undefined field2427_0xbc9; - undefined field2428_0xbca; - undefined field2429_0xbcb; - undefined field2430_0xbcc; - undefined field2431_0xbcd; - undefined field2432_0xbce; - undefined field2433_0xbcf; - undefined field2434_0xbd0; - undefined field2435_0xbd1; - undefined field2436_0xbd2; - undefined field2437_0xbd3; - undefined field2438_0xbd4; - undefined field2439_0xbd5; - undefined field2440_0xbd6; - undefined field2441_0xbd7; - undefined field2442_0xbd8; - undefined field2443_0xbd9; - undefined field2444_0xbda; - undefined field2445_0xbdb; - undefined field2446_0xbdc; - undefined field2447_0xbdd; - undefined field2448_0xbde; - undefined field2449_0xbdf; - undefined field2450_0xbe0; - undefined field2451_0xbe1; - undefined field2452_0xbe2; - undefined field2453_0xbe3; - undefined field2454_0xbe4; - undefined field2455_0xbe5; - undefined field2456_0xbe6; - undefined field2457_0xbe7; - undefined field2458_0xbe8; - undefined field2459_0xbe9; - undefined field2460_0xbea; - undefined field2461_0xbeb; - undefined field2462_0xbec; - undefined field2463_0xbed; - undefined field2464_0xbee; - undefined field2465_0xbef; - undefined field2466_0xbf0; - undefined field2467_0xbf1; - undefined field2468_0xbf2; - undefined field2469_0xbf3; - undefined field2470_0xbf4; - undefined field2471_0xbf5; - undefined field2472_0xbf6; - undefined field2473_0xbf7; - undefined field2474_0xbf8; - undefined field2475_0xbf9; - undefined field2476_0xbfa; - undefined field2477_0xbfb; - undefined field2478_0xbfc; - undefined field2479_0xbfd; - undefined field2480_0xbfe; - undefined field2481_0xbff; - undefined field2482_0xc00; - undefined field2483_0xc01; - undefined field2484_0xc02; - undefined field2485_0xc03; - undefined field2486_0xc04; - undefined field2487_0xc05; - undefined field2488_0xc06; - undefined field2489_0xc07; - undefined field2490_0xc08; - undefined field2491_0xc09; - undefined field2492_0xc0a; - undefined field2493_0xc0b; - undefined field2494_0xc0c; - undefined field2495_0xc0d; - undefined field2496_0xc0e; - undefined field2497_0xc0f; - undefined field2498_0xc10; - undefined field2499_0xc11; - undefined field2500_0xc12; - undefined field2501_0xc13; - undefined field2502_0xc14; - undefined field2503_0xc15; - undefined field2504_0xc16; - undefined field2505_0xc17; -}; - -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; -}; - -struct GLI_tdstViewportManagement { - struct HIE_tdstSuperObject *hCamera; - struct HIE_tdstSuperObject *hTempCamera; - struct GLI_Camera *p_stCamera; - ACP_tdxBool bValid; -}; - -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 tdstBubbleEffect_ tdstBubbleEffect_, *PtdstBubbleEffect_; - -typedef struct tdstBubbleEffect_ *GAM_tdxHandleToBubbleEffect; - -struct tdstBubbleEffect_ { -}; - -typedef struct tdstFootPath_ tdstFootPath_, *PtdstFootPath_; - -typedef struct tdstFootPath_ *GAM_tdxHandleToFootPathEffect; - -struct tdstFootPath_ { -}; - -typedef struct tdstWaterStreakEffect_ tdstWaterStreakEffect_, *PtdstWaterStreakEffect_; - -typedef struct tdstWaterStreakEffect_ *GAM_tdxHandleToWaterStreakEffect; - -struct tdstWaterStreakEffect_ { -}; - -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; - -typedef float GEO_tdxColorValue; - -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 void *GEO_tdxHandleToRadiosity; - -typedef struct GLD_Device GLD_Device, *PGLD_Device; - -typedef struct GLD_DeviceAttributes GLD_DeviceAttributes, *PGLD_DeviceAttributes; - -typedef struct GLD_stViewport GLD_stViewport, *PGLD_stViewport; - -typedef struct GLD_stViewport *GLD_tdpstViewport; - -typedef int BOOL; - -typedef float GLD_tdxValue; - -struct GLD_stViewport { - struct GLD_ViewportAttributes stViewAttrib; - uchar bIsLocked; -}; - -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; -}; - -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_stViewport GLD_tdstViewport; - -typedef struct GLI_tdstAnimatedTextureNode GLI_tdstAnimatedTextureNode, *PGLI_tdstAnimatedTextureNode; - -typedef struct GLI_tdstTexture GLI_tdstTexture, *PGLI_tdstTexture; - -struct GLI_tdstTexture { - 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_tdstTexture *p_TextureOfSubstitution; - uchar ucBilinearMode; - uchar ucCyclingMode; - char szFileName[128]; -}; - -struct GLI_tdstAnimatedTextureNode { - struct GLI_tdstTexture *p_stTexture; - float xDisplayTime; - struct GLI_tdstAnimatedTextureNode *p_stNextDisplayNode; -}; - -typedef struct GLI_tdstLight GLI_tdstLight, *PGLI_tdstLight; - -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; -}; - -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_tdstTexture *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 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 void *GMT_tdxHandleToGameMaterial; - -typedef struct _s_HandlerType HandlerType; - -typedef struct HIE_tdstSuperObject_ HIE_tdstSuperObject_, *PHIE_tdstSuperObject_; - -typedef union HIE_tduLinkedObject HIE_tduLinkedObject, *PHIE_tduLinkedObject; - -union HIE_tduLinkedObject { - struct HIE_tdstSuperObject *p_stSuperObject; - void *p_Void; -}; - -struct HIE_tdstSuperObject_ { - ulong ulTypeOfLinkedObject; - union HIE_tduLinkedObject hLinkedObject; - struct HIE_tdstSuperObject_ *hFirstElementDyn; - struct HIE_tdstSuperObject_ *hLastElementDyn; - long lNumberOfElementsDyn; - struct HIE_tdstSuperObject_ *hNextBrotherDyn; - struct HIE_tdstSuperObject_ *hPrevBrotherDyn; - struct HIE_tdstSuperObject_ *hFatherDyn; - POS_tdxHandleToPosition hLocalMatrix; - POS_tdxHandleToPosition hGlobalMatrix; - long lLastComputeFrame; - long lDrawModeMask; - ulong ulFlags; - void *hBoundingVolume; - float fTransparenceLevel; - struct MTH3_Vector stSemiLookAtVector; -}; - -typedef struct IDirectInput2A IDirectInput2A, *PIDirectInput2A; - -typedef struct IDirectInput2AVtbl IDirectInput2AVtbl, *PIDirectInput2AVtbl; - -typedef LONG HRESULT; - -typedef GUID IID; - -typedef DWORD ULONG; - -typedef struct IDirectInputDeviceA IDirectInputDeviceA, *PIDirectInputDeviceA; - -typedef struct IDirectInputDeviceA *LPDIRECTINPUTDEVICEA; - -typedef struct IUnknown *LPUNKNOWN; - -typedef struct DIDEVICEINSTANCEA *LPCDIDEVICEINSTANCEA; - -typedef BOOL (*LPDIENUMDEVICESCALLBACKA)(LPCDIDEVICEINSTANCEA, LPVOID); - -typedef GUID *LPGUID; - -typedef struct IDirectInputDeviceAVtbl IDirectInputDeviceAVtbl, *PIDirectInputDeviceAVtbl; - -typedef struct DIDEVCAPS *LPDIDEVCAPS; - -typedef struct DIDEVICEOBJECTINSTANCEA *LPCDIDEVICEOBJECTINSTANCEA; - -typedef BOOL (*LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA, LPVOID); - -typedef struct DIPROPHEADER *LPDIPROPHEADER; - -typedef struct DIPROPHEADER *LPCDIPROPHEADER; - -typedef struct DIDEVICEOBJECTDATA *LPDIDEVICEOBJECTDATA; - -typedef DIDATAFORMAT *LPCDIDATAFORMAT; - -typedef struct DIDEVICEOBJECTINSTANCEA *LPDIDEVICEOBJECTINSTANCEA; - -typedef struct DIDEVICEINSTANCEA *LPDIDEVICEINSTANCEA; - -struct IDirectInputDeviceAVtbl { - HRESULT (*QueryInterface)(struct IDirectInputDeviceA *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputDeviceA *); - ULONG (*Release)(struct IDirectInputDeviceA *); - HRESULT (*GetCapabilities)(struct IDirectInputDeviceA *, LPDIDEVCAPS); - HRESULT (*EnumObjects)(struct IDirectInputDeviceA *, LPDIENUMDEVICEOBJECTSCALLBACKA, LPVOID, DWORD); - HRESULT (*GetProperty)(struct IDirectInputDeviceA *, GUID *, LPDIPROPHEADER); - HRESULT (*SetProperty)(struct IDirectInputDeviceA *, GUID *, LPCDIPROPHEADER); - HRESULT (*Acquire)(struct IDirectInputDeviceA *); - HRESULT (*Unacquire)(struct IDirectInputDeviceA *); - HRESULT (*GetDeviceState)(struct IDirectInputDeviceA *, DWORD, LPVOID); - HRESULT (*GetDeviceData)(struct IDirectInputDeviceA *, DWORD, LPDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*SetDataFormat)(struct IDirectInputDeviceA *, LPCDIDATAFORMAT); - HRESULT (*SetEventNotification)(struct IDirectInputDeviceA *, HANDLE); - HRESULT (*SetCooperativeLevel)(struct IDirectInputDeviceA *, HWND, DWORD); - HRESULT (*GetObjectInfo)(struct IDirectInputDeviceA *, LPDIDEVICEOBJECTINSTANCEA, DWORD, DWORD); - HRESULT (*GetDeviceInfo)(struct IDirectInputDeviceA *, LPDIDEVICEINSTANCEA); - HRESULT (*RunControlPanel)(struct IDirectInputDeviceA *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInputDeviceA *, HINSTANCE, DWORD, GUID *); -}; - -struct IDirectInput2AVtbl { - HRESULT (*QueryInterface)(struct IDirectInput2A *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInput2A *); - ULONG (*Release)(struct IDirectInput2A *); - HRESULT (*CreateDevice)(struct IDirectInput2A *, GUID *, LPDIRECTINPUTDEVICEA *, LPUNKNOWN); - HRESULT (*EnumDevices)(struct IDirectInput2A *, DWORD, LPDIENUMDEVICESCALLBACKA, LPVOID, DWORD); - HRESULT (*GetDeviceStatus)(struct IDirectInput2A *, GUID *); - HRESULT (*RunControlPanel)(struct IDirectInput2A *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInput2A *, HINSTANCE, DWORD); - HRESULT (*FindDevice)(struct IDirectInput2A *, GUID *, LPCSTR, LPGUID); -}; - -struct IDirectInputDeviceA { - struct IDirectInputDeviceAVtbl *lpVtbl; -}; - -struct IDirectInput2A { - struct IDirectInput2AVtbl *lpVtbl; -}; - -typedef struct IDirectInput2W IDirectInput2W, *PIDirectInput2W; - -typedef struct IDirectInput2WVtbl IDirectInput2WVtbl, *PIDirectInput2WVtbl; - -typedef struct IDirectInputDeviceW IDirectInputDeviceW, *PIDirectInputDeviceW; - -typedef struct IDirectInputDeviceW *LPDIRECTINPUTDEVICEW; - -typedef struct DIDEVICEINSTANCEW *LPCDIDEVICEINSTANCEW; - -typedef BOOL (*LPDIENUMDEVICESCALLBACKW)(LPCDIDEVICEINSTANCEW, LPVOID); - -typedef struct IDirectInputDeviceWVtbl IDirectInputDeviceWVtbl, *PIDirectInputDeviceWVtbl; - -typedef struct DIDEVICEOBJECTINSTANCEW *LPCDIDEVICEOBJECTINSTANCEW; - -typedef BOOL (*LPDIENUMDEVICEOBJECTSCALLBACKW)(LPCDIDEVICEOBJECTINSTANCEW, LPVOID); - -typedef struct DIDEVICEOBJECTINSTANCEW *LPDIDEVICEOBJECTINSTANCEW; - -typedef struct DIDEVICEINSTANCEW *LPDIDEVICEINSTANCEW; - -struct IDirectInputDeviceWVtbl { - HRESULT (*QueryInterface)(struct IDirectInputDeviceW *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputDeviceW *); - ULONG (*Release)(struct IDirectInputDeviceW *); - HRESULT (*GetCapabilities)(struct IDirectInputDeviceW *, LPDIDEVCAPS); - HRESULT (*EnumObjects)(struct IDirectInputDeviceW *, LPDIENUMDEVICEOBJECTSCALLBACKW, LPVOID, DWORD); - HRESULT (*GetProperty)(struct IDirectInputDeviceW *, GUID *, LPDIPROPHEADER); - HRESULT (*SetProperty)(struct IDirectInputDeviceW *, GUID *, LPCDIPROPHEADER); - HRESULT (*Acquire)(struct IDirectInputDeviceW *); - HRESULT (*Unacquire)(struct IDirectInputDeviceW *); - HRESULT (*GetDeviceState)(struct IDirectInputDeviceW *, DWORD, LPVOID); - HRESULT (*GetDeviceData)(struct IDirectInputDeviceW *, DWORD, LPDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*SetDataFormat)(struct IDirectInputDeviceW *, LPCDIDATAFORMAT); - HRESULT (*SetEventNotification)(struct IDirectInputDeviceW *, HANDLE); - HRESULT (*SetCooperativeLevel)(struct IDirectInputDeviceW *, HWND, DWORD); - HRESULT (*GetObjectInfo)(struct IDirectInputDeviceW *, LPDIDEVICEOBJECTINSTANCEW, DWORD, DWORD); - HRESULT (*GetDeviceInfo)(struct IDirectInputDeviceW *, LPDIDEVICEINSTANCEW); - HRESULT (*RunControlPanel)(struct IDirectInputDeviceW *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInputDeviceW *, HINSTANCE, DWORD, GUID *); -}; - -struct IDirectInput2WVtbl { - HRESULT (*QueryInterface)(struct IDirectInput2W *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInput2W *); - ULONG (*Release)(struct IDirectInput2W *); - HRESULT (*CreateDevice)(struct IDirectInput2W *, GUID *, LPDIRECTINPUTDEVICEW *, LPUNKNOWN); - HRESULT (*EnumDevices)(struct IDirectInput2W *, DWORD, LPDIENUMDEVICESCALLBACKW, LPVOID, DWORD); - HRESULT (*GetDeviceStatus)(struct IDirectInput2W *, GUID *); - HRESULT (*RunControlPanel)(struct IDirectInput2W *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInput2W *, HINSTANCE, DWORD); - HRESULT (*FindDevice)(struct IDirectInput2W *, GUID *, LPCWSTR, LPGUID); -}; - -struct IDirectInput2W { - struct IDirectInput2WVtbl *lpVtbl; -}; - -struct IDirectInputDeviceW { - struct IDirectInputDeviceWVtbl *lpVtbl; -}; - -typedef struct IDirectInput7A IDirectInput7A, *PIDirectInput7A; - -typedef struct IDirectInput7AVtbl IDirectInput7AVtbl, *PIDirectInput7AVtbl; - -struct IDirectInput7A { - struct IDirectInput7AVtbl *lpVtbl; -}; - -struct IDirectInput7AVtbl { - HRESULT (*QueryInterface)(struct IDirectInput7A *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInput7A *); - ULONG (*Release)(struct IDirectInput7A *); - HRESULT (*CreateDevice)(struct IDirectInput7A *, GUID *, LPDIRECTINPUTDEVICEA *, LPUNKNOWN); - HRESULT (*EnumDevices)(struct IDirectInput7A *, DWORD, LPDIENUMDEVICESCALLBACKA, LPVOID, DWORD); - HRESULT (*GetDeviceStatus)(struct IDirectInput7A *, GUID *); - HRESULT (*RunControlPanel)(struct IDirectInput7A *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInput7A *, HINSTANCE, DWORD); - HRESULT (*FindDevice)(struct IDirectInput7A *, GUID *, LPCSTR, LPGUID); - HRESULT (*CreateDeviceEx)(struct IDirectInput7A *, GUID *, IID *, LPVOID *, LPUNKNOWN); -}; - -typedef struct IDirectInput7W IDirectInput7W, *PIDirectInput7W; - -typedef struct IDirectInput7WVtbl IDirectInput7WVtbl, *PIDirectInput7WVtbl; - -struct IDirectInput7WVtbl { - HRESULT (*QueryInterface)(struct IDirectInput7W *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInput7W *); - ULONG (*Release)(struct IDirectInput7W *); - HRESULT (*CreateDevice)(struct IDirectInput7W *, GUID *, LPDIRECTINPUTDEVICEW *, LPUNKNOWN); - HRESULT (*EnumDevices)(struct IDirectInput7W *, DWORD, LPDIENUMDEVICESCALLBACKW, LPVOID, DWORD); - HRESULT (*GetDeviceStatus)(struct IDirectInput7W *, GUID *); - HRESULT (*RunControlPanel)(struct IDirectInput7W *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInput7W *, HINSTANCE, DWORD); - HRESULT (*FindDevice)(struct IDirectInput7W *, GUID *, LPCWSTR, LPGUID); - HRESULT (*CreateDeviceEx)(struct IDirectInput7W *, GUID *, IID *, LPVOID *, LPUNKNOWN); -}; - -struct IDirectInput7W { - struct IDirectInput7WVtbl *lpVtbl; -}; - -typedef struct IDirectInput8A IDirectInput8A, *PIDirectInput8A; - -typedef struct IDirectInput8AVtbl IDirectInput8AVtbl, *PIDirectInput8AVtbl; - -typedef struct IDirectInputDevice8A IDirectInputDevice8A, *PIDirectInputDevice8A; - -typedef struct IDirectInputDevice8A *LPDIRECTINPUTDEVICE8A; - -typedef BOOL (*LPDIENUMDEVICESBYSEMANTICSCBA)(LPCDIDEVICEINSTANCEA, LPDIRECTINPUTDEVICE8A, DWORD, DWORD, LPVOID); - -typedef BOOL (*LPDICONFIGUREDEVICESCALLBACK)(struct IUnknown *, LPVOID); - -typedef struct _DICONFIGUREDEVICESPARAMSA *LPDICONFIGUREDEVICESPARAMSA; - -typedef struct IDirectInputDevice8AVtbl IDirectInputDevice8AVtbl, *PIDirectInputDevice8AVtbl; - -typedef struct IDirectInputEffect IDirectInputEffect, *PIDirectInputEffect; - -typedef struct IDirectInputEffect *LPDIRECTINPUTEFFECT; - -typedef struct DIEFFECTINFOA *LPCDIEFFECTINFOA; - -typedef BOOL (*LPDIENUMEFFECTSCALLBACKA)(LPCDIEFFECTINFOA, LPVOID); - -typedef struct DIEFFECTINFOA *LPDIEFFECTINFOA; - -typedef BOOL (*LPDIENUMCREATEDEFFECTOBJECTSCALLBACK)(LPDIRECTINPUTEFFECT, LPVOID); - -typedef struct DIEFFESCAPE *LPDIEFFESCAPE; - -typedef struct DIDEVICEOBJECTDATA *LPCDIDEVICEOBJECTDATA; - -typedef struct DIFILEEFFECT *LPCDIFILEEFFECT; - -typedef BOOL (*LPDIENUMEFFECTSINFILECALLBACK)(LPCDIFILEEFFECT, LPVOID); - -typedef struct DIFILEEFFECT *LPDIFILEEFFECT; - -typedef struct _DIDEVICEIMAGEINFOHEADERA *LPDIDEVICEIMAGEINFOHEADERA; - -typedef struct IDirectInputEffectVtbl IDirectInputEffectVtbl, *PIDirectInputEffectVtbl; - -typedef struct DIEFFECT *LPDIEFFECT; - -struct IDirectInput8AVtbl { - HRESULT (*QueryInterface)(struct IDirectInput8A *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInput8A *); - ULONG (*Release)(struct IDirectInput8A *); - HRESULT (*CreateDevice)(struct IDirectInput8A *, GUID *, LPDIRECTINPUTDEVICE8A *, LPUNKNOWN); - HRESULT (*EnumDevices)(struct IDirectInput8A *, DWORD, LPDIENUMDEVICESCALLBACKA, LPVOID, DWORD); - HRESULT (*GetDeviceStatus)(struct IDirectInput8A *, GUID *); - HRESULT (*RunControlPanel)(struct IDirectInput8A *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInput8A *, HINSTANCE, DWORD); - HRESULT (*FindDevice)(struct IDirectInput8A *, GUID *, LPCSTR, LPGUID); - HRESULT (*EnumDevicesBySemantics)(struct IDirectInput8A *, LPCSTR, LPDIACTIONFORMATA, LPDIENUMDEVICESBYSEMANTICSCBA, LPVOID, DWORD); - HRESULT (*ConfigureDevices)(struct IDirectInput8A *, LPDICONFIGUREDEVICESCALLBACK, LPDICONFIGUREDEVICESPARAMSA, DWORD, LPVOID); -}; - -struct IDirectInputEffect { - struct IDirectInputEffectVtbl *lpVtbl; -}; - -struct IDirectInputDevice8A { - struct IDirectInputDevice8AVtbl *lpVtbl; -}; - -struct IDirectInputEffectVtbl { - HRESULT (*QueryInterface)(struct IDirectInputEffect *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputEffect *); - ULONG (*Release)(struct IDirectInputEffect *); - HRESULT (*Initialize)(struct IDirectInputEffect *, HINSTANCE, DWORD, GUID *); - HRESULT (*GetEffectGuid)(struct IDirectInputEffect *, LPGUID); - HRESULT (*GetParameters)(struct IDirectInputEffect *, LPDIEFFECT, DWORD); - HRESULT (*SetParameters)(struct IDirectInputEffect *, LPCDIEFFECT, DWORD); - HRESULT (*Start)(struct IDirectInputEffect *, DWORD, DWORD); - HRESULT (*Stop)(struct IDirectInputEffect *); - HRESULT (*GetEffectStatus)(struct IDirectInputEffect *, LPDWORD); - HRESULT (*Download)(struct IDirectInputEffect *); - HRESULT (*Unload)(struct IDirectInputEffect *); - HRESULT (*Escape)(struct IDirectInputEffect *, LPDIEFFESCAPE); -}; - -struct IDirectInputDevice8AVtbl { - HRESULT (*QueryInterface)(struct IDirectInputDevice8A *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputDevice8A *); - ULONG (*Release)(struct IDirectInputDevice8A *); - HRESULT (*GetCapabilities)(struct IDirectInputDevice8A *, LPDIDEVCAPS); - HRESULT (*EnumObjects)(struct IDirectInputDevice8A *, LPDIENUMDEVICEOBJECTSCALLBACKA, LPVOID, DWORD); - HRESULT (*GetProperty)(struct IDirectInputDevice8A *, GUID *, LPDIPROPHEADER); - HRESULT (*SetProperty)(struct IDirectInputDevice8A *, GUID *, LPCDIPROPHEADER); - HRESULT (*Acquire)(struct IDirectInputDevice8A *); - HRESULT (*Unacquire)(struct IDirectInputDevice8A *); - HRESULT (*GetDeviceState)(struct IDirectInputDevice8A *, DWORD, LPVOID); - HRESULT (*GetDeviceData)(struct IDirectInputDevice8A *, DWORD, LPDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*SetDataFormat)(struct IDirectInputDevice8A *, LPCDIDATAFORMAT); - HRESULT (*SetEventNotification)(struct IDirectInputDevice8A *, HANDLE); - HRESULT (*SetCooperativeLevel)(struct IDirectInputDevice8A *, HWND, DWORD); - HRESULT (*GetObjectInfo)(struct IDirectInputDevice8A *, LPDIDEVICEOBJECTINSTANCEA, DWORD, DWORD); - HRESULT (*GetDeviceInfo)(struct IDirectInputDevice8A *, LPDIDEVICEINSTANCEA); - HRESULT (*RunControlPanel)(struct IDirectInputDevice8A *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInputDevice8A *, HINSTANCE, DWORD, GUID *); - HRESULT (*CreateEffect)(struct IDirectInputDevice8A *, GUID *, LPCDIEFFECT, LPDIRECTINPUTEFFECT *, LPUNKNOWN); - HRESULT (*EnumEffects)(struct IDirectInputDevice8A *, LPDIENUMEFFECTSCALLBACKA, LPVOID, DWORD); - HRESULT (*GetEffectInfo)(struct IDirectInputDevice8A *, LPDIEFFECTINFOA, GUID *); - HRESULT (*GetForceFeedbackState)(struct IDirectInputDevice8A *, LPDWORD); - HRESULT (*SendForceFeedbackCommand)(struct IDirectInputDevice8A *, DWORD); - HRESULT (*EnumCreatedEffectObjects)(struct IDirectInputDevice8A *, LPDIENUMCREATEDEFFECTOBJECTSCALLBACK, LPVOID, DWORD); - HRESULT (*Escape)(struct IDirectInputDevice8A *, LPDIEFFESCAPE); - HRESULT (*Poll)(struct IDirectInputDevice8A *); - HRESULT (*SendDeviceData)(struct IDirectInputDevice8A *, DWORD, LPCDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*EnumEffectsInFile)(struct IDirectInputDevice8A *, LPCSTR, LPDIENUMEFFECTSINFILECALLBACK, LPVOID, DWORD); - HRESULT (*WriteEffectToFile)(struct IDirectInputDevice8A *, LPCSTR, DWORD, LPDIFILEEFFECT, DWORD); - HRESULT (*BuildActionMap)(struct IDirectInputDevice8A *, LPDIACTIONFORMATA, LPCSTR, DWORD); - HRESULT (*SetActionMap)(struct IDirectInputDevice8A *, LPDIACTIONFORMATA, LPCSTR, DWORD); - HRESULT (*GetImageInfo)(struct IDirectInputDevice8A *, LPDIDEVICEIMAGEINFOHEADERA); -}; - -struct IDirectInput8A { - struct IDirectInput8AVtbl *lpVtbl; -}; - -typedef struct IDirectInput8W IDirectInput8W, *PIDirectInput8W; - -typedef struct IDirectInput8WVtbl IDirectInput8WVtbl, *PIDirectInput8WVtbl; - -typedef struct IDirectInputDevice8W IDirectInputDevice8W, *PIDirectInputDevice8W; - -typedef struct IDirectInputDevice8W *LPDIRECTINPUTDEVICE8W; - -typedef BOOL (*LPDIENUMDEVICESBYSEMANTICSCBW)(LPCDIDEVICEINSTANCEW, LPDIRECTINPUTDEVICE8W, DWORD, DWORD, LPVOID); - -typedef struct _DICONFIGUREDEVICESPARAMSW *LPDICONFIGUREDEVICESPARAMSW; - -typedef struct IDirectInputDevice8WVtbl IDirectInputDevice8WVtbl, *PIDirectInputDevice8WVtbl; - -typedef struct DIEFFECTINFOW *LPCDIEFFECTINFOW; - -typedef BOOL (*LPDIENUMEFFECTSCALLBACKW)(LPCDIEFFECTINFOW, LPVOID); - -typedef struct DIEFFECTINFOW *LPDIEFFECTINFOW; - -typedef struct _DIDEVICEIMAGEINFOHEADERW *LPDIDEVICEIMAGEINFOHEADERW; - -struct IDirectInput8W { - struct IDirectInput8WVtbl *lpVtbl; -}; - -struct IDirectInputDevice8WVtbl { - HRESULT (*QueryInterface)(struct IDirectInputDevice8W *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputDevice8W *); - ULONG (*Release)(struct IDirectInputDevice8W *); - HRESULT (*GetCapabilities)(struct IDirectInputDevice8W *, LPDIDEVCAPS); - HRESULT (*EnumObjects)(struct IDirectInputDevice8W *, LPDIENUMDEVICEOBJECTSCALLBACKW, LPVOID, DWORD); - HRESULT (*GetProperty)(struct IDirectInputDevice8W *, GUID *, LPDIPROPHEADER); - HRESULT (*SetProperty)(struct IDirectInputDevice8W *, GUID *, LPCDIPROPHEADER); - HRESULT (*Acquire)(struct IDirectInputDevice8W *); - HRESULT (*Unacquire)(struct IDirectInputDevice8W *); - HRESULT (*GetDeviceState)(struct IDirectInputDevice8W *, DWORD, LPVOID); - HRESULT (*GetDeviceData)(struct IDirectInputDevice8W *, DWORD, LPDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*SetDataFormat)(struct IDirectInputDevice8W *, LPCDIDATAFORMAT); - HRESULT (*SetEventNotification)(struct IDirectInputDevice8W *, HANDLE); - HRESULT (*SetCooperativeLevel)(struct IDirectInputDevice8W *, HWND, DWORD); - HRESULT (*GetObjectInfo)(struct IDirectInputDevice8W *, LPDIDEVICEOBJECTINSTANCEW, DWORD, DWORD); - HRESULT (*GetDeviceInfo)(struct IDirectInputDevice8W *, LPDIDEVICEINSTANCEW); - HRESULT (*RunControlPanel)(struct IDirectInputDevice8W *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInputDevice8W *, HINSTANCE, DWORD, GUID *); - HRESULT (*CreateEffect)(struct IDirectInputDevice8W *, GUID *, LPCDIEFFECT, LPDIRECTINPUTEFFECT *, LPUNKNOWN); - HRESULT (*EnumEffects)(struct IDirectInputDevice8W *, LPDIENUMEFFECTSCALLBACKW, LPVOID, DWORD); - HRESULT (*GetEffectInfo)(struct IDirectInputDevice8W *, LPDIEFFECTINFOW, GUID *); - HRESULT (*GetForceFeedbackState)(struct IDirectInputDevice8W *, LPDWORD); - HRESULT (*SendForceFeedbackCommand)(struct IDirectInputDevice8W *, DWORD); - HRESULT (*EnumCreatedEffectObjects)(struct IDirectInputDevice8W *, LPDIENUMCREATEDEFFECTOBJECTSCALLBACK, LPVOID, DWORD); - HRESULT (*Escape)(struct IDirectInputDevice8W *, LPDIEFFESCAPE); - HRESULT (*Poll)(struct IDirectInputDevice8W *); - HRESULT (*SendDeviceData)(struct IDirectInputDevice8W *, DWORD, LPCDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*EnumEffectsInFile)(struct IDirectInputDevice8W *, LPCWSTR, LPDIENUMEFFECTSINFILECALLBACK, LPVOID, DWORD); - HRESULT (*WriteEffectToFile)(struct IDirectInputDevice8W *, LPCWSTR, DWORD, LPDIFILEEFFECT, DWORD); - HRESULT (*BuildActionMap)(struct IDirectInputDevice8W *, LPDIACTIONFORMATW, LPCWSTR, DWORD); - HRESULT (*SetActionMap)(struct IDirectInputDevice8W *, LPDIACTIONFORMATW, LPCWSTR, DWORD); - HRESULT (*GetImageInfo)(struct IDirectInputDevice8W *, LPDIDEVICEIMAGEINFOHEADERW); -}; - -struct IDirectInputDevice8W { - struct IDirectInputDevice8WVtbl *lpVtbl; -}; - -struct IDirectInput8WVtbl { - HRESULT (*QueryInterface)(struct IDirectInput8W *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInput8W *); - ULONG (*Release)(struct IDirectInput8W *); - HRESULT (*CreateDevice)(struct IDirectInput8W *, GUID *, LPDIRECTINPUTDEVICE8W *, LPUNKNOWN); - HRESULT (*EnumDevices)(struct IDirectInput8W *, DWORD, LPDIENUMDEVICESCALLBACKW, LPVOID, DWORD); - HRESULT (*GetDeviceStatus)(struct IDirectInput8W *, GUID *); - HRESULT (*RunControlPanel)(struct IDirectInput8W *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInput8W *, HINSTANCE, DWORD); - HRESULT (*FindDevice)(struct IDirectInput8W *, GUID *, LPCWSTR, LPGUID); - HRESULT (*EnumDevicesBySemantics)(struct IDirectInput8W *, LPCWSTR, LPDIACTIONFORMATW, LPDIENUMDEVICESBYSEMANTICSCBW, LPVOID, DWORD); - HRESULT (*ConfigureDevices)(struct IDirectInput8W *, LPDICONFIGUREDEVICESCALLBACK, LPDICONFIGUREDEVICESPARAMSW, DWORD, LPVOID); -}; - -typedef struct IDirectInputA IDirectInputA, *PIDirectInputA; - -typedef struct IDirectInputAVtbl IDirectInputAVtbl, *PIDirectInputAVtbl; - -struct IDirectInputA { - struct IDirectInputAVtbl *lpVtbl; -}; - -struct IDirectInputAVtbl { - HRESULT (*QueryInterface)(struct IDirectInputA *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputA *); - ULONG (*Release)(struct IDirectInputA *); - HRESULT (*CreateDevice)(struct IDirectInputA *, GUID *, LPDIRECTINPUTDEVICEA *, LPUNKNOWN); - HRESULT (*EnumDevices)(struct IDirectInputA *, DWORD, LPDIENUMDEVICESCALLBACKA, LPVOID, DWORD); - HRESULT (*GetDeviceStatus)(struct IDirectInputA *, GUID *); - HRESULT (*RunControlPanel)(struct IDirectInputA *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInputA *, HINSTANCE, DWORD); -}; - -typedef struct IDirectInputDevice2A IDirectInputDevice2A, *PIDirectInputDevice2A; - -typedef struct IDirectInputDevice2AVtbl IDirectInputDevice2AVtbl, *PIDirectInputDevice2AVtbl; - -struct IDirectInputDevice2A { - struct IDirectInputDevice2AVtbl *lpVtbl; -}; - -struct IDirectInputDevice2AVtbl { - HRESULT (*QueryInterface)(struct IDirectInputDevice2A *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputDevice2A *); - ULONG (*Release)(struct IDirectInputDevice2A *); - HRESULT (*GetCapabilities)(struct IDirectInputDevice2A *, LPDIDEVCAPS); - HRESULT (*EnumObjects)(struct IDirectInputDevice2A *, LPDIENUMDEVICEOBJECTSCALLBACKA, LPVOID, DWORD); - HRESULT (*GetProperty)(struct IDirectInputDevice2A *, GUID *, LPDIPROPHEADER); - HRESULT (*SetProperty)(struct IDirectInputDevice2A *, GUID *, LPCDIPROPHEADER); - HRESULT (*Acquire)(struct IDirectInputDevice2A *); - HRESULT (*Unacquire)(struct IDirectInputDevice2A *); - HRESULT (*GetDeviceState)(struct IDirectInputDevice2A *, DWORD, LPVOID); - HRESULT (*GetDeviceData)(struct IDirectInputDevice2A *, DWORD, LPDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*SetDataFormat)(struct IDirectInputDevice2A *, LPCDIDATAFORMAT); - HRESULT (*SetEventNotification)(struct IDirectInputDevice2A *, HANDLE); - HRESULT (*SetCooperativeLevel)(struct IDirectInputDevice2A *, HWND, DWORD); - HRESULT (*GetObjectInfo)(struct IDirectInputDevice2A *, LPDIDEVICEOBJECTINSTANCEA, DWORD, DWORD); - HRESULT (*GetDeviceInfo)(struct IDirectInputDevice2A *, LPDIDEVICEINSTANCEA); - HRESULT (*RunControlPanel)(struct IDirectInputDevice2A *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInputDevice2A *, HINSTANCE, DWORD, GUID *); - HRESULT (*CreateEffect)(struct IDirectInputDevice2A *, GUID *, LPCDIEFFECT, LPDIRECTINPUTEFFECT *, LPUNKNOWN); - HRESULT (*EnumEffects)(struct IDirectInputDevice2A *, LPDIENUMEFFECTSCALLBACKA, LPVOID, DWORD); - HRESULT (*GetEffectInfo)(struct IDirectInputDevice2A *, LPDIEFFECTINFOA, GUID *); - HRESULT (*GetForceFeedbackState)(struct IDirectInputDevice2A *, LPDWORD); - HRESULT (*SendForceFeedbackCommand)(struct IDirectInputDevice2A *, DWORD); - HRESULT (*EnumCreatedEffectObjects)(struct IDirectInputDevice2A *, LPDIENUMCREATEDEFFECTOBJECTSCALLBACK, LPVOID, DWORD); - HRESULT (*Escape)(struct IDirectInputDevice2A *, LPDIEFFESCAPE); - HRESULT (*Poll)(struct IDirectInputDevice2A *); - HRESULT (*SendDeviceData)(struct IDirectInputDevice2A *, DWORD, LPCDIDEVICEOBJECTDATA, LPDWORD, DWORD); -}; - -typedef struct IDirectInputDevice2W IDirectInputDevice2W, *PIDirectInputDevice2W; - -typedef struct IDirectInputDevice2WVtbl IDirectInputDevice2WVtbl, *PIDirectInputDevice2WVtbl; - -struct IDirectInputDevice2W { - struct IDirectInputDevice2WVtbl *lpVtbl; -}; - -struct IDirectInputDevice2WVtbl { - HRESULT (*QueryInterface)(struct IDirectInputDevice2W *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputDevice2W *); - ULONG (*Release)(struct IDirectInputDevice2W *); - HRESULT (*GetCapabilities)(struct IDirectInputDevice2W *, LPDIDEVCAPS); - HRESULT (*EnumObjects)(struct IDirectInputDevice2W *, LPDIENUMDEVICEOBJECTSCALLBACKW, LPVOID, DWORD); - HRESULT (*GetProperty)(struct IDirectInputDevice2W *, GUID *, LPDIPROPHEADER); - HRESULT (*SetProperty)(struct IDirectInputDevice2W *, GUID *, LPCDIPROPHEADER); - HRESULT (*Acquire)(struct IDirectInputDevice2W *); - HRESULT (*Unacquire)(struct IDirectInputDevice2W *); - HRESULT (*GetDeviceState)(struct IDirectInputDevice2W *, DWORD, LPVOID); - HRESULT (*GetDeviceData)(struct IDirectInputDevice2W *, DWORD, LPDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*SetDataFormat)(struct IDirectInputDevice2W *, LPCDIDATAFORMAT); - HRESULT (*SetEventNotification)(struct IDirectInputDevice2W *, HANDLE); - HRESULT (*SetCooperativeLevel)(struct IDirectInputDevice2W *, HWND, DWORD); - HRESULT (*GetObjectInfo)(struct IDirectInputDevice2W *, LPDIDEVICEOBJECTINSTANCEW, DWORD, DWORD); - HRESULT (*GetDeviceInfo)(struct IDirectInputDevice2W *, LPDIDEVICEINSTANCEW); - HRESULT (*RunControlPanel)(struct IDirectInputDevice2W *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInputDevice2W *, HINSTANCE, DWORD, GUID *); - HRESULT (*CreateEffect)(struct IDirectInputDevice2W *, GUID *, LPCDIEFFECT, LPDIRECTINPUTEFFECT *, LPUNKNOWN); - HRESULT (*EnumEffects)(struct IDirectInputDevice2W *, LPDIENUMEFFECTSCALLBACKW, LPVOID, DWORD); - HRESULT (*GetEffectInfo)(struct IDirectInputDevice2W *, LPDIEFFECTINFOW, GUID *); - HRESULT (*GetForceFeedbackState)(struct IDirectInputDevice2W *, LPDWORD); - HRESULT (*SendForceFeedbackCommand)(struct IDirectInputDevice2W *, DWORD); - HRESULT (*EnumCreatedEffectObjects)(struct IDirectInputDevice2W *, LPDIENUMCREATEDEFFECTOBJECTSCALLBACK, LPVOID, DWORD); - HRESULT (*Escape)(struct IDirectInputDevice2W *, LPDIEFFESCAPE); - HRESULT (*Poll)(struct IDirectInputDevice2W *); - HRESULT (*SendDeviceData)(struct IDirectInputDevice2W *, DWORD, LPCDIDEVICEOBJECTDATA, LPDWORD, DWORD); -}; - -typedef struct IDirectInputDevice7A IDirectInputDevice7A, *PIDirectInputDevice7A; - -typedef struct IDirectInputDevice7AVtbl IDirectInputDevice7AVtbl, *PIDirectInputDevice7AVtbl; - -struct IDirectInputDevice7A { - struct IDirectInputDevice7AVtbl *lpVtbl; -}; - -struct IDirectInputDevice7AVtbl { - HRESULT (*QueryInterface)(struct IDirectInputDevice7A *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputDevice7A *); - ULONG (*Release)(struct IDirectInputDevice7A *); - HRESULT (*GetCapabilities)(struct IDirectInputDevice7A *, LPDIDEVCAPS); - HRESULT (*EnumObjects)(struct IDirectInputDevice7A *, LPDIENUMDEVICEOBJECTSCALLBACKA, LPVOID, DWORD); - HRESULT (*GetProperty)(struct IDirectInputDevice7A *, GUID *, LPDIPROPHEADER); - HRESULT (*SetProperty)(struct IDirectInputDevice7A *, GUID *, LPCDIPROPHEADER); - HRESULT (*Acquire)(struct IDirectInputDevice7A *); - HRESULT (*Unacquire)(struct IDirectInputDevice7A *); - HRESULT (*GetDeviceState)(struct IDirectInputDevice7A *, DWORD, LPVOID); - HRESULT (*GetDeviceData)(struct IDirectInputDevice7A *, DWORD, LPDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*SetDataFormat)(struct IDirectInputDevice7A *, LPCDIDATAFORMAT); - HRESULT (*SetEventNotification)(struct IDirectInputDevice7A *, HANDLE); - HRESULT (*SetCooperativeLevel)(struct IDirectInputDevice7A *, HWND, DWORD); - HRESULT (*GetObjectInfo)(struct IDirectInputDevice7A *, LPDIDEVICEOBJECTINSTANCEA, DWORD, DWORD); - HRESULT (*GetDeviceInfo)(struct IDirectInputDevice7A *, LPDIDEVICEINSTANCEA); - HRESULT (*RunControlPanel)(struct IDirectInputDevice7A *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInputDevice7A *, HINSTANCE, DWORD, GUID *); - HRESULT (*CreateEffect)(struct IDirectInputDevice7A *, GUID *, LPCDIEFFECT, LPDIRECTINPUTEFFECT *, LPUNKNOWN); - HRESULT (*EnumEffects)(struct IDirectInputDevice7A *, LPDIENUMEFFECTSCALLBACKA, LPVOID, DWORD); - HRESULT (*GetEffectInfo)(struct IDirectInputDevice7A *, LPDIEFFECTINFOA, GUID *); - HRESULT (*GetForceFeedbackState)(struct IDirectInputDevice7A *, LPDWORD); - HRESULT (*SendForceFeedbackCommand)(struct IDirectInputDevice7A *, DWORD); - HRESULT (*EnumCreatedEffectObjects)(struct IDirectInputDevice7A *, LPDIENUMCREATEDEFFECTOBJECTSCALLBACK, LPVOID, DWORD); - HRESULT (*Escape)(struct IDirectInputDevice7A *, LPDIEFFESCAPE); - HRESULT (*Poll)(struct IDirectInputDevice7A *); - HRESULT (*SendDeviceData)(struct IDirectInputDevice7A *, DWORD, LPCDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*EnumEffectsInFile)(struct IDirectInputDevice7A *, LPCSTR, LPDIENUMEFFECTSINFILECALLBACK, LPVOID, DWORD); - HRESULT (*WriteEffectToFile)(struct IDirectInputDevice7A *, LPCSTR, DWORD, LPDIFILEEFFECT, DWORD); -}; - -typedef struct IDirectInputDevice7W IDirectInputDevice7W, *PIDirectInputDevice7W; - -typedef struct IDirectInputDevice7WVtbl IDirectInputDevice7WVtbl, *PIDirectInputDevice7WVtbl; - -struct IDirectInputDevice7WVtbl { - HRESULT (*QueryInterface)(struct IDirectInputDevice7W *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputDevice7W *); - ULONG (*Release)(struct IDirectInputDevice7W *); - HRESULT (*GetCapabilities)(struct IDirectInputDevice7W *, LPDIDEVCAPS); - HRESULT (*EnumObjects)(struct IDirectInputDevice7W *, LPDIENUMDEVICEOBJECTSCALLBACKW, LPVOID, DWORD); - HRESULT (*GetProperty)(struct IDirectInputDevice7W *, GUID *, LPDIPROPHEADER); - HRESULT (*SetProperty)(struct IDirectInputDevice7W *, GUID *, LPCDIPROPHEADER); - HRESULT (*Acquire)(struct IDirectInputDevice7W *); - HRESULT (*Unacquire)(struct IDirectInputDevice7W *); - HRESULT (*GetDeviceState)(struct IDirectInputDevice7W *, DWORD, LPVOID); - HRESULT (*GetDeviceData)(struct IDirectInputDevice7W *, DWORD, LPDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*SetDataFormat)(struct IDirectInputDevice7W *, LPCDIDATAFORMAT); - HRESULT (*SetEventNotification)(struct IDirectInputDevice7W *, HANDLE); - HRESULT (*SetCooperativeLevel)(struct IDirectInputDevice7W *, HWND, DWORD); - HRESULT (*GetObjectInfo)(struct IDirectInputDevice7W *, LPDIDEVICEOBJECTINSTANCEW, DWORD, DWORD); - HRESULT (*GetDeviceInfo)(struct IDirectInputDevice7W *, LPDIDEVICEINSTANCEW); - HRESULT (*RunControlPanel)(struct IDirectInputDevice7W *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInputDevice7W *, HINSTANCE, DWORD, GUID *); - HRESULT (*CreateEffect)(struct IDirectInputDevice7W *, GUID *, LPCDIEFFECT, LPDIRECTINPUTEFFECT *, LPUNKNOWN); - HRESULT (*EnumEffects)(struct IDirectInputDevice7W *, LPDIENUMEFFECTSCALLBACKW, LPVOID, DWORD); - HRESULT (*GetEffectInfo)(struct IDirectInputDevice7W *, LPDIEFFECTINFOW, GUID *); - HRESULT (*GetForceFeedbackState)(struct IDirectInputDevice7W *, LPDWORD); - HRESULT (*SendForceFeedbackCommand)(struct IDirectInputDevice7W *, DWORD); - HRESULT (*EnumCreatedEffectObjects)(struct IDirectInputDevice7W *, LPDIENUMCREATEDEFFECTOBJECTSCALLBACK, LPVOID, DWORD); - HRESULT (*Escape)(struct IDirectInputDevice7W *, LPDIEFFESCAPE); - HRESULT (*Poll)(struct IDirectInputDevice7W *); - HRESULT (*SendDeviceData)(struct IDirectInputDevice7W *, DWORD, LPCDIDEVICEOBJECTDATA, LPDWORD, DWORD); - HRESULT (*EnumEffectsInFile)(struct IDirectInputDevice7W *, LPCWSTR, LPDIENUMEFFECTSINFILECALLBACK, LPVOID, DWORD); - HRESULT (*WriteEffectToFile)(struct IDirectInputDevice7W *, LPCWSTR, DWORD, LPDIFILEEFFECT, DWORD); -}; - -struct IDirectInputDevice7W { - struct IDirectInputDevice7WVtbl *lpVtbl; -}; - -typedef struct IDirectInputW IDirectInputW, *PIDirectInputW; - -typedef struct IDirectInputWVtbl IDirectInputWVtbl, *PIDirectInputWVtbl; - -struct IDirectInputW { - struct IDirectInputWVtbl *lpVtbl; -}; - -struct IDirectInputWVtbl { - HRESULT (*QueryInterface)(struct IDirectInputW *, IID *, LPVOID *); - ULONG (*AddRef)(struct IDirectInputW *); - ULONG (*Release)(struct IDirectInputW *); - HRESULT (*CreateDevice)(struct IDirectInputW *, GUID *, LPDIRECTINPUTDEVICEW *, LPUNKNOWN); - HRESULT (*EnumDevices)(struct IDirectInputW *, DWORD, LPDIENUMDEVICESCALLBACKW, LPVOID, DWORD); - HRESULT (*GetDeviceStatus)(struct IDirectInputW *, GUID *); - HRESULT (*RunControlPanel)(struct IDirectInputW *, HWND, DWORD); - HRESULT (*Initialize)(struct IDirectInputW *, HINSTANCE, DWORD); -}; - -typedef struct INO_Device INO_Device, *PINO_Device; - -typedef struct stDevCaps stDevCaps, *PstDevCaps; - -typedef struct stDevCaps INO_tdstDevCaps; - -typedef struct stDevState stDevState, *PstDevState; - -typedef struct stDevState INO_tdstDevState; - -typedef short (*INO_fn_wMethod)(undefined); - -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; -}; - -struct stDevCaps { - uchar m_ucNbButtons; - ulong m_ulCapsFlags; -}; - -struct stDevState { - uchar m_ucStatus; -}; - -typedef struct INO_Device *INO_DeviceHandle; - -typedef struct INO_stDIDevice INO_stDIDevice, *PINO_stDIDevice; - -typedef struct IDirectInputDeviceA *LPDIRECTINPUTDEVICE; - -typedef struct IDirectInputDevice2A *LPDIRECTINPUTDEVICE2; - -struct INO_stDIDevice { - 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; - undefined field64_0x28d; - undefined field65_0x28e; - undefined field66_0x28f; - undefined field67_0x290; - undefined field68_0x291; - undefined field69_0x292; - undefined field70_0x293; - undefined field71_0x294; - undefined field72_0x295; - undefined field73_0x296; - undefined field74_0x297; - undefined field75_0x298; - undefined field76_0x299; - undefined field77_0x29a; - undefined field78_0x29b; - undefined field79_0x29c; - undefined field80_0x29d; - undefined field81_0x29e; - undefined field82_0x29f; - undefined field83_0x2a0; - undefined field84_0x2a1; - undefined field85_0x2a2; - undefined field86_0x2a3; - undefined field87_0x2a4; - undefined field88_0x2a5; - undefined field89_0x2a6; - undefined field90_0x2a7; - undefined field91_0x2a8; - undefined field92_0x2a9; - undefined field93_0x2aa; - undefined field94_0x2ab; - undefined field95_0x2ac; - undefined field96_0x2ad; - undefined field97_0x2ae; - undefined field98_0x2af; - undefined field99_0x2b0; - undefined field100_0x2b1; - undefined field101_0x2b2; - undefined field102_0x2b3; - undefined field103_0x2b4; - undefined field104_0x2b5; - undefined field105_0x2b6; - undefined field106_0x2b7; - undefined field107_0x2b8; - undefined field108_0x2b9; - undefined field109_0x2ba; - undefined field110_0x2bb; - undefined field111_0x2bc; - undefined field112_0x2bd; - undefined field113_0x2be; - undefined field114_0x2bf; - undefined field115_0x2c0; - undefined field116_0x2c1; - undefined field117_0x2c2; - undefined field118_0x2c3; - undefined field119_0x2c4; - undefined field120_0x2c5; - undefined field121_0x2c6; - undefined field122_0x2c7; - undefined field123_0x2c8; - undefined field124_0x2c9; - undefined field125_0x2ca; - undefined field126_0x2cb; - undefined field127_0x2cc; - undefined field128_0x2cd; - undefined field129_0x2ce; - undefined field130_0x2cf; - undefined field131_0x2d0; - undefined field132_0x2d1; - undefined field133_0x2d2; - undefined field134_0x2d3; - undefined field135_0x2d4; - undefined field136_0x2d5; - undefined field137_0x2d6; - undefined field138_0x2d7; - undefined field139_0x2d8; - undefined field140_0x2d9; - undefined field141_0x2da; - undefined field142_0x2db; - undefined field143_0x2dc; - undefined field144_0x2dd; - undefined field145_0x2de; - undefined field146_0x2df; - undefined field147_0x2e0; - undefined field148_0x2e1; - undefined field149_0x2e2; - undefined field150_0x2e3; - undefined field151_0x2e4; - undefined field152_0x2e5; - undefined field153_0x2e6; - undefined field154_0x2e7; - undefined field155_0x2e8; - undefined field156_0x2e9; - undefined field157_0x2ea; - undefined field158_0x2eb; - undefined field159_0x2ec; - undefined field160_0x2ed; - undefined field161_0x2ee; - undefined field162_0x2ef; - undefined field163_0x2f0; - undefined field164_0x2f1; - undefined field165_0x2f2; - undefined field166_0x2f3; - undefined field167_0x2f4; - undefined field168_0x2f5; - undefined field169_0x2f6; - undefined field170_0x2f7; - undefined field171_0x2f8; - undefined field172_0x2f9; - undefined field173_0x2fa; - undefined field174_0x2fb; - undefined field175_0x2fc; - undefined field176_0x2fd; - undefined field177_0x2fe; - undefined field178_0x2ff; - undefined field179_0x300; - undefined field180_0x301; - undefined field181_0x302; - undefined field182_0x303; - undefined field183_0x304; - undefined field184_0x305; - undefined field185_0x306; - undefined field186_0x307; - undefined field187_0x308; - undefined field188_0x309; - undefined field189_0x30a; - undefined field190_0x30b; - undefined field191_0x30c; - undefined field192_0x30d; - undefined field193_0x30e; - undefined field194_0x30f; - undefined field195_0x310; - undefined field196_0x311; - undefined field197_0x312; - undefined field198_0x313; - undefined field199_0x314; - undefined field200_0x315; - undefined field201_0x316; - undefined field202_0x317; - undefined field203_0x318; - undefined field204_0x319; - undefined field205_0x31a; - undefined field206_0x31b; - undefined field207_0x31c; - undefined field208_0x31d; - undefined field209_0x31e; - undefined field210_0x31f; - undefined field211_0x320; - undefined field212_0x321; - undefined field213_0x322; - undefined field214_0x323; - undefined field215_0x324; - undefined field216_0x325; - undefined field217_0x326; - undefined field218_0x327; - undefined field219_0x328; - undefined field220_0x329; - undefined field221_0x32a; - undefined field222_0x32b; - undefined field223_0x32c; - undefined field224_0x32d; - undefined field225_0x32e; - undefined field226_0x32f; - undefined field227_0x330; - undefined field228_0x331; - undefined field229_0x332; - undefined field230_0x333; - undefined field231_0x334; - undefined field232_0x335; - undefined field233_0x336; - undefined field234_0x337; - undefined field235_0x338; - undefined field236_0x339; - undefined field237_0x33a; - undefined field238_0x33b; - undefined field239_0x33c; - undefined field240_0x33d; - undefined field241_0x33e; - undefined field242_0x33f; - undefined field243_0x340; - undefined field244_0x341; - undefined field245_0x342; - undefined field246_0x343; - undefined field247_0x344; - undefined field248_0x345; - undefined field249_0x346; - undefined field250_0x347; - undefined field251_0x348; - undefined field252_0x349; - undefined field253_0x34a; - undefined field254_0x34b; - undefined field255_0x34c; - undefined field256_0x34d; - undefined field257_0x34e; - undefined field258_0x34f; - undefined field259_0x350; - undefined field260_0x351; - undefined field261_0x352; - undefined field262_0x353; - undefined field263_0x354; - undefined field264_0x355; - undefined field265_0x356; - undefined field266_0x357; - undefined field267_0x358; - undefined field268_0x359; - undefined field269_0x35a; - undefined field270_0x35b; - undefined field271_0x35c; - undefined field272_0x35d; - undefined field273_0x35e; - undefined field274_0x35f; - undefined field275_0x360; - undefined field276_0x361; - undefined field277_0x362; - undefined field278_0x363; - undefined field279_0x364; - undefined field280_0x365; - undefined field281_0x366; - undefined field282_0x367; - undefined field283_0x368; - undefined field284_0x369; - undefined field285_0x36a; - undefined field286_0x36b; - undefined field287_0x36c; - undefined field288_0x36d; - undefined field289_0x36e; - undefined field290_0x36f; - undefined field291_0x370; - undefined field292_0x371; - undefined field293_0x372; - undefined field294_0x373; - undefined field295_0x374; - undefined field296_0x375; - undefined field297_0x376; - undefined field298_0x377; - undefined field299_0x378; - undefined field300_0x379; - undefined field301_0x37a; - undefined field302_0x37b; - undefined field303_0x37c; - undefined field304_0x37d; - undefined field305_0x37e; - undefined field306_0x37f; - undefined field307_0x380; - undefined field308_0x381; - undefined field309_0x382; - undefined field310_0x383; - undefined field311_0x384; - undefined field312_0x385; - undefined field313_0x386; - undefined field314_0x387; - undefined field315_0x388; - undefined field316_0x389; - undefined field317_0x38a; - undefined field318_0x38b; - undefined field319_0x38c; - undefined field320_0x38d; - undefined field321_0x38e; - undefined field322_0x38f; - undefined field323_0x390; - undefined field324_0x391; - undefined field325_0x392; - undefined field326_0x393; - undefined field327_0x394; - undefined field328_0x395; - undefined field329_0x396; - undefined field330_0x397; - undefined field331_0x398; - undefined field332_0x399; - undefined field333_0x39a; - undefined field334_0x39b; - undefined field335_0x39c; - undefined field336_0x39d; - undefined field337_0x39e; - undefined field338_0x39f; - undefined field339_0x3a0; - undefined field340_0x3a1; - undefined field341_0x3a2; - undefined field342_0x3a3; - undefined field343_0x3a4; - undefined field344_0x3a5; - undefined field345_0x3a6; - undefined field346_0x3a7; - undefined field347_0x3a8; - undefined field348_0x3a9; - undefined field349_0x3aa; - undefined field350_0x3ab; - undefined field351_0x3ac; - undefined field352_0x3ad; - undefined field353_0x3ae; - undefined field354_0x3af; - undefined field355_0x3b0; - undefined field356_0x3b1; - undefined field357_0x3b2; - undefined field358_0x3b3; - undefined field359_0x3b4; - undefined field360_0x3b5; - undefined field361_0x3b6; - undefined field362_0x3b7; - undefined field363_0x3b8; - undefined field364_0x3b9; - undefined field365_0x3ba; - undefined field366_0x3bb; - undefined field367_0x3bc; - undefined field368_0x3bd; - undefined field369_0x3be; - undefined field370_0x3bf; - undefined field371_0x3c0; - undefined field372_0x3c1; - undefined field373_0x3c2; - undefined field374_0x3c3; - undefined field375_0x3c4; - undefined field376_0x3c5; - undefined field377_0x3c6; - undefined field378_0x3c7; - undefined field379_0x3c8; - undefined field380_0x3c9; - undefined field381_0x3ca; - undefined field382_0x3cb; - undefined field383_0x3cc; - undefined field384_0x3cd; - undefined field385_0x3ce; - undefined field386_0x3cf; - undefined field387_0x3d0; - undefined field388_0x3d1; - undefined field389_0x3d2; - undefined field390_0x3d3; - undefined field391_0x3d4; - undefined field392_0x3d5; - undefined field393_0x3d6; - undefined field394_0x3d7; - undefined field395_0x3d8; - undefined field396_0x3d9; - undefined field397_0x3da; - undefined field398_0x3db; - undefined field399_0x3dc; - undefined field400_0x3dd; - undefined field401_0x3de; - undefined field402_0x3df; - undefined field403_0x3e0; - undefined field404_0x3e1; - undefined field405_0x3e2; - undefined field406_0x3e3; - undefined field407_0x3e4; - undefined field408_0x3e5; - undefined field409_0x3e6; - undefined field410_0x3e7; - undefined field411_0x3e8; - undefined field412_0x3e9; - undefined field413_0x3ea; - undefined field414_0x3eb; - undefined field415_0x3ec; - undefined field416_0x3ed; - undefined field417_0x3ee; - undefined field418_0x3ef; - undefined field419_0x3f0; - undefined field420_0x3f1; - undefined field421_0x3f2; - undefined field422_0x3f3; - undefined field423_0x3f4; - undefined field424_0x3f5; - undefined field425_0x3f6; - undefined field426_0x3f7; - undefined field427_0x3f8; - undefined field428_0x3f9; - undefined field429_0x3fa; - undefined field430_0x3fb; - undefined field431_0x3fc; - undefined field432_0x3fd; - undefined field433_0x3fe; - undefined field434_0x3ff; - undefined field435_0x400; - undefined field436_0x401; - undefined field437_0x402; - undefined field438_0x403; - undefined field439_0x404; - undefined field440_0x405; - undefined field441_0x406; - undefined field442_0x407; - undefined field443_0x408; - undefined field444_0x409; - undefined field445_0x40a; - undefined field446_0x40b; - undefined field447_0x40c; - undefined field448_0x40d; - undefined field449_0x40e; - undefined field450_0x40f; - undefined field451_0x410; - undefined field452_0x411; - undefined field453_0x412; - undefined field454_0x413; - undefined field455_0x414; - undefined field456_0x415; - undefined field457_0x416; - undefined field458_0x417; - undefined field459_0x418; - undefined field460_0x419; - undefined field461_0x41a; - undefined field462_0x41b; - undefined field463_0x41c; - undefined field464_0x41d; - undefined field465_0x41e; - undefined field466_0x41f; - undefined field467_0x420; - undefined field468_0x421; - undefined field469_0x422; - undefined field470_0x423; - undefined field471_0x424; - undefined field472_0x425; - undefined field473_0x426; - undefined field474_0x427; - undefined field475_0x428; - undefined field476_0x429; - undefined field477_0x42a; - undefined field478_0x42b; - undefined field479_0x42c; - undefined field480_0x42d; - undefined field481_0x42e; - undefined field482_0x42f; - undefined field483_0x430; - undefined field484_0x431; - undefined field485_0x432; - undefined field486_0x433; - undefined field487_0x434; - undefined field488_0x435; - undefined field489_0x436; - undefined field490_0x437; - undefined field491_0x438; - undefined field492_0x439; - undefined field493_0x43a; - undefined field494_0x43b; - undefined field495_0x43c; - undefined field496_0x43d; - undefined field497_0x43e; - undefined field498_0x43f; - undefined field499_0x440; - undefined field500_0x441; - undefined field501_0x442; - undefined field502_0x443; - undefined field503_0x444; - undefined field504_0x445; - undefined field505_0x446; - undefined field506_0x447; - undefined field507_0x448; - undefined field508_0x449; - undefined field509_0x44a; - undefined field510_0x44b; - undefined field511_0x44c; - undefined field512_0x44d; - undefined field513_0x44e; - undefined field514_0x44f; - undefined field515_0x450; - undefined field516_0x451; - undefined field517_0x452; - undefined field518_0x453; - undefined field519_0x454; - undefined field520_0x455; - undefined field521_0x456; - undefined field522_0x457; - undefined field523_0x458; - undefined field524_0x459; - undefined field525_0x45a; - undefined field526_0x45b; - undefined field527_0x45c; - undefined field528_0x45d; - undefined field529_0x45e; - undefined field530_0x45f; - undefined field531_0x460; - undefined field532_0x461; - undefined field533_0x462; - undefined field534_0x463; - undefined field535_0x464; - undefined field536_0x465; - undefined field537_0x466; - undefined field538_0x467; - undefined field539_0x468; - undefined field540_0x469; - undefined field541_0x46a; - undefined field542_0x46b; - undefined field543_0x46c; - undefined field544_0x46d; - undefined field545_0x46e; - undefined field546_0x46f; - undefined field547_0x470; - undefined field548_0x471; - undefined field549_0x472; - undefined field550_0x473; - undefined field551_0x474; - undefined field552_0x475; - undefined field553_0x476; - undefined field554_0x477; - undefined field555_0x478; - undefined field556_0x479; - undefined field557_0x47a; - undefined field558_0x47b; - undefined field559_0x47c; - undefined field560_0x47d; - undefined field561_0x47e; - undefined field562_0x47f; - undefined field563_0x480; - undefined field564_0x481; - undefined field565_0x482; - undefined field566_0x483; - undefined field567_0x484; - undefined field568_0x485; - undefined field569_0x486; - undefined field570_0x487; - undefined field571_0x488; - undefined field572_0x489; - undefined field573_0x48a; - undefined field574_0x48b; - undefined field575_0x48c; - undefined field576_0x48d; - undefined field577_0x48e; - undefined field578_0x48f; - undefined field579_0x490; - undefined field580_0x491; - undefined field581_0x492; - undefined field582_0x493; - undefined field583_0x494; - undefined field584_0x495; - undefined field585_0x496; - undefined field586_0x497; - undefined field587_0x498; - undefined field588_0x499; - undefined field589_0x49a; - undefined field590_0x49b; - undefined field591_0x49c; - undefined field592_0x49d; - undefined field593_0x49e; - undefined field594_0x49f; - undefined field595_0x4a0; - undefined field596_0x4a1; - undefined field597_0x4a2; - undefined field598_0x4a3; - undefined field599_0x4a4; - undefined field600_0x4a5; - undefined field601_0x4a6; - undefined field602_0x4a7; - undefined field603_0x4a8; - undefined field604_0x4a9; - undefined field605_0x4aa; - undefined field606_0x4ab; - undefined field607_0x4ac; - undefined field608_0x4ad; - undefined field609_0x4ae; - undefined field610_0x4af; - undefined field611_0x4b0; - undefined field612_0x4b1; - undefined field613_0x4b2; - undefined field614_0x4b3; - undefined field615_0x4b4; - undefined field616_0x4b5; - undefined field617_0x4b6; - undefined field618_0x4b7; - undefined field619_0x4b8; - undefined field620_0x4b9; - undefined field621_0x4ba; - undefined field622_0x4bb; - undefined field623_0x4bc; - undefined field624_0x4bd; - undefined field625_0x4be; - undefined field626_0x4bf; - undefined field627_0x4c0; - undefined field628_0x4c1; - undefined field629_0x4c2; - undefined field630_0x4c3; - undefined field631_0x4c4; - undefined field632_0x4c5; - undefined field633_0x4c6; - undefined field634_0x4c7; - undefined field635_0x4c8; - undefined field636_0x4c9; - undefined field637_0x4ca; - undefined field638_0x4cb; - undefined field639_0x4cc; - undefined field640_0x4cd; - undefined field641_0x4ce; - undefined field642_0x4cf; - undefined field643_0x4d0; - undefined field644_0x4d1; - undefined field645_0x4d2; - undefined field646_0x4d3; - undefined field647_0x4d4; - undefined field648_0x4d5; - undefined field649_0x4d6; - undefined field650_0x4d7; - undefined field651_0x4d8; - undefined field652_0x4d9; - undefined field653_0x4da; - undefined field654_0x4db; - undefined field655_0x4dc; - undefined field656_0x4dd; - undefined field657_0x4de; - undefined field658_0x4df; - undefined field659_0x4e0; - undefined field660_0x4e1; - undefined field661_0x4e2; - undefined field662_0x4e3; - undefined field663_0x4e4; - undefined field664_0x4e5; - undefined field665_0x4e6; - undefined field666_0x4e7; - undefined field667_0x4e8; - undefined field668_0x4e9; - undefined field669_0x4ea; - undefined field670_0x4eb; - undefined field671_0x4ec; - undefined field672_0x4ed; - undefined field673_0x4ee; - undefined field674_0x4ef; - undefined field675_0x4f0; - undefined field676_0x4f1; - undefined field677_0x4f2; - undefined field678_0x4f3; - undefined field679_0x4f4; - undefined field680_0x4f5; - undefined field681_0x4f6; - undefined field682_0x4f7; - undefined field683_0x4f8; - undefined field684_0x4f9; - undefined field685_0x4fa; - undefined field686_0x4fb; - undefined field687_0x4fc; - undefined field688_0x4fd; - undefined field689_0x4fe; - undefined field690_0x4ff; - undefined field691_0x500; - undefined field692_0x501; - undefined field693_0x502; - undefined field694_0x503; - undefined field695_0x504; - undefined field696_0x505; - undefined field697_0x506; - undefined field698_0x507; - undefined field699_0x508; - undefined field700_0x509; - undefined field701_0x50a; - undefined field702_0x50b; - undefined field703_0x50c; - undefined field704_0x50d; - undefined field705_0x50e; - undefined field706_0x50f; - undefined field707_0x510; - undefined field708_0x511; - undefined field709_0x512; - undefined field710_0x513; - undefined field711_0x514; - undefined field712_0x515; - undefined field713_0x516; - undefined field714_0x517; - undefined field715_0x518; - undefined field716_0x519; - undefined field717_0x51a; - undefined field718_0x51b; - undefined field719_0x51c; - undefined field720_0x51d; - undefined field721_0x51e; - undefined field722_0x51f; - undefined field723_0x520; - undefined field724_0x521; - undefined field725_0x522; - undefined field726_0x523; - undefined field727_0x524; - undefined field728_0x525; - undefined field729_0x526; - undefined field730_0x527; - undefined field731_0x528; - undefined field732_0x529; - undefined field733_0x52a; - undefined field734_0x52b; - undefined field735_0x52c; - undefined field736_0x52d; - undefined field737_0x52e; - undefined field738_0x52f; - undefined field739_0x530; - undefined field740_0x531; - undefined field741_0x532; - undefined field742_0x533; - undefined field743_0x534; - undefined field744_0x535; - undefined field745_0x536; - undefined field746_0x537; - undefined field747_0x538; - undefined field748_0x539; - undefined field749_0x53a; - undefined field750_0x53b; - undefined field751_0x53c; - undefined field752_0x53d; - undefined field753_0x53e; - undefined field754_0x53f; - undefined field755_0x540; - undefined field756_0x541; - undefined field757_0x542; - undefined field758_0x543; - undefined field759_0x544; - undefined field760_0x545; - undefined field761_0x546; - undefined field762_0x547; - undefined field763_0x548; - undefined field764_0x549; - undefined field765_0x54a; - undefined field766_0x54b; - undefined field767_0x54c; - undefined field768_0x54d; - undefined field769_0x54e; - undefined field770_0x54f; - undefined field771_0x550; - undefined field772_0x551; - undefined field773_0x552; - undefined field774_0x553; - undefined field775_0x554; - undefined field776_0x555; - undefined field777_0x556; - undefined field778_0x557; - undefined field779_0x558; - undefined field780_0x559; - undefined field781_0x55a; - undefined field782_0x55b; - undefined field783_0x55c; - undefined field784_0x55d; - undefined field785_0x55e; - undefined field786_0x55f; - undefined field787_0x560; - undefined field788_0x561; - undefined field789_0x562; - undefined field790_0x563; - undefined field791_0x564; - undefined field792_0x565; - undefined field793_0x566; - undefined field794_0x567; - undefined field795_0x568; - undefined field796_0x569; - undefined field797_0x56a; - undefined field798_0x56b; - undefined field799_0x56c; - undefined field800_0x56d; - undefined field801_0x56e; - undefined field802_0x56f; - undefined field803_0x570; - undefined field804_0x571; - undefined field805_0x572; - undefined field806_0x573; - undefined field807_0x574; - undefined field808_0x575; - undefined field809_0x576; - undefined field810_0x577; - undefined field811_0x578; - undefined field812_0x579; - undefined field813_0x57a; - undefined field814_0x57b; - undefined field815_0x57c; - undefined field816_0x57d; - undefined field817_0x57e; - undefined field818_0x57f; - undefined field819_0x580; - undefined field820_0x581; - undefined field821_0x582; - undefined field822_0x583; - undefined field823_0x584; - undefined field824_0x585; - undefined field825_0x586; - undefined field826_0x587; - undefined field827_0x588; - undefined field828_0x589; - undefined field829_0x58a; - undefined field830_0x58b; - undefined field831_0x58c; - undefined field832_0x58d; - undefined field833_0x58e; - undefined field834_0x58f; - undefined field835_0x590; - undefined field836_0x591; - undefined field837_0x592; - undefined field838_0x593; - undefined field839_0x594; - undefined field840_0x595; - undefined field841_0x596; - undefined field842_0x597; - undefined field843_0x598; - undefined field844_0x599; - undefined field845_0x59a; - undefined field846_0x59b; - undefined field847_0x59c; - undefined field848_0x59d; - undefined field849_0x59e; - undefined field850_0x59f; - undefined field851_0x5a0; - undefined field852_0x5a1; - undefined field853_0x5a2; - undefined field854_0x5a3; - undefined field855_0x5a4; - undefined field856_0x5a5; - undefined field857_0x5a6; - undefined field858_0x5a7; - undefined field859_0x5a8; - undefined field860_0x5a9; - undefined field861_0x5aa; - undefined field862_0x5ab; - undefined field863_0x5ac; - undefined field864_0x5ad; - undefined field865_0x5ae; - undefined field866_0x5af; - undefined field867_0x5b0; - undefined field868_0x5b1; - undefined field869_0x5b2; - undefined field870_0x5b3; - undefined field871_0x5b4; - undefined field872_0x5b5; - undefined field873_0x5b6; - undefined field874_0x5b7; - undefined field875_0x5b8; - undefined field876_0x5b9; - undefined field877_0x5ba; - undefined field878_0x5bb; - undefined field879_0x5bc; - undefined field880_0x5bd; - undefined field881_0x5be; - undefined field882_0x5bf; - undefined field883_0x5c0; - undefined field884_0x5c1; - undefined field885_0x5c2; - undefined field886_0x5c3; - undefined field887_0x5c4; - undefined field888_0x5c5; - undefined field889_0x5c6; - undefined field890_0x5c7; - undefined field891_0x5c8; - undefined field892_0x5c9; - undefined field893_0x5ca; - undefined field894_0x5cb; - undefined field895_0x5cc; - undefined field896_0x5cd; - undefined field897_0x5ce; - undefined field898_0x5cf; - undefined field899_0x5d0; - undefined field900_0x5d1; - undefined field901_0x5d2; - undefined field902_0x5d3; - undefined field903_0x5d4; - undefined field904_0x5d5; - undefined field905_0x5d6; - undefined field906_0x5d7; - undefined field907_0x5d8; - undefined field908_0x5d9; - undefined field909_0x5da; - undefined field910_0x5db; - undefined field911_0x5dc; - undefined field912_0x5dd; - undefined field913_0x5de; - undefined field914_0x5df; - undefined field915_0x5e0; - undefined field916_0x5e1; - undefined field917_0x5e2; - undefined field918_0x5e3; - undefined field919_0x5e4; - undefined field920_0x5e5; - undefined field921_0x5e6; - undefined field922_0x5e7; - undefined field923_0x5e8; - undefined field924_0x5e9; - undefined field925_0x5ea; - undefined field926_0x5eb; - undefined field927_0x5ec; - undefined field928_0x5ed; - undefined field929_0x5ee; - undefined field930_0x5ef; - undefined field931_0x5f0; - undefined field932_0x5f1; - undefined field933_0x5f2; - undefined field934_0x5f3; - undefined field935_0x5f4; - undefined field936_0x5f5; - undefined field937_0x5f6; - undefined field938_0x5f7; - undefined field939_0x5f8; - undefined field940_0x5f9; - undefined field941_0x5fa; - undefined field942_0x5fb; - undefined field943_0x5fc; - undefined field944_0x5fd; - undefined field945_0x5fe; - undefined field946_0x5ff; - undefined field947_0x600; - undefined field948_0x601; - undefined field949_0x602; - undefined field950_0x603; - undefined field951_0x604; - undefined field952_0x605; - undefined field953_0x606; - undefined field954_0x607; - undefined field955_0x608; - undefined field956_0x609; - undefined field957_0x60a; - undefined field958_0x60b; - undefined field959_0x60c; - undefined field960_0x60d; - undefined field961_0x60e; - undefined field962_0x60f; - undefined field963_0x610; - undefined field964_0x611; - undefined field965_0x612; - undefined field966_0x613; - undefined field967_0x614; - undefined field968_0x615; - undefined field969_0x616; - undefined field970_0x617; - undefined field971_0x618; - undefined field972_0x619; - undefined field973_0x61a; - undefined field974_0x61b; - undefined field975_0x61c; - undefined field976_0x61d; - undefined field977_0x61e; - undefined field978_0x61f; - undefined field979_0x620; - undefined field980_0x621; - undefined field981_0x622; - undefined field982_0x623; - undefined field983_0x624; - undefined field984_0x625; - undefined field985_0x626; - undefined field986_0x627; - undefined field987_0x628; - undefined field988_0x629; - undefined field989_0x62a; - undefined field990_0x62b; - undefined field991_0x62c; - undefined field992_0x62d; - undefined field993_0x62e; - undefined field994_0x62f; - undefined field995_0x630; - undefined field996_0x631; - undefined field997_0x632; - undefined field998_0x633; - undefined field999_0x634; - undefined field1000_0x635; - undefined field1001_0x636; - undefined field1002_0x637; - undefined field1003_0x638; - undefined field1004_0x639; - undefined field1005_0x63a; - undefined field1006_0x63b; - undefined field1007_0x63c; - undefined field1008_0x63d; - undefined field1009_0x63e; - undefined field1010_0x63f; - undefined field1011_0x640; - undefined field1012_0x641; - undefined field1013_0x642; - undefined field1014_0x643; - undefined field1015_0x644; - undefined field1016_0x645; - undefined field1017_0x646; - undefined field1018_0x647; - undefined field1019_0x648; - undefined field1020_0x649; - undefined field1021_0x64a; - undefined field1022_0x64b; - undefined field1023_0x64c; - undefined field1024_0x64d; - undefined field1025_0x64e; - undefined field1026_0x64f; - undefined field1027_0x650; - undefined field1028_0x651; - undefined field1029_0x652; - undefined field1030_0x653; - undefined field1031_0x654; - undefined field1032_0x655; - undefined field1033_0x656; - undefined field1034_0x657; - undefined field1035_0x658; - undefined field1036_0x659; - undefined field1037_0x65a; - undefined field1038_0x65b; - undefined field1039_0x65c; - undefined field1040_0x65d; - undefined field1041_0x65e; - undefined field1042_0x65f; - undefined field1043_0x660; - undefined field1044_0x661; - undefined field1045_0x662; - undefined field1046_0x663; - undefined field1047_0x664; - undefined field1048_0x665; - undefined field1049_0x666; - undefined field1050_0x667; - undefined field1051_0x668; - undefined field1052_0x669; - undefined field1053_0x66a; - undefined field1054_0x66b; - undefined field1055_0x66c; - undefined field1056_0x66d; - undefined field1057_0x66e; - undefined field1058_0x66f; - undefined field1059_0x670; - undefined field1060_0x671; - undefined field1061_0x672; - undefined field1062_0x673; - undefined field1063_0x674; - undefined field1064_0x675; - undefined field1065_0x676; - undefined field1066_0x677; - undefined field1067_0x678; - undefined field1068_0x679; - undefined field1069_0x67a; - undefined field1070_0x67b; - undefined field1071_0x67c; - undefined field1072_0x67d; - undefined field1073_0x67e; - undefined field1074_0x67f; - undefined field1075_0x680; - undefined field1076_0x681; - undefined field1077_0x682; - undefined field1078_0x683; - undefined field1079_0x684; - undefined field1080_0x685; - undefined field1081_0x686; - undefined field1082_0x687; - undefined field1083_0x688; - undefined field1084_0x689; - undefined field1085_0x68a; - undefined field1086_0x68b; - undefined field1087_0x68c; - undefined field1088_0x68d; - undefined field1089_0x68e; - undefined field1090_0x68f; - undefined field1091_0x690; - undefined field1092_0x691; - undefined field1093_0x692; - undefined field1094_0x693; - undefined field1095_0x694; - undefined field1096_0x695; - undefined field1097_0x696; - undefined field1098_0x697; - undefined field1099_0x698; - undefined field1100_0x699; - undefined field1101_0x69a; - undefined field1102_0x69b; - undefined field1103_0x69c; - undefined field1104_0x69d; - undefined field1105_0x69e; - undefined field1106_0x69f; - undefined field1107_0x6a0; - undefined field1108_0x6a1; - undefined field1109_0x6a2; - undefined field1110_0x6a3; - undefined field1111_0x6a4; - undefined field1112_0x6a5; - undefined field1113_0x6a6; - undefined field1114_0x6a7; - undefined field1115_0x6a8; - undefined field1116_0x6a9; - undefined field1117_0x6aa; - undefined field1118_0x6ab; - undefined field1119_0x6ac; - undefined field1120_0x6ad; - undefined field1121_0x6ae; - undefined field1122_0x6af; - undefined field1123_0x6b0; - undefined field1124_0x6b1; - undefined field1125_0x6b2; - undefined field1126_0x6b3; - undefined field1127_0x6b4; - undefined field1128_0x6b5; - undefined field1129_0x6b6; - undefined field1130_0x6b7; - undefined field1131_0x6b8; - undefined field1132_0x6b9; - undefined field1133_0x6ba; - undefined field1134_0x6bb; - undefined field1135_0x6bc; - undefined field1136_0x6bd; - undefined field1137_0x6be; - undefined field1138_0x6bf; - undefined field1139_0x6c0; - undefined field1140_0x6c1; - undefined field1141_0x6c2; - undefined field1142_0x6c3; - undefined field1143_0x6c4; - undefined field1144_0x6c5; - undefined field1145_0x6c6; - undefined field1146_0x6c7; - undefined field1147_0x6c8; - undefined field1148_0x6c9; - undefined field1149_0x6ca; - undefined field1150_0x6cb; - undefined field1151_0x6cc; - undefined field1152_0x6cd; - undefined field1153_0x6ce; - undefined field1154_0x6cf; - undefined field1155_0x6d0; - undefined field1156_0x6d1; - undefined field1157_0x6d2; - undefined field1158_0x6d3; - undefined field1159_0x6d4; - undefined field1160_0x6d5; - undefined field1161_0x6d6; - undefined field1162_0x6d7; - undefined field1163_0x6d8; - undefined field1164_0x6d9; - undefined field1165_0x6da; - undefined field1166_0x6db; - undefined field1167_0x6dc; - undefined field1168_0x6dd; - undefined field1169_0x6de; - undefined field1170_0x6df; - undefined field1171_0x6e0; - undefined field1172_0x6e1; - undefined field1173_0x6e2; - undefined field1174_0x6e3; - undefined field1175_0x6e4; - undefined field1176_0x6e5; - undefined field1177_0x6e6; - undefined field1178_0x6e7; - undefined field1179_0x6e8; - undefined field1180_0x6e9; - undefined field1181_0x6ea; - undefined field1182_0x6eb; - undefined field1183_0x6ec; - undefined field1184_0x6ed; - undefined field1185_0x6ee; - undefined field1186_0x6ef; - undefined field1187_0x6f0; - undefined field1188_0x6f1; - undefined field1189_0x6f2; - undefined field1190_0x6f3; - undefined field1191_0x6f4; - undefined field1192_0x6f5; - undefined field1193_0x6f6; - undefined field1194_0x6f7; - undefined field1195_0x6f8; - undefined field1196_0x6f9; - undefined field1197_0x6fa; - undefined field1198_0x6fb; - undefined field1199_0x6fc; - undefined field1200_0x6fd; - undefined field1201_0x6fe; - undefined field1202_0x6ff; - undefined field1203_0x700; - undefined field1204_0x701; - undefined field1205_0x702; - undefined field1206_0x703; - undefined field1207_0x704; - undefined field1208_0x705; - undefined field1209_0x706; - undefined field1210_0x707; - undefined field1211_0x708; - undefined field1212_0x709; - undefined field1213_0x70a; - undefined field1214_0x70b; - undefined field1215_0x70c; - undefined field1216_0x70d; - undefined field1217_0x70e; - undefined field1218_0x70f; - undefined field1219_0x710; - undefined field1220_0x711; - undefined field1221_0x712; - undefined field1222_0x713; - undefined field1223_0x714; - undefined field1224_0x715; - undefined field1225_0x716; - undefined field1226_0x717; - undefined field1227_0x718; - undefined field1228_0x719; - undefined field1229_0x71a; - undefined field1230_0x71b; - undefined field1231_0x71c; - undefined field1232_0x71d; - undefined field1233_0x71e; - undefined field1234_0x71f; - undefined field1235_0x720; - undefined field1236_0x721; - undefined field1237_0x722; - undefined field1238_0x723; - undefined field1239_0x724; - undefined field1240_0x725; - undefined field1241_0x726; - undefined field1242_0x727; - undefined field1243_0x728; - undefined field1244_0x729; - undefined field1245_0x72a; - undefined field1246_0x72b; - undefined field1247_0x72c; - undefined field1248_0x72d; - undefined field1249_0x72e; - undefined field1250_0x72f; - undefined field1251_0x730; - undefined field1252_0x731; - undefined field1253_0x732; - undefined field1254_0x733; - undefined field1255_0x734; - undefined field1256_0x735; - undefined field1257_0x736; - undefined field1258_0x737; - undefined field1259_0x738; - undefined field1260_0x739; - undefined field1261_0x73a; - undefined field1262_0x73b; - undefined field1263_0x73c; - undefined field1264_0x73d; - undefined field1265_0x73e; - undefined field1266_0x73f; - undefined field1267_0x740; - undefined field1268_0x741; - undefined field1269_0x742; - undefined field1270_0x743; - undefined field1271_0x744; - undefined field1272_0x745; - undefined field1273_0x746; - undefined field1274_0x747; - undefined field1275_0x748; - undefined field1276_0x749; - undefined field1277_0x74a; - undefined field1278_0x74b; - undefined field1279_0x74c; - undefined field1280_0x74d; - undefined field1281_0x74e; - undefined field1282_0x74f; - undefined field1283_0x750; - undefined field1284_0x751; - undefined field1285_0x752; - undefined field1286_0x753; - undefined field1287_0x754; - undefined field1288_0x755; - undefined field1289_0x756; - undefined field1290_0x757; - undefined field1291_0x758; - undefined field1292_0x759; - undefined field1293_0x75a; - undefined field1294_0x75b; - undefined field1295_0x75c; - undefined field1296_0x75d; - undefined field1297_0x75e; - undefined field1298_0x75f; - undefined field1299_0x760; - undefined field1300_0x761; - undefined field1301_0x762; - undefined field1302_0x763; - undefined field1303_0x764; - undefined field1304_0x765; - undefined field1305_0x766; - undefined field1306_0x767; - undefined field1307_0x768; - undefined field1308_0x769; - undefined field1309_0x76a; - undefined field1310_0x76b; - undefined field1311_0x76c; - undefined field1312_0x76d; - undefined field1313_0x76e; - undefined field1314_0x76f; - undefined field1315_0x770; - undefined field1316_0x771; - undefined field1317_0x772; - undefined field1318_0x773; - undefined field1319_0x774; - undefined field1320_0x775; - undefined field1321_0x776; - undefined field1322_0x777; - undefined field1323_0x778; - undefined field1324_0x779; - undefined field1325_0x77a; - undefined field1326_0x77b; - undefined field1327_0x77c; - undefined field1328_0x77d; - undefined field1329_0x77e; - undefined field1330_0x77f; - undefined field1331_0x780; - undefined field1332_0x781; - undefined field1333_0x782; - undefined field1334_0x783; - undefined field1335_0x784; - undefined field1336_0x785; - undefined field1337_0x786; - undefined field1338_0x787; - undefined field1339_0x788; - undefined field1340_0x789; - undefined field1341_0x78a; - undefined field1342_0x78b; - undefined field1343_0x78c; - undefined field1344_0x78d; - undefined field1345_0x78e; - undefined field1346_0x78f; - undefined field1347_0x790; - undefined field1348_0x791; - undefined field1349_0x792; - undefined field1350_0x793; - undefined field1351_0x794; - undefined field1352_0x795; - undefined field1353_0x796; - undefined field1354_0x797; - undefined field1355_0x798; - undefined field1356_0x799; - undefined field1357_0x79a; - undefined field1358_0x79b; - undefined field1359_0x79c; - undefined field1360_0x79d; - undefined field1361_0x79e; - undefined field1362_0x79f; - undefined field1363_0x7a0; - undefined field1364_0x7a1; - undefined field1365_0x7a2; - undefined field1366_0x7a3; - undefined field1367_0x7a4; - undefined field1368_0x7a5; - undefined field1369_0x7a6; - undefined field1370_0x7a7; - undefined field1371_0x7a8; - undefined field1372_0x7a9; - undefined field1373_0x7aa; - undefined field1374_0x7ab; - undefined field1375_0x7ac; - undefined field1376_0x7ad; - undefined field1377_0x7ae; - undefined field1378_0x7af; - undefined field1379_0x7b0; - undefined field1380_0x7b1; - undefined field1381_0x7b2; - undefined field1382_0x7b3; - undefined field1383_0x7b4; - undefined field1384_0x7b5; - undefined field1385_0x7b6; - undefined field1386_0x7b7; - undefined field1387_0x7b8; - undefined field1388_0x7b9; - undefined field1389_0x7ba; - undefined field1390_0x7bb; - undefined field1391_0x7bc; - undefined field1392_0x7bd; - undefined field1393_0x7be; - undefined field1394_0x7bf; - undefined field1395_0x7c0; - undefined field1396_0x7c1; - undefined field1397_0x7c2; - undefined field1398_0x7c3; - undefined field1399_0x7c4; - undefined field1400_0x7c5; - undefined field1401_0x7c6; - undefined field1402_0x7c7; - undefined field1403_0x7c8; - undefined field1404_0x7c9; - undefined field1405_0x7ca; - undefined field1406_0x7cb; - undefined field1407_0x7cc; - undefined field1408_0x7cd; - undefined field1409_0x7ce; - undefined field1410_0x7cf; - undefined field1411_0x7d0; - undefined field1412_0x7d1; - undefined field1413_0x7d2; - undefined field1414_0x7d3; - undefined field1415_0x7d4; - undefined field1416_0x7d5; - undefined field1417_0x7d6; - undefined field1418_0x7d7; - undefined field1419_0x7d8; - undefined field1420_0x7d9; - undefined field1421_0x7da; - undefined field1422_0x7db; - undefined field1423_0x7dc; - undefined field1424_0x7dd; - undefined field1425_0x7de; - undefined field1426_0x7df; - undefined field1427_0x7e0; - undefined field1428_0x7e1; - undefined field1429_0x7e2; - undefined field1430_0x7e3; - undefined field1431_0x7e4; - undefined field1432_0x7e5; - undefined field1433_0x7e6; - undefined field1434_0x7e7; - undefined field1435_0x7e8; - undefined field1436_0x7e9; - undefined field1437_0x7ea; - undefined field1438_0x7eb; - undefined field1439_0x7ec; - undefined field1440_0x7ed; - undefined field1441_0x7ee; - undefined field1442_0x7ef; - undefined field1443_0x7f0; - undefined field1444_0x7f1; - undefined field1445_0x7f2; - undefined field1446_0x7f3; - undefined field1447_0x7f4; - undefined field1448_0x7f5; - undefined field1449_0x7f6; - undefined field1450_0x7f7; - undefined field1451_0x7f8; - undefined field1452_0x7f9; - undefined field1453_0x7fa; - undefined field1454_0x7fb; - undefined field1455_0x7fc; - undefined field1456_0x7fd; - undefined field1457_0x7fe; - undefined field1458_0x7ff; - undefined field1459_0x800; - undefined field1460_0x801; - undefined field1461_0x802; - undefined field1462_0x803; - undefined field1463_0x804; - undefined field1464_0x805; - undefined field1465_0x806; - undefined field1466_0x807; - undefined field1467_0x808; - undefined field1468_0x809; - undefined field1469_0x80a; - undefined field1470_0x80b; - undefined field1471_0x80c; - undefined field1472_0x80d; - undefined field1473_0x80e; - undefined field1474_0x80f; - undefined field1475_0x810; - undefined field1476_0x811; - undefined field1477_0x812; - undefined field1478_0x813; - undefined field1479_0x814; - undefined field1480_0x815; - undefined field1481_0x816; - undefined field1482_0x817; - undefined field1483_0x818; - undefined field1484_0x819; - undefined field1485_0x81a; - undefined field1486_0x81b; - undefined field1487_0x81c; - undefined field1488_0x81d; - undefined field1489_0x81e; - undefined field1490_0x81f; - undefined field1491_0x820; - undefined field1492_0x821; - undefined field1493_0x822; - undefined field1494_0x823; - undefined field1495_0x824; - undefined field1496_0x825; - undefined field1497_0x826; - undefined field1498_0x827; - undefined field1499_0x828; - undefined field1500_0x829; - undefined field1501_0x82a; - undefined field1502_0x82b; - undefined field1503_0x82c; - undefined field1504_0x82d; - undefined field1505_0x82e; - undefined field1506_0x82f; - undefined field1507_0x830; - undefined field1508_0x831; - undefined field1509_0x832; - undefined field1510_0x833; - undefined field1511_0x834; - undefined field1512_0x835; - undefined field1513_0x836; - undefined field1514_0x837; - undefined field1515_0x838; - undefined field1516_0x839; - undefined field1517_0x83a; - undefined field1518_0x83b; - undefined field1519_0x83c; - undefined field1520_0x83d; - undefined field1521_0x83e; - undefined field1522_0x83f; - undefined field1523_0x840; - undefined field1524_0x841; - undefined field1525_0x842; - undefined field1526_0x843; - undefined field1527_0x844; - undefined field1528_0x845; - undefined field1529_0x846; - undefined field1530_0x847; - undefined field1531_0x848; - undefined field1532_0x849; - undefined field1533_0x84a; - undefined field1534_0x84b; - undefined field1535_0x84c; - undefined field1536_0x84d; - undefined field1537_0x84e; - undefined field1538_0x84f; - undefined field1539_0x850; - undefined field1540_0x851; - undefined field1541_0x852; - undefined field1542_0x853; - undefined field1543_0x854; - undefined field1544_0x855; - undefined field1545_0x856; - undefined field1546_0x857; - undefined field1547_0x858; - undefined field1548_0x859; - undefined field1549_0x85a; - undefined field1550_0x85b; - undefined field1551_0x85c; - undefined field1552_0x85d; - undefined field1553_0x85e; - undefined field1554_0x85f; - undefined field1555_0x860; - undefined field1556_0x861; - undefined field1557_0x862; - undefined field1558_0x863; - undefined field1559_0x864; - undefined field1560_0x865; - undefined field1561_0x866; - undefined field1562_0x867; - undefined field1563_0x868; - undefined field1564_0x869; - undefined field1565_0x86a; - undefined field1566_0x86b; - undefined field1567_0x86c; - undefined field1568_0x86d; - undefined field1569_0x86e; - undefined field1570_0x86f; - undefined field1571_0x870; - undefined field1572_0x871; - undefined field1573_0x872; - undefined field1574_0x873; - undefined field1575_0x874; - undefined field1576_0x875; - undefined field1577_0x876; - undefined field1578_0x877; - undefined field1579_0x878; - undefined field1580_0x879; - undefined field1581_0x87a; - undefined field1582_0x87b; - undefined field1583_0x87c; - undefined field1584_0x87d; - undefined field1585_0x87e; - undefined field1586_0x87f; - undefined field1587_0x880; - undefined field1588_0x881; - undefined field1589_0x882; - undefined field1590_0x883; - undefined field1591_0x884; - undefined field1592_0x885; - undefined field1593_0x886; - undefined field1594_0x887; - undefined field1595_0x888; - undefined field1596_0x889; - undefined field1597_0x88a; - undefined field1598_0x88b; - undefined field1599_0x88c; - undefined field1600_0x88d; - undefined field1601_0x88e; - undefined field1602_0x88f; - undefined field1603_0x890; - undefined field1604_0x891; - undefined field1605_0x892; - undefined field1606_0x893; - undefined field1607_0x894; - undefined field1608_0x895; - undefined field1609_0x896; - undefined field1610_0x897; - undefined field1611_0x898; - undefined field1612_0x899; - undefined field1613_0x89a; - undefined field1614_0x89b; - undefined field1615_0x89c; - undefined field1616_0x89d; - undefined field1617_0x89e; - undefined field1618_0x89f; - undefined field1619_0x8a0; - undefined field1620_0x8a1; - undefined field1621_0x8a2; - undefined field1622_0x8a3; - undefined field1623_0x8a4; - undefined field1624_0x8a5; - undefined field1625_0x8a6; - undefined field1626_0x8a7; - undefined field1627_0x8a8; - undefined field1628_0x8a9; - undefined field1629_0x8aa; - undefined field1630_0x8ab; - undefined field1631_0x8ac; - undefined field1632_0x8ad; - undefined field1633_0x8ae; - undefined field1634_0x8af; - undefined field1635_0x8b0; - undefined field1636_0x8b1; - undefined field1637_0x8b2; - undefined field1638_0x8b3; - undefined field1639_0x8b4; - undefined field1640_0x8b5; - undefined field1641_0x8b6; - undefined field1642_0x8b7; - undefined field1643_0x8b8; - undefined field1644_0x8b9; - undefined field1645_0x8ba; - undefined field1646_0x8bb; - undefined field1647_0x8bc; - undefined field1648_0x8bd; - undefined field1649_0x8be; - undefined field1650_0x8bf; - undefined field1651_0x8c0; - undefined field1652_0x8c1; - undefined field1653_0x8c2; - undefined field1654_0x8c3; - undefined field1655_0x8c4; - undefined field1656_0x8c5; - undefined field1657_0x8c6; - undefined field1658_0x8c7; - undefined field1659_0x8c8; - undefined field1660_0x8c9; - undefined field1661_0x8ca; - undefined field1662_0x8cb; - undefined field1663_0x8cc; - undefined field1664_0x8cd; - undefined field1665_0x8ce; - undefined field1666_0x8cf; - undefined field1667_0x8d0; - undefined field1668_0x8d1; - undefined field1669_0x8d2; - undefined field1670_0x8d3; - undefined field1671_0x8d4; - undefined field1672_0x8d5; - undefined field1673_0x8d6; - undefined field1674_0x8d7; - undefined field1675_0x8d8; - undefined field1676_0x8d9; - undefined field1677_0x8da; - undefined field1678_0x8db; - undefined field1679_0x8dc; - undefined field1680_0x8dd; - undefined field1681_0x8de; - undefined field1682_0x8df; - undefined field1683_0x8e0; - undefined field1684_0x8e1; - undefined field1685_0x8e2; - undefined field1686_0x8e3; - undefined field1687_0x8e4; - undefined field1688_0x8e5; - undefined field1689_0x8e6; - undefined field1690_0x8e7; - undefined field1691_0x8e8; - undefined field1692_0x8e9; - undefined field1693_0x8ea; - undefined field1694_0x8eb; - undefined field1695_0x8ec; - undefined field1696_0x8ed; - undefined field1697_0x8ee; - undefined field1698_0x8ef; - undefined field1699_0x8f0; - undefined field1700_0x8f1; - undefined field1701_0x8f2; - undefined field1702_0x8f3; - undefined field1703_0x8f4; - undefined field1704_0x8f5; - undefined field1705_0x8f6; - undefined field1706_0x8f7; - undefined field1707_0x8f8; - undefined field1708_0x8f9; - undefined field1709_0x8fa; - undefined field1710_0x8fb; - undefined field1711_0x8fc; - undefined field1712_0x8fd; - undefined field1713_0x8fe; - undefined field1714_0x8ff; - undefined field1715_0x900; - undefined field1716_0x901; - undefined field1717_0x902; - undefined field1718_0x903; - undefined field1719_0x904; - undefined field1720_0x905; - undefined field1721_0x906; - undefined field1722_0x907; - undefined field1723_0x908; - undefined field1724_0x909; - undefined field1725_0x90a; - undefined field1726_0x90b; - undefined field1727_0x90c; - undefined field1728_0x90d; - undefined field1729_0x90e; - undefined field1730_0x90f; - undefined field1731_0x910; - undefined field1732_0x911; - undefined field1733_0x912; - undefined field1734_0x913; - undefined field1735_0x914; - undefined field1736_0x915; - undefined field1737_0x916; - undefined field1738_0x917; - undefined field1739_0x918; - undefined field1740_0x919; - undefined field1741_0x91a; - undefined field1742_0x91b; - undefined field1743_0x91c; - undefined field1744_0x91d; - undefined field1745_0x91e; - undefined field1746_0x91f; - undefined field1747_0x920; - undefined field1748_0x921; - undefined field1749_0x922; - undefined field1750_0x923; - undefined field1751_0x924; - undefined field1752_0x925; - undefined field1753_0x926; - undefined field1754_0x927; - undefined field1755_0x928; - undefined field1756_0x929; - undefined field1757_0x92a; - undefined field1758_0x92b; - undefined field1759_0x92c; - undefined field1760_0x92d; - undefined field1761_0x92e; - undefined field1762_0x92f; - undefined field1763_0x930; - undefined field1764_0x931; - undefined field1765_0x932; - undefined field1766_0x933; - undefined field1767_0x934; - undefined field1768_0x935; - undefined field1769_0x936; - undefined field1770_0x937; - undefined field1771_0x938; - undefined field1772_0x939; - undefined field1773_0x93a; - undefined field1774_0x93b; - undefined field1775_0x93c; - undefined field1776_0x93d; - undefined field1777_0x93e; - undefined field1778_0x93f; - undefined field1779_0x940; - undefined field1780_0x941; - undefined field1781_0x942; - undefined field1782_0x943; - undefined field1783_0x944; - undefined field1784_0x945; - undefined field1785_0x946; - undefined field1786_0x947; - undefined field1787_0x948; - undefined field1788_0x949; - undefined field1789_0x94a; - undefined field1790_0x94b; - undefined field1791_0x94c; - undefined field1792_0x94d; - undefined field1793_0x94e; - undefined field1794_0x94f; - undefined field1795_0x950; - undefined field1796_0x951; - undefined field1797_0x952; - undefined field1798_0x953; - undefined field1799_0x954; - undefined field1800_0x955; - undefined field1801_0x956; - undefined field1802_0x957; - undefined field1803_0x958; - undefined field1804_0x959; - undefined field1805_0x95a; - undefined field1806_0x95b; - undefined field1807_0x95c; - undefined field1808_0x95d; - undefined field1809_0x95e; - undefined field1810_0x95f; - undefined field1811_0x960; - undefined field1812_0x961; - undefined field1813_0x962; - undefined field1814_0x963; - undefined field1815_0x964; - undefined field1816_0x965; - undefined field1817_0x966; - undefined field1818_0x967; - undefined field1819_0x968; - undefined field1820_0x969; - undefined field1821_0x96a; - undefined field1822_0x96b; - undefined field1823_0x96c; - undefined field1824_0x96d; - undefined field1825_0x96e; - undefined field1826_0x96f; - undefined field1827_0x970; - undefined field1828_0x971; - undefined field1829_0x972; - undefined field1830_0x973; - undefined field1831_0x974; - undefined field1832_0x975; - undefined field1833_0x976; - undefined field1834_0x977; - undefined field1835_0x978; - undefined field1836_0x979; - undefined field1837_0x97a; - undefined field1838_0x97b; - undefined field1839_0x97c; - undefined field1840_0x97d; - undefined field1841_0x97e; - undefined field1842_0x97f; - undefined field1843_0x980; - undefined field1844_0x981; - undefined field1845_0x982; - undefined field1846_0x983; - undefined field1847_0x984; - undefined field1848_0x985; - undefined field1849_0x986; - undefined field1850_0x987; - undefined field1851_0x988; - undefined field1852_0x989; - undefined field1853_0x98a; - undefined field1854_0x98b; - undefined field1855_0x98c; - undefined field1856_0x98d; - undefined field1857_0x98e; - undefined field1858_0x98f; - undefined field1859_0x990; - undefined field1860_0x991; - undefined field1861_0x992; - undefined field1862_0x993; - undefined field1863_0x994; - undefined field1864_0x995; - undefined field1865_0x996; - undefined field1866_0x997; - undefined field1867_0x998; - undefined field1868_0x999; - undefined field1869_0x99a; - undefined field1870_0x99b; - undefined field1871_0x99c; - undefined field1872_0x99d; - undefined field1873_0x99e; - undefined field1874_0x99f; - undefined field1875_0x9a0; - undefined field1876_0x9a1; - undefined field1877_0x9a2; - undefined field1878_0x9a3; - undefined field1879_0x9a4; - undefined field1880_0x9a5; - undefined field1881_0x9a6; - undefined field1882_0x9a7; - undefined field1883_0x9a8; - undefined field1884_0x9a9; - undefined field1885_0x9aa; - undefined field1886_0x9ab; - undefined field1887_0x9ac; - undefined field1888_0x9ad; - undefined field1889_0x9ae; - undefined field1890_0x9af; - undefined field1891_0x9b0; - undefined field1892_0x9b1; - undefined field1893_0x9b2; - undefined field1894_0x9b3; - undefined field1895_0x9b4; - undefined field1896_0x9b5; - undefined field1897_0x9b6; - undefined field1898_0x9b7; - undefined field1899_0x9b8; - undefined field1900_0x9b9; - undefined field1901_0x9ba; - undefined field1902_0x9bb; - undefined field1903_0x9bc; - undefined field1904_0x9bd; - undefined field1905_0x9be; - undefined field1906_0x9bf; - undefined field1907_0x9c0; - undefined field1908_0x9c1; - undefined field1909_0x9c2; - undefined field1910_0x9c3; - undefined field1911_0x9c4; - undefined field1912_0x9c5; - undefined field1913_0x9c6; - undefined field1914_0x9c7; - undefined field1915_0x9c8; - undefined field1916_0x9c9; - undefined field1917_0x9ca; - undefined field1918_0x9cb; - undefined field1919_0x9cc; - undefined field1920_0x9cd; - undefined field1921_0x9ce; - undefined field1922_0x9cf; - undefined field1923_0x9d0; - undefined field1924_0x9d1; - undefined field1925_0x9d2; - undefined field1926_0x9d3; - undefined field1927_0x9d4; - undefined field1928_0x9d5; - undefined field1929_0x9d6; - undefined field1930_0x9d7; - undefined field1931_0x9d8; - undefined field1932_0x9d9; - undefined field1933_0x9da; - undefined field1934_0x9db; - undefined field1935_0x9dc; - undefined field1936_0x9dd; - undefined field1937_0x9de; - undefined field1938_0x9df; - undefined field1939_0x9e0; - undefined field1940_0x9e1; - undefined field1941_0x9e2; - undefined field1942_0x9e3; - undefined field1943_0x9e4; - undefined field1944_0x9e5; - undefined field1945_0x9e6; - undefined field1946_0x9e7; - undefined field1947_0x9e8; - undefined field1948_0x9e9; - undefined field1949_0x9ea; - undefined field1950_0x9eb; - undefined field1951_0x9ec; - undefined field1952_0x9ed; - undefined field1953_0x9ee; - undefined field1954_0x9ef; - undefined field1955_0x9f0; - undefined field1956_0x9f1; - undefined field1957_0x9f2; - undefined field1958_0x9f3; - undefined field1959_0x9f4; - undefined field1960_0x9f5; - undefined field1961_0x9f6; - undefined field1962_0x9f7; - undefined field1963_0x9f8; - undefined field1964_0x9f9; - undefined field1965_0x9fa; - undefined field1966_0x9fb; - undefined field1967_0x9fc; - undefined field1968_0x9fd; - undefined field1969_0x9fe; - undefined field1970_0x9ff; - undefined field1971_0xa00; - undefined field1972_0xa01; - undefined field1973_0xa02; - undefined field1974_0xa03; - undefined field1975_0xa04; - undefined field1976_0xa05; - undefined field1977_0xa06; - undefined field1978_0xa07; - undefined field1979_0xa08; - undefined field1980_0xa09; - undefined field1981_0xa0a; - undefined field1982_0xa0b; - undefined field1983_0xa0c; - undefined field1984_0xa0d; - undefined field1985_0xa0e; - undefined field1986_0xa0f; - undefined field1987_0xa10; - undefined field1988_0xa11; - undefined field1989_0xa12; - undefined field1990_0xa13; - undefined field1991_0xa14; - undefined field1992_0xa15; - undefined field1993_0xa16; - undefined field1994_0xa17; - undefined field1995_0xa18; - undefined field1996_0xa19; - undefined field1997_0xa1a; - undefined field1998_0xa1b; - undefined field1999_0xa1c; - undefined field2000_0xa1d; - undefined field2001_0xa1e; - undefined field2002_0xa1f; - undefined field2003_0xa20; - undefined field2004_0xa21; - undefined field2005_0xa22; - undefined field2006_0xa23; - undefined field2007_0xa24; - undefined field2008_0xa25; - undefined field2009_0xa26; - undefined field2010_0xa27; - undefined field2011_0xa28; - undefined field2012_0xa29; - undefined field2013_0xa2a; - undefined field2014_0xa2b; - undefined field2015_0xa2c; - undefined field2016_0xa2d; - undefined field2017_0xa2e; - undefined field2018_0xa2f; - undefined field2019_0xa30; - undefined field2020_0xa31; - undefined field2021_0xa32; - undefined field2022_0xa33; -}; - -typedef struct stAxisCaps stAxisCaps, *PstAxisCaps; - -typedef struct stAxisCaps INO_tdstAxisCaps; - -struct stAxisCaps { - long m_lCenter; - long m_lRange; - long m_lThreshold; -}; - -typedef struct INO_stDIDevice INO_tdstDIDevice; - -typedef struct IPT_tdstKeyWordElement_ IPT_tdstKeyWordElement_, *PIPT_tdstKeyWordElement_; - -typedef struct IPT_tdstKeyWordElement_ *IPT_tdxHandleToKeyWordElement; - -typedef uchar (IPT_tdfn_bIsKeyWordValid)(IPT_tdxHandleToKeyWordElement); - -typedef struct LST2_tdstAnchorToIPT_tdxHandleToKeyWordElementDyn LST2_tdstAnchorToIPT_tdxHandleToKeyWordElementDyn, *PLST2_tdstAnchorToIPT_tdxHandleToKeyWordElementDyn; - -typedef union tdu_KeyWordElementUnion_ tdu_KeyWordElementUnion_, *Ptdu_KeyWordElementUnion_; - -typedef struct IPT_tdstEntryElement_ IPT_tdstEntryElement_, *PIPT_tdstEntryElement_; - -typedef struct IPT_tdstEntryElement_ *IPT_tdxHandleToEntryElement; - -typedef struct LST2_tdstAnchorToIPT_tdxHandleToEntryElementDyn LST2_tdstAnchorToIPT_tdxHandleToEntryElementDyn, *PLST2_tdstAnchorToIPT_tdxHandleToEntryElementDyn; - -union tdu_KeyWordElementUnion_ { - short swJoyNumber; - short swJoyAction; - short swJoyValueMin; - short swJoyValueMax; - short swPadNumber; - short swPadAction; - short swKey; - short swKeyWord; - IPT_tdxHandleToEntryElement hEntryElement; - ulong ulNumberOfSequence; -}; - -struct LST2_tdstAnchorToIPT_tdxHandleToEntryElementDyn { - IPT_tdxHandleToEntryElement hFirstElementDyn; - IPT_tdxHandleToEntryElement hLastElementDyn; - long lNumberOfElementsDyn; -}; - -struct LST2_tdstAnchorToIPT_tdxHandleToKeyWordElementDyn { - IPT_tdxHandleToKeyWordElement hFirstElementDyn; - IPT_tdxHandleToKeyWordElement hLastElementDyn; - long lNumberOfElementsDyn; -}; - -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; -}; - -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_tdstConvertValue_ IPT_tdstConvertValue_, *PIPT_tdstConvertValue_; - -struct IPT_tdstConvertValue_ { -}; - -typedef struct IPT_tdstEntryElement_ IPT_tdstEntryElement; - -typedef struct IPT_tdstHistoricElement_ IPT_tdstHistoricElement_, *PIPT_tdstHistoricElement_; - -typedef struct IPT_tdstHistoricElement_ IPT_tdstHistoricElement; - -struct IPT_tdstHistoricElement_ { - uchar bf2State; - uchar bf6DeviceType; - uchar ucCounter; - short swDeviceValue; -}; - -typedef struct IPT_tdstInput_ IPT_tdstInput_, *PIPT_tdstInput_; - -typedef struct IPT_tdstInput_ IPT_tdstInput; - -typedef struct SCR_tdst_Link_Table_ SCR_tdst_Link_Table_, *PSCR_tdst_Link_Table_; - -typedef struct SCR_tdst_Link_Table_ SCR_tdst_Link_Table; - -typedef struct IPT_tdstHistoricElement_ *IPT_tdxHandleToHistoricElement; - -typedef struct SCR_tdst_DyAr_Header_ SCR_tdst_DyAr_Header_, *PSCR_tdst_DyAr_Header_; - -typedef struct SCR_tdst_DyAr_Header_ SCR_tdst_DyAr_Header; - -typedef struct SCR_tdst_DyAr_Description_ SCR_tdst_DyAr_Description_, *PSCR_tdst_DyAr_Description_; - -typedef struct SCR_tdst_DyAr_Description_ SCR_tdst_DyAr_Description; - -typedef struct SCR_tdst_DyAr_Element_ SCR_tdst_DyAr_Element_, *PSCR_tdst_DyAr_Element_; - -typedef struct SCR_tdst_DyAr_Element_ SCR_tdst_DyAr_Element; - -enum SCR_tde_DyAr_State { - SCR_EDAS_DyAr_Invalid=0, - SCR_EDAS_DyAr_Free=1, - SCR_EDAS_DyAr_Occupy=2 -}; - -struct SCR_tdst_DyAr_Description_ { - SCR_tdst_DyAr_Element *d_stDynArray; - uint uiNumValues; - uint uiMaxValues; -}; - -struct SCR_tdst_DyAr_Header_ { - uint uiIndexInArray; - uchar ucMemLevel; -}; - -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; -}; - -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; -}; - -struct SCR_tdst_DyAr_Element_ { - void *d_vElement; - enum SCR_tde_DyAr_State eState; -}; - -typedef SCR_tdst_DyAr_Description SCR_tda_st_Hash_Table[256]; - -typedef struct IPT_tdstKeyAndPadDefine_ IPT_tdstKeyAndPadDefine_, *PIPT_tdstKeyAndPadDefine_; - -typedef struct IPT_tdstKeyAndPadDefine_ IPT_tdstKeyAndPadDefine; - -struct IPT_tdstKeyAndPadDefine_ { - ushort uwBasedKey; - char *p_szFrenchKey; - char *p_szAmericanKey; -}; - -typedef struct IPT_tdstKeyWordElement_ IPT_tdstKeyWordElement; - -typedef struct IPT_tdstScriptValue_ IPT_tdstScriptValue_, *PIPT_tdstScriptValue_; - -struct IPT_tdstScriptValue_ { -}; - -typedef struct IPT_tdstInput_ *IPT_tdxHandleToInput; - -typedef struct IPT_tdstScriptValue_ *IPT_tdxHandleToScriptValue; - -typedef struct levelFixStruct levelFixStruct, *PlevelFixStruct; - -typedef unsigned int undefined4; -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 DIACTION *LPCDIACTION; - -typedef DIACTIONA *LPCDIACTIONA; - -typedef DIACTIONFORMAT *LPCDIACTIONFORMAT; - -typedef DIACTIONFORMATA *LPCDIACTIONFORMATA; - -typedef DIACTIONFORMATW *LPCDIACTIONFORMATW; - -typedef DIACTIONW *LPCDIACTIONW; - -typedef DICOLORSET *LPCDICOLORSET; - -typedef struct DICONDITION *LPCDICONDITION; - -typedef DICONFIGUREDEVICESPARAMS *LPCDICONFIGUREDEVICESPARAMS; - -typedef DICONFIGUREDEVICESPARAMSA *LPCDICONFIGUREDEVICESPARAMSA; - -typedef DICONFIGUREDEVICESPARAMSW *LPCDICONFIGUREDEVICESPARAMSW; - -typedef struct DICONSTANTFORCE *LPCDICONSTANTFORCE; - -typedef struct DICUSTOMFORCE *LPCDICUSTOMFORCE; - -typedef DIDEVICEIMAGEINFO *LPCDIDEVICEIMAGEINFO; - -typedef DIDEVICEIMAGEINFOA *LPCDIDEVICEIMAGEINFOA; - -typedef DIDEVICEIMAGEINFOHEADER *LPCDIDEVICEIMAGEINFOHEADER; - -typedef DIDEVICEIMAGEINFOHEADERA *LPCDIDEVICEIMAGEINFOHEADERA; - -typedef DIDEVICEIMAGEINFOHEADERW *LPCDIDEVICEIMAGEINFOHEADERW; - -typedef DIDEVICEIMAGEINFOW *LPCDIDEVICEIMAGEINFOW; - -typedef DIDEVICEINSTANCE *LPCDIDEVICEINSTANCE; - -typedef DIDEVICEINSTANCE_DX3 *LPCDIDEVICEINSTANCE_DX3; - -typedef struct DIDEVICEINSTANCE_DX3A *LPCDIDEVICEINSTANCE_DX3A; - -typedef struct DIDEVICEINSTANCE_DX3W *LPCDIDEVICEINSTANCE_DX3W; - -typedef struct DIDEVICEOBJECTDATA_DX3 *LPCDIDEVICEOBJECTDATA_DX; - -typedef DIDEVICEOBJECTINSTANCE *LPCDIDEVICEOBJECTINSTANCE; - -typedef DIDEVICEOBJECTINSTANCE_DX3 *LPCDIDEVICEOBJECTINSTANCE_DX3; - -typedef struct DIDEVICEOBJECTINSTANCE_DX3A *LPCDIDEVICEOBJECTINSTANCE_DX3A; - -typedef struct DIDEVICEOBJECTINSTANCE_DX3W *LPCDIDEVICEOBJECTINSTANCE_DX3W; - -typedef struct DIEFFECT_DX5 *LPCDIEFFECT_DX5; - -typedef DIEFFECTINFO *LPCDIEFFECTINFO; - -typedef struct DIENVELOPE *LPCDIENVELOPE; - -typedef DIOBJECTDATAFORMAT *LPCDIOBJECTDATAFORMAT; - -typedef struct DIPERIODIC *LPCDIPERIODIC; - -typedef struct DIPROPCAL *LPCDIPROPCAL; - -typedef struct DIPROPCPOINTS *LPCDIPROPCPOINTS; - -typedef struct DIPROPDWORD *LPCDIPROPDWORD; - -typedef struct DIPROPGUIDANDPATH *LPCDIPROPGUIDANDPATH; - -typedef struct DIPROPPOINTER *LPCDIPROPPOINTER; - -typedef struct DIPROPRANGE *LPCDIPROPRANGE; - -typedef struct DIPROPSTRING *LPCDIPROPSTRING; - -typedef struct DIRAMPFORCE *LPCDIRAMPFORCE; - -typedef GUID *LPCGUID; - -typedef CLSID *LPCLSID; - -typedef LPDIACTIONA LPDIACTION; - -typedef LPDIACTIONFORMATA LPDIACTIONFORMAT; - -typedef struct _DICOLORSET *LPDICOLORSET; - -typedef struct DICONDITION *LPDICONDITION; - -typedef LPDICONFIGUREDEVICESPARAMSA LPDICONFIGUREDEVICESPARAMS; - -typedef struct DICONSTANTFORCE *LPDICONSTANTFORCE; - -typedef struct DICUSTOMFORCE *LPDICUSTOMFORCE; - -typedef struct _DIDATAFORMAT *LPDIDATAFORMAT; - -typedef struct DIDEVCAPS_DX3 *LPDIDEVCAPS_DX3; - -typedef LPDIDEVICEIMAGEINFOA LPDIDEVICEIMAGEINFO; - -typedef LPDIDEVICEIMAGEINFOHEADERA LPDIDEVICEIMAGEINFOHEADER; - -typedef LPDIDEVICEINSTANCEA LPDIDEVICEINSTANCE; - -typedef struct DIDEVICEINSTANCE_DX3A *LPDIDEVICEINSTANCE_DX3A; - -typedef LPDIDEVICEINSTANCE_DX3A LPDIDEVICEINSTANCE_DX3; - -typedef struct DIDEVICEINSTANCE_DX3W *LPDIDEVICEINSTANCE_DX3W; - -typedef struct DIDEVICEOBJECTDATA_DX3 *LPDIDEVICEOBJECTDATA_DX3; - -typedef LPDIDEVICEOBJECTINSTANCEA LPDIDEVICEOBJECTINSTANCE; - -typedef struct DIDEVICEOBJECTINSTANCE_DX3A *LPDIDEVICEOBJECTINSTANCE_DX3A; - -typedef LPDIDEVICEOBJECTINSTANCE_DX3A LPDIDEVICEOBJECTINSTANCE_DX3; - -typedef struct DIDEVICEOBJECTINSTANCE_DX3W *LPDIDEVICEOBJECTINSTANCE_DX3W; - -typedef struct DIEFFECT_DX5 *LPDIEFFECT_DX5; - -typedef LPDIEFFECT LPDIEFFECT_DX6; - -typedef LPDIEFFECTINFOA LPDIEFFECTINFO; - -typedef struct DIJOYSTATE *LPDIJOYSTATE; - -typedef struct DIJOYSTATE2 *LPDIJOYSTATE2; - -typedef struct _DIMOUSESTATE *LPDIMOUSESTATE; - -typedef struct _DIMOUSESTATE2 *LPDIMOUSESTATE2; - -typedef struct DIPERIODIC *LPDIPERIODIC; - -typedef struct DIPROPCAL *LPDIPROPCAL; - -typedef struct DIPROPCPOINTS *LPDIPROPCPOINTS; - -typedef struct DIPROPDWORD *LPDIPROPDWORD; - -typedef struct DIPROPGUIDANDPATH *LPDIPROPGUIDANDPATH; - -typedef struct DIPROPPOINTER *LPDIPROPPOINTER; - -typedef struct DIPROPRANGE *LPDIPROPRANGE; - -typedef struct DIPROPSTRING *LPDIPROPSTRING; - -typedef struct DIRAMPFORCE *LPDIRAMPFORCE; - -typedef struct IDirectInputA *LPDIRECTINPUT; - -typedef struct IDirectInput2A *LPDIRECTINPUT2; - -typedef struct IDirectInput2A *LPDIRECTINPUT2A; - -typedef struct IDirectInput2W *LPDIRECTINPUT2W; - -typedef struct IDirectInput7A *LPDIRECTINPUT7; - -typedef struct IDirectInput7A *LPDIRECTINPUT7A; - -typedef struct IDirectInput7W *LPDIRECTINPUT7W; - -typedef struct IDirectInput8A *LPDIRECTINPUT8; - -typedef struct IDirectInput8A *LPDIRECTINPUT8A; - -typedef struct IDirectInput8W *LPDIRECTINPUT8W; - -typedef struct IDirectInputA *LPDIRECTINPUTA; - -typedef struct IDirectInputDevice2A *LPDIRECTINPUTDEVICE2A; - -typedef struct IDirectInputDevice2W *LPDIRECTINPUTDEVICE2W; - -typedef struct IDirectInputDevice7A *LPDIRECTINPUTDEVICE7; - -typedef struct IDirectInputDevice7A *LPDIRECTINPUTDEVICE7A; - -typedef struct IDirectInputDevice7W *LPDIRECTINPUTDEVICE7W; - -typedef struct IDirectInputDevice8A *LPDIRECTINPUTDEVICE8; - -typedef struct IDirectInputW *LPDIRECTINPUTW; - -typedef FMTID *LPFMTID; - - -/* WARNING! conflicting data type names: /Guiddef.h/LPGUID - /guiddef.h/LPGUID */ - -typedef IID *LPIID; - -typedef struct LST2_tdstAnchorToGLI_tdstNodeCameraDyn LST2_tdstAnchorToGLI_tdstNodeCameraDyn, *PLST2_tdstAnchorToGLI_tdstNodeCameraDyn; - -struct LST2_tdstAnchorToGLI_tdstNodeCameraDyn { -}; - -typedef struct LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeSLk LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeSLk, *PLST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeSLk; - -typedef struct tdstNodeMainCharacter_ tdstNodeMainCharacter_, *PtdstNodeMainCharacter_; - -typedef struct tdstNodeMainCharacter_ *MC_tdxHandleToMainCharacterNode; - -struct LST2_tdstAnchorToMC_tdxHandleToMainCharacterNodeSLk { - MC_tdxHandleToMainCharacterNode hFirstElementSLk; - MC_tdxHandleToMainCharacterNode hLastElementSLk; - long lNumberOfElementsSLk; -}; - -struct tdstNodeMainCharacter_ { -}; - -typedef struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn, *PLST2_tdstAnchorTotdhHandleToObjectTypeElementDyn; - -typedef struct tdstObjectTypeElement_ tdstObjectTypeElement_, *PtdstObjectTypeElement_; - -typedef struct tdstObjectTypeElement_ *ObjectTypeElementHandle; - -struct tdstObjectTypeElement_ { - ObjectTypeElementHandle hNextBrotherDyn; - ObjectTypeElementHandle hPrevBrotherDyn; - struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn *hFatherDyn; - char *szName; - uchar ucElementPriority; -}; - -struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn { - ObjectTypeElementHandle hFirstElementDyn; - ObjectTypeElementHandle hLastElementDyn; - long lNumberOfElementsDyn; -}; - -typedef struct LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeSLk LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeSLk, *PLST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeSLk; - -typedef struct tdstAlwaysActiveCharacter_ tdstAlwaysActiveCharacter_, *PtdstAlwaysActiveCharacter_; - -typedef struct tdstAlwaysActiveCharacter_ *tdxHandleToAlwaysActiveCharacterNode; - -struct tdstAlwaysActiveCharacter_ { -}; - -struct LST2_tdstAnchorTotdxHandleToAlwaysActiveCharacterNodeSLk { - tdxHandleToAlwaysActiveCharacterNode hFirstElementSLk; - tdxHandleToAlwaysActiveCharacterNode hLastElementSLk; - long lNumberOfElementsSLk; -}; - -typedef struct LST2_tdstAnchorTotdxHandleToNodeCameraSLk LST2_tdstAnchorTotdxHandleToNodeCameraSLk, *PLST2_tdstAnchorTotdxHandleToNodeCameraSLk; - -typedef struct NodeCamera NodeCamera, *PNodeCamera; - -struct LST2_tdstAnchorTotdxHandleToNodeCameraSLk { - struct NodeCamera *hFirstElementSLk; - struct NodeCamera *hLastElementSLk; - long lNumberOfElementsSLk; -}; - -struct NodeCamera { -}; - -typedef struct LST2_tdstAnchorTotdxHandleToObjectsTablesListSLk LST2_tdstAnchorTotdxHandleToObjectsTablesListSLk, *PLST2_tdstAnchorTotdxHandleToObjectsTablesListSLk; - -typedef struct tdstObjectsTablesList_ tdstObjectsTablesList_, *PtdstObjectsTablesList_; - -typedef struct tdstObjectsTablesList_ *tdxHandleToObjectsTablesList; - -struct LST2_tdstAnchorTotdxHandleToObjectsTablesListSLk { - tdxHandleToObjectsTablesList hFirstElementSLk; - tdxHandleToObjectsTablesList hLastElementSLk; - long lNumberOfElementsSLk; -}; - -struct tdstObjectsTablesList_ { -}; - -typedef struct LST2_tdstAnchorTotdxHandleToProhibitSLk LST2_tdstAnchorTotdxHandleToProhibitSLk, *PLST2_tdstAnchorTotdxHandleToProhibitSLk; - -typedef struct tdstProhibit_ tdstProhibit_, *PtdstProhibit_; - -typedef struct tdstProhibit_ *tdxHandleToProhibit; - -struct LST2_tdstAnchorTotdxHandleToProhibitSLk { - tdxHandleToProhibit hFirstElementSLk; - tdxHandleToProhibit hLastElementSLk; - long lNumberOfElementsSLk; -}; - -struct tdstProhibit_ { -}; - -typedef struct LST2_tdstAnchorTotdxHandleToStateSLk LST2_tdstAnchorTotdxHandleToStateSLk, *PLST2_tdstAnchorTotdxHandleToStateSLk; - -typedef struct tdstState_ tdstState_, *PtdstState_; - -typedef struct tdstState_ *tdxHandleToState; - -struct tdstState_ { -}; - -struct LST2_tdstAnchorTotdxHandleToStateSLk { - tdxHandleToState hFirstElementSLk; - tdxHandleToState hLastElementSLk; - long lNumberOfElementsSLk; -}; - -typedef struct LST2_tdstAnchorTotdxHandleToTransitionSLk LST2_tdstAnchorTotdxHandleToTransitionSLk, *PLST2_tdstAnchorTotdxHandleToTransitionSLk; - -typedef struct tdstTransition_ tdstTransition_, *PtdstTransition_; - -typedef struct tdstTransition_ *tdxHandleToTransition; - -struct LST2_tdstAnchorTotdxHandleToTransitionSLk { - tdxHandleToTransition hFirstElementSLk; - tdxHandleToTransition hLastElementSLk; - long lNumberOfElementsSLk; -}; - -struct tdstTransition_ { -}; - -typedef struct m7_init_struct m7_init_struct, *Pm7_init_struct; - -typedef unsigned char undefined1; -struct m7_init_struct { - dword field0_0x0; - dword field1_0x4; - 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 _MicroParam MicroParam; - -typedef struct mod1_ptrs mod1_ptrs, *Pmod1_ptrs; - -struct mod1_ptrs { - pointer field0_0x0; - pointer field1_0x4; - pointer field2_0x8; -}; - -typedef void *MS_tdxHandleTo3dData; - -typedef void *MS_tdxHandleToAnimEffect; - -typedef struct tdstBrain_ tdstBrain_, *PtdstBrain_; - -typedef struct tdstBrain_ *MS_tdxHandleToBrain; - -struct tdstBrain_ { - struct AI_tdstMind_ *p_stMind; - GMT_tdxHandleToGameMaterial hLastCollidedGoThroughMaterial; - bool bWarnMechanicsFlag; -}; - -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 _CPOINT *PCPOINT; - -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; - float field5_0x14[32]; -}; - -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; - -typedef uint uint32_t; - -struct r3_TaggedFloatUnk { - uint32_t type; - struct Float4x4 mat0; - struct Float4 unk; -}; - -typedef struct levelFixStruct *relPtr; - -typedef struct _SampleParam SampleParam; - -enum SCR_tde_Link_State_ { - SCR_ELS_Link_NotInitialized=0, - SCR_ELS_Link_Initialized=1 -}; - -typedef enum SCR_tde_Link_State_ SCR_tde_Link_State; - -typedef struct SCR_tdst_Link_AdditionalInfos_ SCR_tdst_Link_AdditionalInfos_, *PSCR_tdst_Link_AdditionalInfos_; - -typedef struct SCR_tdst_Link_AdditionalInfos_ SCR_tdst_Link_AdditionalInfos; - -struct SCR_tdst_Link_AdditionalInfos_ { - ulong ulLong1; - ulong ulLong2; - ulong ulLong3; - ulong ulLong4; -}; - -typedef struct SCR_tdst_Link_Value_ SCR_tdst_Link_Value_, *PSCR_tdst_Link_Value_; - -typedef struct SCR_tdst_Link_Value_ SCR_tdst_Link_Value; - -typedef uint SCR_tdx_Hash_Key; - -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; - int *field1_0x4; - int *field2_0x8; - int *field3_0xc; - int *field4_0x10; - int *callback; /* callback? */ - int *field6_0x18; - int *field7_0x1c; -}; - -typedef long SND_FileAsyncHandle; - -typedef HANDLE SND_FileHandle; - -typedef struct SND_Request3 SND_Request3, *PSND_Request3; - -struct SND_Request3 { - undefined4 g_sndReq0; - undefined4 g_sndReq1; - undefined4 g_sndReq2; -}; - -typedef struct _SND_tdstCallback SND_tdstCallback; - -typedef struct _SND_tdstFormat SND_tdstFormat; - -typedef struct _SND_tdstStackBuffer SND_tdstStackBuffer; - -typedef struct _SND_tdstBlockEvent *SND_tdxHandleToSoundEvent; - -typedef struct _virtual_module *SND_VirtualModuleHandle; - -typedef long SndRealTwin; - -typedef struct _SoundParam SoundParam; - -typedef SndBool (*td_pfn_bRetChannelAbsCoord)(long, long); - -typedef SndBool (*td_pfn_bRetRollOffFactor)(long, RollOffParam *); - -typedef void (*td_pfn_vCopyString)(long, char *, long); - -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 enum tdeObjectTreeInit_ tdeObjectTreeInit; - -typedef ulong (tdfn_ulSizeofHandleFunction)(void); - -typedef struct tdstEngineObject_ tdstEngineObject_, *PtdstEngineObject_; - -typedef void (tdfn_vAllocHandleFunction)(struct tdstEngineObject_ *); - -struct tdstEngineObject_ { - MS_tdxHandleTo3dData h_3dData; - MS_tdxHandleToStandardGame h_StandardGame; - MS_tdxHandleToDynam h_Dynam; - MS_tdxHandleToBrain 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 void (tdfn_vCopyCloneMSFunction)(struct tdstEngineObject_ *, struct tdstEngineObject_ *); - -typedef void (tdfn_vInitHandleFunction)(struct tdstEngineObject_ *, enum tdeObjectTreeInit_); - -typedef char * (*tdpfnResNameCallback)(ulong); - -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 _tdstAllRetChannelSound tdstAllRetChannelSound; - -typedef struct _tdstAllRetMicroSound tdstAllRetMicroSound; - -typedef struct _tdstAllRetObjectSound tdstAllRetObjectSound; - -typedef struct tdstAviHeader_ tdstAviHeader_, *PtdstAviHeader_; - -typedef struct tdstAviHeader_ tdstAviHeader; - -struct tdstAviHeader_ { - uchar ucRIFFMark[4]; - long lLength; - uchar ucAVIMark[4]; -}; - -typedef struct tdstBlockInfo_ tdstBlockInfo_, *PtdstBlockInfo_; - -typedef struct tdstBlockInfo_ tdstBlockInfo; - -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 _tdstBlockResourceDisk tdstBlockResourceDisk; - -typedef struct _tdstBlockResourceMem tdstBlockResourceMem; - -typedef struct tdstChannelInfo_ tdstChannelInfo_, *PtdstChannelInfo_; - -typedef struct tdstChannelInfo_ tdstChannelInfo; - -struct tdstChannelInfo_ { - ulong ulThreadId; - uchar ucGroupId; -}; - -typedef struct tdstChunkHeader_ tdstChunkHeader_, *PtdstChunkHeader_; - -typedef struct tdstChunkHeader_ tdstChunkHeader; - -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 tdstEngineObject_ tdstEngineObject; - -typedef struct tdstGeneralChannelsInfo_ tdstGeneralChannelsInfo_, *PtdstGeneralChannelsInfo_; - -struct tdstGeneralChannelsInfo_ { - uchar ucNbchannelUsed; - uchar ucMAxNbChannel; - tdstChannelInfo *d_stTabChannelInfo; -}; - -typedef struct tdstInformationHeaderOfBlockWithoutFree_ tdstInformationHeaderOfBlockWithoutFree_, *PtdstInformationHeaderOfBlockWithoutFree_; - -typedef struct tdstInformationHeaderOfBlockWithoutFree_ tdstInformationHeaderOfBlockWithoutFree; - -struct tdstInformationHeaderOfBlockWithoutFree_ { - uchar ucBoundededHeaderSize; - uchar ucAlignment; - uchar ucMode; -}; - -typedef struct _tdstInfoTrackDisk tdstInfoTrackDisk; - -typedef struct _tdstInfoTrackList tdstInfoTrackList; - -typedef struct _tdstInfoTrackMem tdstInfoTrackMem; - -typedef struct tdstLastErrorInfo tdstLastErrorInfo, *PtdstLastErrorInfo; - -struct tdstLastErrorInfo { - word lastErr; - char ucLastFailedModuleId; - dword ulChannelId; -}; - -typedef struct tdstLastErrorInfo *tdstLastErrorInfo_ptr_2_char; - -typedef struct tdstLastErrorInfo *tdstLastErrorInfo_ptr_4_char; - -typedef struct tdstLastErrorInfo *tdstLastErrorInfo_ptr_4_dword; - -typedef struct tdstLipsSynchroTable_ tdstLipsSynchroTable_, *PtdstLipsSynchroTable_; - -struct tdstLipsSynchroTable_ { -}; - -typedef struct _tdstMidiMemory tdstMidiMemory; - -typedef struct _tdstMidiStreaming tdstMidiStreaming; - -typedef struct stMorphData tdstMorphData; - -typedef struct tdstObjectsTableElement_ tdstObjectsTableElement_, *PtdstObjectsTableElement_; - -struct tdstObjectsTableElement_ { -}; - -typedef struct tdstObjectType_ tdstObjectType_, *PtdstObjectType_; - -typedef struct tdstObjectType_ tdstObjectType; - -struct tdstObjectType_ { - struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn hFamilyType; - struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn hModelType; - struct LST2_tdstAnchorTotdhHandleToObjectTypeElementDyn hPersonalType; -}; - -typedef struct tdstObjectTypeElement_ tdstObjectTypeElement; - -typedef struct tdstParticleGenerator_ tdstParticleGenerator_, *PtdstParticleGenerator_; - -struct tdstParticleGenerator_ { -}; - -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_, *PtdstSndBankDescriptorList_; - -typedef struct tdstSndBankDescriptorList_ tdstSndBankDescriptorList; - -struct tdstSndBankDescriptorList_ { -}; - -typedef struct _tdstSndBankHead tdstSndBankHead; - -typedef struct _tdstSndBankHeader tdstSndBankHeader; - -typedef struct _tdstSndPolyEvent tdstSndPolyEvent; - -typedef struct _tdstSndPolyResource tdstSndPolyResource; - -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_; - -typedef struct tdstSubAnim3d_ tdstSubAnim3d; - -struct tdstSubAnim3d_ { - uchar ucCurrentFrame; - uchar ucRepeatAnimation; - uchar ucElement; - struct tdstState_ *p_stCurrentState; -}; - -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 tdstTimerCount tdstTimerCount, *PtdstTimerCount; - -struct tdstTimerCount { - ulong ulLowPart; - ulong ulHighPart; -}; - -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 struct tdstViewportManagement_ tdstViewportManagement_, *PtdstViewportManagement_; - -struct tdstViewportManagement_ { -}; - -typedef struct tdstZdxList_ tdstZdxList_, *PtdstZdxList_; - -struct tdstZdxList_ { -}; - -typedef struct tdstZoneSetList_ tdstZoneSetList_, *PtdstZoneSetList_; - -struct tdstZoneSetList_ { -}; - -typedef union _tduBlockResource _tduBlockResource, *P_tduBlockResource; - -typedef union _tduBlockResource tduBlockResource; - -union _tduBlockResource { -}; - -typedef union _tduDataMidi _tduDataMidi, *P_tduDataMidi; - -typedef union _tduDataMidi tduDataMidi; - -union _tduDataMidi { -}; - -typedef union _tduDataSample _tduDataSample, *P_tduDataSample; - -typedef union _tduDataSample tduDataSample; - -union _tduDataSample { -}; - -typedef union _tduRefRes _tduRefRes, *P_tduRefRes; - -typedef union _tduRefRes tduRefRes; - -union _tduRefRes { - tdxId Id; - tdstBlockResourceMem *pstPtr; -}; - -typedef union _tduResDisk _tduResDisk, *P_tduResDisk; - -typedef union _tduResDisk tduResDisk; - -union _tduResDisk { -}; - -typedef union _tduResMem _tduResMem, *P_tduResMem; - -typedef union _tduResMem tduResMem; - -union _tduResMem { -}; - -typedef struct tdstLipsSynchroTable_ *tdxHandleOfLipsSynchroTable; - -typedef struct tdstObjectsTableElement_ *tdxHandleToObjectsTableElement; - -typedef struct tdstParticleGenerator_ *tdxHandleToParticleGenerator; - -typedef struct tdstViewportManagement_ *tdxHandleToViewportManagement; - -typedef void *tdxHandleToVoid; - -typedef struct _s_TryBlockMapEntry TryBlockMapEntry; - -typedef struct _s_UnwindMapEntry UnwindMapEntry; - -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 struct tdstCsaList_ *ZDX_tdxHandleToCsaList; - -typedef struct tdstZdxList_ *ZDX_tdxHandleToZdxList; - -typedef struct tdstZoneSetList_ *ZDX_tdxHandleToZoneSetList; - -#endif // GH_GENERATED_STRUCTS_H diff --git a/game_re/r3/binders/auto.h b/game_re/r3/binders/auto.h index 1cb96277..216e3a8e 100644 --- a/game_re/r3/binders/auto.h +++ b/game_re/r3/binders/auto.h @@ -3,7 +3,12 @@ #ifndef B8D59B54_1674_4C0F_AA2C_611385FF5D03 #define B8D59B54_1674_4C0F_AA2C_611385FF5D03 +#if RE_DBG_INJECTED +#include "dbg_mem.h" +#else #include "static_mem.h" +#endif + #include "base.h" #include @@ -108,6 +113,6 @@ inline longlong r3_ftol(float a) { return (longlong)a; } constexpr byte R3ModId_not_initialized = 0xff; -#include "stubexcept.h" +#include "stub.h" #endif /* B8D59B54_1674_4C0F_AA2C_611385FF5D03 */ diff --git a/game_re/r3/binders/dbg_mem.cxx b/game_re/r3/binders/dbg_mem.cxx new file mode 100644 index 00000000..a93aafa6 --- /dev/null +++ b/game_re/r3/binders/dbg_mem.cxx @@ -0,0 +1,4 @@ +#include "r3/config/static.hpp" + +void gh_init_dbg_loader() { +} \ No newline at end of file diff --git a/game_re/r3/binders/dbg_mem.h b/game_re/r3/binders/dbg_mem.h new file mode 100644 index 00000000..d6a00618 --- /dev/null +++ b/game_re/r3/binders/dbg_mem.h @@ -0,0 +1,15 @@ +#ifndef BD364AE6_AD96_4DEA_9D6B_B237BC1E2C6A +#define BD364AE6_AD96_4DEA_9D6B_B237BC1E2C6A + +#include + +template inline constexpr void checkMappedMemory() { + static_assert(addr >= GH_DATA_START, "Address outside lower bound"); + static_assert(addr < GH_DATA_END, "Address outside upper bound"); +} + +void gh_init_dbg_loader(); + +#define GH_MEM(addr) (checkMappedMemory(), *memoryMapSafe(addr)) + +#endif /* BD364AE6_AD96_4DEA_9D6B_B237BC1E2C6A */ diff --git a/game_re/r3/binders/global.h b/game_re/r3/binders/global.h index ebd1da98..85da3243 100644 --- a/game_re/r3/binders/global.h +++ b/game_re/r3/binders/global.h @@ -4,7 +4,11 @@ #define EDBE48FC_B879_4985_9274_B7ACF24AD024 #include "base.h" +#if RE_DBG_INJECTED +#include "dbg_mem.h" +#else #include "static_mem.h" +#endif #include #endif /* EDBE48FC_B879_4985_9274_B7ACF24AD024 */ diff --git a/game_re/r3/binders/stub.cxx b/game_re/r3/binders/stub.cxx new file mode 100644 index 00000000..397ff4cd --- /dev/null +++ b/game_re/r3/binders/stub.cxx @@ -0,0 +1,5 @@ +#include + +GHStubException::GHStubException(const char *msg) : std::exception(msg) { + SPDLOG_ERROR("{}", msg); +} \ No newline at end of file diff --git a/game_re/r3/binders/stub.h b/game_re/r3/binders/stub.h new file mode 100644 index 00000000..e45d0edd --- /dev/null +++ b/game_re/r3/binders/stub.h @@ -0,0 +1,34 @@ +#ifndef AE625BF8_B0F9_452E_8772_8819F311CB57 +#define AE625BF8_B0F9_452E_8772_8819F311CB57 + +#include + +struct GHStubException : public std::exception { + GHStubException(const char *msg); +}; + +void *gh_stub_impl_ptr(void *ptr); + +template +T gh_stub_impl_cdecl(void *ptr, Args... args) { +#if RE_DBG_INJECTED + using Callable = __cdecl T (*)(Args...); + static Callable *ptr = (Callable *)gh_stub_impl_ptr(ptr); + return ptr(args...); +#else + throw GHStubException("Function not implemented"); +#endif +} + +template +T gh_stub_impl_stdcall(void *ptr, Args... args) { +#if RE_DBG_INJECTED + using Callable = __stdcall T (*)(Args...); + static Callable *ptr = (Callable *)gh_stub_impl_ptr(ptr); + return ptr(args...); +#else + throw GHStubException("Function not implemented"); +#endif +} + +#endif /* AE625BF8_B0F9_452E_8772_8819F311CB57 */ diff --git a/game_re/r3/binders/stubexcept.h b/game_re/r3/binders/stubexcept.h deleted file mode 100644 index c5793dd0..00000000 --- a/game_re/r3/binders/stubexcept.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef AE625BF8_B0F9_452E_8772_8819F311CB57 -#define AE625BF8_B0F9_452E_8772_8819F311CB57 - -#include - -struct GHStubException : public std::exception { - GHStubException(const char *msg); -}; - -#endif /* AE625BF8_B0F9_452E_8772_8819F311CB57 */ diff --git a/game_re/r3/main.cpp b/game_re/r3/main.cxx similarity index 72% rename from game_re/r3/main.cpp rename to game_re/r3/main.cxx index 4a54535d..242ddf48 100644 --- a/game_re/r3/main.cpp +++ b/game_re/r3/main.cxx @@ -2,22 +2,27 @@ #include #include #include +#include + +#if RE_DBG_INJECTED +#include +#else #include -#include +#endif // Error reporting and such -extern "C" void r3_noop(void*, void*) {} +extern "C" void r3_noop(void *, void *) {} extern "C" int r3_main(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR *cmdline, int showCmd); -GHStubException::GHStubException(const char *msg) : std::exception(msg) { - SPDLOG_ERROR("{}", msg); -} - int main(int argc, char **argv) { try { +#if RE_DBG_INJECTED + gh_init_dbg_loader(); +#else gh_init_data_segment(); +#endif r3_main(GetModuleHandle(NULL), NULL, argv, SW_SHOW); } catch (const std::exception &e) { diff --git a/java/ghidra/Decompile.java b/java/ghidra/Decompile.java index 62218730..d3389168 100644 --- a/java/ghidra/Decompile.java +++ b/java/ghidra/Decompile.java @@ -150,16 +150,16 @@ public class Decompile extends GhidraScript { return; } - RecompileConfig.INSTANCE = new RecompileConfig(this); + RemanConfig.INSTANCE = new RemanConfig(this); - if (!new File(RecompileConfig.INSTANCE.outputDir).exists()) { - throw new Exception("Output directory does not exist: " + RecompileConfig.INSTANCE.outputDir); + if (!new File(RemanConfig.INSTANCE.outputDir).exists()) { + throw new Exception("Output directory does not exist: " + RemanConfig.INSTANCE.outputDir); } // Make sure to create output folders - RecompileConfig.INSTANCE.dirDecompFix.mkdirs(); - RecompileConfig.INSTANCE.dirDecompAuto.mkdirs(); - RecompileConfig.INSTANCE.dirDecompRef.mkdirs(); + RemanConfig.INSTANCE.dirDecompFix.mkdirs(); + RemanConfig.INSTANCE.dirDecompAuto.mkdirs(); + RemanConfig.INSTANCE.dirDecompRef.mkdirs(); // buildFunctionBlacklist(); diff --git a/java/ghidra/DumpCurrentFunction.java b/java/ghidra/DumpCurrentFunction.java index ae214c4c..c1987d5a 100644 --- a/java/ghidra/DumpCurrentFunction.java +++ b/java/ghidra/DumpCurrentFunction.java @@ -6,13 +6,13 @@ import ghidra.app.script.GhidraScript; import ghidra.program.model.listing.Function; import re3lib.FunctionDumper; import re3lib.GlobalDumper; -import re3lib.RecompileConfig; +import re3lib.RemanConfig; public class DumpCurrentFunction extends GhidraScript { @Override public void run() throws Exception { - RecompileConfig.INSTANCE = new RecompileConfig(this); - RecompileConfig.INSTANCE.createDirectories(); + RemanConfig.INSTANCE = new RemanConfig(this); + RemanConfig.INSTANCE.createDirectories(); GlobalDumper globalDumper = new GlobalDumper(this); globalDumper.loadGlobalManifest(); @@ -26,7 +26,7 @@ public class DumpCurrentFunction extends GhidraScript { } if (functionDumper.createdFile) - RecompileConfig.INSTANCE.touchCMakeTimestamp(); + RemanConfig.INSTANCE.touchCMakeTimestamp(); globalDumper.dumpGlobals(); globalDumper.saveGlobalManifest(); diff --git a/java/ghidra/DumpCurrentFunctionN.java b/java/ghidra/DumpCurrentFunctionN.java index bb45bef7..e094596d 100644 --- a/java/ghidra/DumpCurrentFunctionN.java +++ b/java/ghidra/DumpCurrentFunctionN.java @@ -12,7 +12,7 @@ import ghidra.program.model.listing.Function; import re3lib.FunctionDumper; import re3lib.GlobalDumper; import re3lib.PCallTracer; -import re3lib.RecompileConfig; +import re3lib.RemanConfig; import re3lib.TypeDumper; public class DumpCurrentFunctionN extends GhidraScript { @@ -43,8 +43,8 @@ public class DumpCurrentFunctionN extends GhidraScript { @Override public void run() throws Exception { - RecompileConfig.INSTANCE = new RecompileConfig(this); - RecompileConfig.INSTANCE.createDirectories(); + RemanConfig.INSTANCE = new RemanConfig(this); + RemanConfig.INSTANCE.createDirectories(); GlobalDumper globalDumper = new GlobalDumper(this); globalDumper.loadGlobalManifest(); diff --git a/java/ghidra/DumpCurrentFunctionRecursive.java b/java/ghidra/DumpCurrentFunctionRecursive.java index 4de46f50..d5e74694 100644 --- a/java/ghidra/DumpCurrentFunctionRecursive.java +++ b/java/ghidra/DumpCurrentFunctionRecursive.java @@ -10,14 +10,14 @@ import ghidra.program.model.listing.Function; import re3lib.FunctionDumper; import re3lib.GlobalDumper; import re3lib.PCallTracer; -import re3lib.RecompileConfig; +import re3lib.RemanConfig; import re3lib.TypeDumper; public class DumpCurrentFunctionRecursive extends GhidraScript { @Override public void run() throws Exception { - RecompileConfig.INSTANCE = new RecompileConfig(this); - RecompileConfig.INSTANCE.createDirectories(); + RemanConfig.INSTANCE = new RemanConfig(this); + RemanConfig.INSTANCE.createDirectories(); GlobalDumper globalDumper = new GlobalDumper(this); globalDumper.loadGlobalManifest(); @@ -65,7 +65,7 @@ public class DumpCurrentFunctionRecursive extends GhidraScript { } if (functionDumper.createdFile) - RecompileConfig.INSTANCE.touchCMakeTimestamp(); + RemanConfig.INSTANCE.touchCMakeTimestamp(); globalDumper.dumpGlobals(); globalDumper.saveGlobalManifest(); diff --git a/java/ghidra/ExportData.java b/java/ghidra/ExportData.java index 38a921eb..d2aff66a 100644 --- a/java/ghidra/ExportData.java +++ b/java/ghidra/ExportData.java @@ -7,7 +7,7 @@ import java.io.FileOutputStream; import java.io.PrintWriter; import ghidra.app.script.GhidraScript; import ghidra.program.model.address.Address; -import re3lib.RecompileConfig; +import re3lib.RemanConfig; public class ExportData extends GhidraScript { @@ -16,16 +16,16 @@ public class ExportData extends GhidraScript { if (currentProgram == null) { return; } - RecompileConfig.INSTANCE = new RecompileConfig(this); + RemanConfig.INSTANCE = new RemanConfig(this); - String dataFile = new File(RecompileConfig.INSTANCE.outputDir, "gh_datasegment.bin").toString(); - String headerFile = new File(RecompileConfig.INSTANCE.outputDir, "gh_datasegment.h").toString(); + String dataFile = new File(RemanConfig.INSTANCE.outputDir, "gh_datasegment.bin").toString(); + String headerFile = new File(RemanConfig.INSTANCE.outputDir, "gh_datasegment.h").toString(); FileOutputStream dataOutputStream = new FileOutputStream(dataFile); PrintWriter headerWriter = new PrintWriter(headerFile, "UTF-8"); - Address startAddr = RecompileConfig.INSTANCE.staticMemoryBlockStart; - Address endAddr = RecompileConfig.INSTANCE.staticMemoryBlockEnd; + Address startAddr = RemanConfig.INSTANCE.staticMemoryBlockStart; + Address endAddr = RemanConfig.INSTANCE.staticMemoryBlockEnd; // Dump all the memory to the bin file int numBytes = (int) endAddr.subtract(startAddr); diff --git a/java/ghidra/SanitizeGlobalSymbols.java b/java/ghidra/SanitizeGlobalSymbols.java index 8f0987b5..5576d44b 100644 --- a/java/ghidra/SanitizeGlobalSymbols.java +++ b/java/ghidra/SanitizeGlobalSymbols.java @@ -4,13 +4,13 @@ import ghidra.app.script.GhidraScript; import re3lib.GlobalDumper; -import re3lib.RecompileConfig; +import re3lib.RemanConfig; public class SanitizeGlobalSymbols extends GhidraScript { @Override public void run() throws Exception { - RecompileConfig.INSTANCE = new RecompileConfig(this); - RecompileConfig.INSTANCE.createDirectories(); + RemanConfig.INSTANCE = new RemanConfig(this); + RemanConfig.INSTANCE.createDirectories(); GlobalDumper globalDumper = new GlobalDumper(this); globalDumper.loadGlobalManifest(); diff --git a/java/ghidra/Test.java b/java/ghidra/Test.java index 997d36c5..9ed63dbc 100644 --- a/java/ghidra/Test.java +++ b/java/ghidra/Test.java @@ -2,83 +2,22 @@ // @menupath Reman3.Test // @importpackage org.sqlite -import ghidra.app.script.GhidraScript; -import ghidra.program.model.address.Address; -import ghidra.program.model.data.DataType; -import ghidra.program.model.data.StandAloneDataTypeManager; -import re3lib.RecompileConfig; - -import java.io.File; -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.nio.file.Files; -import java.util.ArrayList; import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -// SQLite imports -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; - -import org.sqlite.JDBC; +import ghidra.app.script.GhidraScript; +import re3lib.FunctionDatabase; +import re3lib.RemanConfig; public class Test extends GhidraScript { @Override public void run() throws Exception { - RecompileConfig.INSTANCE = new RecompileConfig(this); - - java.sql.DriverManager.registerDriver(new JDBC()); + RemanConfig.INSTANCE = new RemanConfig(this); // Example SQLite usage - testSQLite(); - } - - private void testSQLite() throws Exception { - String dbPath = "jdbc:sqlite:" + RecompileConfig.INSTANCE.outputDir + "/functions.db"; - - try (Connection conn = DriverManager.getConnection(dbPath)) { - println("Connected to SQLite database: " + dbPath); - - // Create a simple table - try (Statement stmt = conn.createStatement()) { - stmt.execute("CREATE TABLE IF NOT EXISTS functions (" + - "id INTEGER PRIMARY KEY AUTOINCREMENT, " + - "address TEXT NOT NULL, " + - "name TEXT NOT NULL, " + - "file_path TEXT)"); - println("Functions table created/verified"); - } - - // Insert example data - String insertSQL = "INSERT INTO functions (address, name, file_path) VALUES (?, ?, ?)"; - try (PreparedStatement pstmt = conn.prepareStatement(insertSQL)) { - pstmt.setString(1, "0x00401000"); - pstmt.setString(2, "main"); - pstmt.setString(3, "/path/to/main.cxx"); - pstmt.executeUpdate(); - println("Inserted example function"); - } - - // Query data - try (Statement stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery("SELECT * FROM functions")) { - while (rs.next()) { - println("Function: " + rs.getString("name") + - " at " + rs.getString("address") + - " in " + rs.getString("file_path")); - } - } - - } catch (SQLException e) { - println("SQLite error: " + e.getMessage()); - throw e; + FunctionDatabase db = new FunctionDatabase(this); + List entries = db.loadAllEntries(); + for (FunctionDatabase.Entry entry : entries) { + println("entry.name: " + entry.name + " entry.address: " + entry.address + " entry.type: " + entry.type); } } } \ No newline at end of file diff --git a/java/ghidra/re3lib/FunctionDatabase.java b/java/ghidra/re3lib/FunctionDatabase.java index 99467ab6..be7bd071 100644 --- a/java/ghidra/re3lib/FunctionDatabase.java +++ b/java/ghidra/re3lib/FunctionDatabase.java @@ -1,6 +1,11 @@ package re3lib; import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -8,106 +13,349 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import org.sqlite.JDBC; + import ghidra.app.script.GhidraScript; import ghidra.program.model.address.Address; import ghidra.program.model.listing.Function; public class FunctionDatabase { public enum Type { - Auto, - Fix, - Stub, - Ref - } + Auto(0), + Fix(1), + Stub(2), + Ref(3); - public class Dependency implements java.io.Serializable { - private static final long serialVersionUID = 1L; - public Address address; - public String name; + private final int value; - public Dependency(Address address, String name) { - this.address = address; - this.name = name; + Type(int value) { + this.value = value; } - private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { - out.writeObject(address != null ? address.toString() : null); - out.writeObject(name); + public int getValue() { + return value; } - private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { - String addressString = (String) in.readObject(); - if (addressString != null) { - address = RecompileConfig.INSTANCE.script.getCurrentProgram().getAddressFactory().getAddress(addressString); + public static Type fromValue(int value) { + for (Type type : Type.values()) { + if (type.value == value) { + return type; + } } - name = (String) in.readObject(); + throw new IllegalArgumentException("Unknown type value: " + value); } } - public class Entry implements java.io.Serializable { - private static final long serialVersionUID = 1L; + public class Entry { public Address address; public String name; public File file; public Type type; - public List dependencies = new ArrayList<>(); - private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { - out.writeObject(address != null ? address.toString() : null); - out.writeObject(name); - out.writeObject(file != null ? file.toString() : null); - out.writeObject(type); - out.writeObject(dependencies); - } - - private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { - String addressString = (String) in.readObject(); - if (addressString != null) { - address = RecompileConfig.INSTANCE.script.getCurrentProgram().getAddressFactory().getAddress(addressString); - } - name = (String) in.readObject(); - String fileString = (String) in.readObject(); - if (fileString != null) { - file = new File(fileString); - } - type = (Type) in.readObject(); - dependencies = (List) in.readObject(); + public Entry(Address address, String name, File file, Type type) { + this.address = address; + this.name = name; + this.file = file; + this.type = type; } } - public List entries = new ArrayList<>(); - private File file; + private File dbFile; private transient GhidraScript script; + private Connection connection; + + // Prepared statements for better performance + private PreparedStatement findByNameFunctions; + private PreparedStatement findByNameImports; + private PreparedStatement findByAddressFunctions; + private PreparedStatement findByAddressImports; + private PreparedStatement insertOrReplaceFunctions; + private PreparedStatement deleteByFilepathFunctions; + private PreparedStatement deleteByFilepathImports; + private PreparedStatement loadAllFunctions; + private PreparedStatement loadAllImports; public FunctionDatabase(GhidraScript script) { this.script = script; - file = new File(RecompileConfig.INSTANCE.outputDir, "functions.dat"); - } - - public void load() throws Exception { - if (!file.exists()) { - return; - } - - try (java.io.ObjectInputStream ois = new java.io.ObjectInputStream(new java.io.FileInputStream(file))) { - entries = (List) ois.readObject(); - script.println("Loaded " + entries.size() + " function entries from " + file); - } catch (java.io.IOException | ClassNotFoundException e) { - script.println("Error loading function database: " + e.getMessage()); + dbFile = RemanConfig.INSTANCE.databasePath; + try { + java.sql.DriverManager.registerDriver(new JDBC()); + } catch (SQLException e) { + script.printerr("Error registering JDBC driver: " + e.getMessage()); } } - public void save() throws Exception { - try (java.io.ObjectOutputStream oos = new java.io.ObjectOutputStream(new java.io.FileOutputStream(file))) { - oos.writeObject(entries); - script.println("Saved " + entries.size() + " function entries to " + file); - } catch (java.io.IOException e) { - script.println("Error saving function database: " + e.getMessage()); + public void connect() throws Exception { + if (connection != null && !connection.isClosed()) { + return; // Already connected + } + + if (!dbFile.exists()) { + script.println("Database file not found: " + dbFile); + // Create parent directories if they don't exist + dbFile.getParentFile().mkdirs(); + } + + try { + connection = DriverManager.getConnection("jdbc:sqlite:" + dbFile.getAbsolutePath()); + createTablesIfNotExist(); + prepareCachedStatements(); + script.println("Connected to database: " + dbFile); + } catch (SQLException e) { + script.println("Error connecting to database: " + e.getMessage()); + throw new Exception("Failed to connect to database", e); } } - public void add(Entry entry) { - entries.add(entry); + public void disconnect() throws Exception { + if (connection != null && !connection.isClosed()) { + try { + // Close prepared statements + closePreparedStatements(); + connection.close(); + script.println("Disconnected from database"); + } catch (SQLException e) { + script.println("Error disconnecting from database: " + e.getMessage()); + throw new Exception("Failed to disconnect from database", e); + } + } + } + + private void ensureConnection() throws Exception { + if (connection == null || connection.isClosed()) { + connect(); + } + } + + private void prepareCachedStatements() throws SQLException { + // Find by name + findByNameFunctions = connection.prepareStatement( + "SELECT filepath, name, address, type FROM Functions WHERE name = ?"); + findByNameImports = connection.prepareStatement( + "SELECT filepath, name, address, type FROM Imports WHERE name = ?"); + + // Find by address + findByAddressFunctions = connection.prepareStatement( + "SELECT filepath, name, address, type FROM Functions WHERE address = ?"); + findByAddressImports = connection.prepareStatement( + "SELECT filepath, name, address, type FROM Imports WHERE address = ?"); + + // Insert or replace + insertOrReplaceFunctions = connection.prepareStatement( + "INSERT OR REPLACE INTO Functions (filepath, name, address, type) VALUES (?, ?, ?, ?)"); + + // Delete by filepath + deleteByFilepathFunctions = connection.prepareStatement( + "DELETE FROM Functions WHERE filepath = ?"); + deleteByFilepathImports = connection.prepareStatement( + "DELETE FROM Imports WHERE filepath = ?"); + + // Load all entries + loadAllFunctions = connection.prepareStatement( + "SELECT filepath, name, address, type FROM Functions"); + loadAllImports = connection.prepareStatement( + "SELECT filepath, name, address, type FROM Imports"); + } + + private void closePreparedStatements() throws SQLException { + if (findByNameFunctions != null) + findByNameFunctions.close(); + if (findByNameImports != null) + findByNameImports.close(); + if (findByAddressFunctions != null) + findByAddressFunctions.close(); + if (findByAddressImports != null) + findByAddressImports.close(); + if (insertOrReplaceFunctions != null) + insertOrReplaceFunctions.close(); + if (deleteByFilepathFunctions != null) + deleteByFilepathFunctions.close(); + if (deleteByFilepathImports != null) + deleteByFilepathImports.close(); + if (loadAllFunctions != null) + loadAllFunctions.close(); + if (loadAllImports != null) + loadAllImports.close(); + } + + public List loadAllEntries() throws Exception { + ensureConnection(); + List entries = new ArrayList<>(); + + try { + // Load from Functions table + try (ResultSet rs = loadAllFunctions.executeQuery()) { + while (rs.next()) { + Entry entry = createEntryFromResultSet(rs); + if (entry != null) { + entries.add(entry); + } + } + } + + script.println("Loaded " + entries.size() + " function entries from database"); + return entries; + } catch (SQLException e) { + script.println("Error loading entries: " + e.getMessage()); + throw new Exception("Failed to load entries", e); + } + } + + private Entry createEntryFromResultSet(ResultSet rs) throws SQLException { + String filepath = rs.getString("filepath"); + String name = rs.getString("name"); + String addressStr = rs.getString("address"); + int typeValue = rs.getInt("type"); + + if (addressStr != null && !addressStr.isEmpty()) { + Address address = script.getCurrentProgram().getAddressFactory().getAddress(addressStr); + File file = new File(RemanConfig.INSTANCE.outputDir, filepath); + Type type = Type.fromValue(typeValue); + + return new Entry(address, name, file, type); + } + return null; + } + + private void createTablesIfNotExist() throws SQLException { + String createFunctions = """ + CREATE TABLE IF NOT EXISTS Functions ( + filepath TEXT, + name TEXT, + address TEXT, + type INTEGER, + PRIMARY KEY (name, filepath) + )"""; + + String createImports = """ + CREATE TABLE IF NOT EXISTS Imports ( + filepath TEXT, + name TEXT, + address TEXT, + type INTEGER, + PRIMARY KEY (name, filepath) + )"""; + + connection.prepareStatement(createFunctions).executeUpdate(); + connection.prepareStatement(createImports).executeUpdate(); + } + + // Helper method to find entries by name + public List findEntriesByName(String name) throws Exception { + ensureConnection(); + List results = new ArrayList<>(); + + try { + // Search Functions table + findByNameFunctions.setString(1, name); + try (ResultSet rs = findByNameFunctions.executeQuery()) { + while (rs.next()) { + Entry entry = createEntryFromResultSet(rs); + if (entry != null) { + results.add(entry); + } + } + } + + // Search Imports table + findByNameImports.setString(1, name); + try (ResultSet rs = findByNameImports.executeQuery()) { + while (rs.next()) { + Entry entry = createEntryFromResultSet(rs); + if (entry != null) { + results.add(entry); + } + } + } + + return results; + } catch (SQLException e) { + script.println("Error finding entries by name: " + e.getMessage()); + throw new Exception("Failed to find entries by name", e); + } + } + + // Helper method to find entries by address + public List findEntriesByAddress(Address address) throws Exception { + ensureConnection(); + List results = new ArrayList<>(); + String addressStr = address.toString(); + + try { + // Search Functions table + findByAddressFunctions.setString(1, addressStr); + try (ResultSet rs = findByAddressFunctions.executeQuery()) { + while (rs.next()) { + Entry entry = createEntryFromResultSet(rs); + if (entry != null) { + results.add(entry); + } + } + } + + // Search Imports table + findByAddressImports.setString(1, addressStr); + try (ResultSet rs = findByAddressImports.executeQuery()) { + while (rs.next()) { + Entry entry = createEntryFromResultSet(rs); + if (entry != null) { + results.add(entry); + } + } + } + + return results; + } catch (SQLException e) { + script.println("Error finding entries by address: " + e.getMessage()); + throw new Exception("Failed to find entries by address", e); + } + } + + // Helper method to add/update entry (insert or replace based on filename) + public void addEntryAt(Entry entry) throws Exception { + ensureConnection(); + + String relativePath = new File(RemanConfig.INSTANCE.outputDir).toPath() + .relativize(entry.file.toPath()).toString().replace('\\', '/'); + + try { + insertOrReplaceFunctions.setString(1, relativePath); + insertOrReplaceFunctions.setString(2, entry.name); + insertOrReplaceFunctions.setString(3, entry.address.toString()); + insertOrReplaceFunctions.setInt(4, entry.type.getValue()); + insertOrReplaceFunctions.executeUpdate(); + + script.println("Added/updated entry: " + entry.name + " at " + entry.address + " in " + relativePath); + } catch (SQLException e) { + script.println("Error adding entry: " + e.getMessage()); + throw new Exception("Failed to add entry", e); + } + } + + // Helper method to remove entry by file path + public void removeEntryAt(String filePath) throws Exception { + ensureConnection(); + + String relativePath = new File(RemanConfig.INSTANCE.outputDir).toPath() + .relativize(new File(filePath).toPath()).toString().replace('\\', '/'); + + try { + deleteByFilepathFunctions.setString(1, relativePath); + int deletedCount = deleteByFilepathFunctions.executeUpdate(); + + deleteByFilepathImports.setString(1, relativePath); + deletedCount += deleteByFilepathImports.executeUpdate(); + + script.println("Removed " + deletedCount + " entries for file: " + relativePath); + } catch (SQLException e) { + script.println("Error removing entries: " + e.getMessage()); + throw new Exception("Failed to remove entries", e); + } + } + + public void add(Entry entry) throws Exception { + // Add entry directly to database + addEntryAt(entry); } public void applyDefaultFilters(boolean rebuildAllGlobals) throws Exception { @@ -120,13 +368,15 @@ public class FunctionDatabase { boolean madeAnyChanges = false; + // Load all entries from database + List entries = loadAllEntries(); + // Create a hash map to store symbol names Map symbolNames = new HashMap<>(); Map exportedFunctionNames = new HashMap<>(); for (Entry entry : entries) { Function function = script.getFunctionAt(entry.address); if (function != null) { - String dirComponent = entry.file.getParent().toString(); boolean isAuto = entry.type == Type.Auto; boolean isFix = entry.type == Type.Fix; // Get the actual symbol name and store it in the hash map @@ -197,21 +447,6 @@ public class FunctionDatabase { } } - // Check if dependencies are valid - for (Dependency dependency : entry.dependencies) { - Function depFunction = script.getFunctionAt(dependency.address); - if (depFunction == null) { - script.println( - "Dependency not found: " + dependency.name + " at " + dependency.address + " in " + entry.file); - pendingRegenerate = true; - } else if (!dumper.isValidFunction(depFunction) || !depFunction.getName().equals(dependency.name)) { - script - .println("Invalid dependency: " + dependency.name + " at " + dependency.address + " in " + entry.file - + " should be " + dependency.name); - pendingRegenerate = true; - } - } - entry.name = actualSymbolName; // Update the entry name to match the actual symbol madeAnyChanges = true; } @@ -220,11 +455,15 @@ public class FunctionDatabase { iterator.remove(); if (!dryMode) { entry.file.delete(); + // Remove from database + removeEntryAt(entry.file.getAbsolutePath()); madeAnyChanges = true; } } else if (pendingRegenerate && entry.type != Type.Stub) { if (!dryMode) { functionsToRegenerate.add(function); + // Update entry in database with corrected name + addEntryAt(entry); madeAnyChanges = true; } } @@ -237,7 +476,7 @@ public class FunctionDatabase { if (madeAnyChanges) { // Update CMake timestamp - RecompileConfig.INSTANCE.touchCMakeTimestamp(); + RemanConfig.INSTANCE.touchCMakeTimestamp(); globalDumper.dumpGlobals(); globalDumper.saveGlobalManifest(); diff --git a/java/ghidra/re3lib/FunctionDumper.java b/java/ghidra/re3lib/FunctionDumper.java index 8277f1d2..08af9e04 100644 --- a/java/ghidra/re3lib/FunctionDumper.java +++ b/java/ghidra/re3lib/FunctionDumper.java @@ -28,6 +28,7 @@ import re3lib.GlobalDumper.GlobalRec; public class FunctionDumper { GhidraScript script; GlobalDumper globalDumper; + FunctionDatabase functionDatabase; public HashSet
functionAddrBlackList = new HashSet<>(); @@ -37,8 +38,9 @@ public class FunctionDumper { static final Pattern fieldAccessRegex = Pattern.compile("^_([0-9]+)_([0-9]+)_$"); - public FunctionDumper(GhidraScript script, GlobalDumper globalDumper) { + public FunctionDumper(GhidraScript script, FunctionDatabase functionDatabase, GlobalDumper globalDumper) { this.script = script; + this.functionDatabase = functionDatabase; this.globalDumper = globalDumper; initFunctionBlacklist(); } @@ -58,7 +60,7 @@ public class FunctionDumper { } void initFunctionBlacklist() { - functionAddrBlackList = Utils.loadFunctionBlacklist(RecompileConfig.INSTANCE.functionBlacklistPath); + functionAddrBlackList = Utils.loadFunctionBlacklist(RemanConfig.INSTANCE.functionBlacklistPath); // Build blacklist if not loaded if (functionAddrBlackList == null) { @@ -99,7 +101,7 @@ public class FunctionDumper { } if (modified) { - Utils.saveFunctionBlacklist(functionAddrBlackList, RecompileConfig.INSTANCE.functionBlacklistPath); + Utils.saveFunctionBlacklist(functionAddrBlackList, RemanConfig.INSTANCE.functionBlacklistPath); } } } @@ -107,14 +109,14 @@ public class FunctionDumper { public static boolean isDumpedFix(Function function) { String sanitizedFunctionName = Utils.sanitizeIdentifier(function.getName()); String fileName = sanitizedFunctionName + ".cxx"; - File f0 = new File(RecompileConfig.INSTANCE.dirDecompFix, fileName); + File f0 = new File(RemanConfig.INSTANCE.dirDecompFix, fileName); return f0.exists(); } public static boolean isDumpedAuto(Function function) { String sanitizedFunctionName = Utils.sanitizeIdentifier(function.getName()); String fileName = sanitizedFunctionName + ".cxx"; - File f0 = new File(RecompileConfig.INSTANCE.dirDecompAuto, fileName); + File f0 = new File(RemanConfig.INSTANCE.dirDecompAuto, fileName); return f0.exists(); } @@ -123,20 +125,21 @@ public class FunctionDumper { String sanitizedFunctionName = Utils.sanitizeIdentifier(function.getName()); String fileName = sanitizedFunctionName + ".cxx"; + // Remove the stub file, since we now use the decompiled file - File stubFile = new File(RecompileConfig.INSTANCE.dirDecompStub, fileName); + File stubFile = new File(RemanConfig.INSTANCE.dirDecompStub, fileName); if (stubFile.exists()) { script.println("Removing function stub " + stubFile); stubFile.delete(); createdFile = true; } - File f0 = new File(RecompileConfig.INSTANCE.dirDecompFix, fileName); + File f0 = new File(RemanConfig.INSTANCE.dirDecompFix, fileName); if (f0.exists()) { script.println("Func " + function.getName() + " skipped (gh_fix)"); - f0 = new File(RecompileConfig.INSTANCE.dirDecompRef, fileName); + f0 = new File(RemanConfig.INSTANCE.dirDecompRef, fileName); } else { - f0 = new File(RecompileConfig.INSTANCE.dirDecompAuto, fileName); + f0 = new File(RemanConfig.INSTANCE.dirDecompAuto, fileName); if (f0.exists()) { f0.delete(); } else { @@ -148,7 +151,7 @@ public class FunctionDumper { List externalFunctionCalls = new ArrayList<>(); - DecompileResults decompRes = RecompileConfig.INSTANCE.decompCache.getOrInsert(function); + DecompileResults decompRes = RemanConfig.INSTANCE.decompCache.getOrInsert(function); try (PrintWriter writer2 = new PrintWriter(f0, "UTF-8")) { writer2.println("// AUTO-GENERATED FILE, MOVE TO 'gh_fix' FOLDER PREVENT OVERWRITING!!!!! "); writer2.println(); @@ -291,15 +294,15 @@ public class FunctionDumper { for (Function externalFunction : externalFunctionCalls) { String sanitizedExtFunctionName = Utils.sanitizeIdentifier(externalFunction.getName()); fileName = sanitizedExtFunctionName + ".cxx"; - File f2 = new File(RecompileConfig.INSTANCE.dirDecompFix, fileName); - File f3 = new File(RecompileConfig.INSTANCE.dirDecompAuto, fileName); + File f2 = new File(RemanConfig.INSTANCE.dirDecompFix, fileName); + File f3 = new File(RemanConfig.INSTANCE.dirDecompAuto, fileName); if (f2.exists() || f3.exists()) { // script.println("Skipping external function: " + externalFunction.getName() + // " - " + externalFunction.getEntryPoint()); continue; } - File f4 = new File(RecompileConfig.INSTANCE.dirDecompStub, fileName); + File f4 = new File(RemanConfig.INSTANCE.dirDecompStub, fileName); script.println("Generating function stub for " + externalFunction.getName() + " => " + f4.toString()); try (PrintWriter writer2 = new PrintWriter(f4, "UTF-8")) { diff --git a/java/ghidra/re3lib/GlobalDumper.java b/java/ghidra/re3lib/GlobalDumper.java index 93528b9e..422ff04f 100644 --- a/java/ghidra/re3lib/GlobalDumper.java +++ b/java/ghidra/re3lib/GlobalDumper.java @@ -25,7 +25,6 @@ import ghidra.program.model.data.DataType; import ghidra.program.model.data.DataTypeManager; import ghidra.program.model.data.DataTypePath; import ghidra.program.model.data.PointerDataType; -import ghidra.program.model.data.Undefined; import ghidra.program.model.listing.Data; import ghidra.program.model.pcode.HighSymbol; import ghidra.program.model.symbol.SourceType; @@ -49,11 +48,13 @@ public class GlobalDumper { GhidraScript script; File manifestFile; + FunctionDatabase functionDatabase; HashMap globalAddrs = new HashMap<>(); - public GlobalDumper(GhidraScript script) { + public GlobalDumper(GhidraScript script, FunctionDatabase functionDatabase) { this.script = script; - manifestFile = new File(RecompileConfig.INSTANCE.outputDir, "globals.txt"); + this.functionDatabase = functionDatabase; + manifestFile = new File(RemanConfig.INSTANCE.outputDir, "globals.txt"); } public void removeGlobalManifest() { @@ -108,8 +109,8 @@ public class GlobalDumper { } public void addGlobal(Address addr, HighSymbol sym) throws Exception { - if (addr.compareTo(RecompileConfig.INSTANCE.staticMemoryBlockStart) < 0 - || addr.compareTo(RecompileConfig.INSTANCE.staticMemoryBlockEnd) > 0) { + if (addr.compareTo(RemanConfig.INSTANCE.staticMemoryBlockStart) < 0 + || addr.compareTo(RemanConfig.INSTANCE.staticMemoryBlockEnd) > 0) { throw new Exception("Global address out of range: " + addr); } @@ -162,14 +163,14 @@ public class GlobalDumper { } public void dumpGlobals() throws Exception { - File globalSymbolsListH = new File(RecompileConfig.INSTANCE.outputDir, "gh_global.h"); + File globalSymbolsListH = new File(RemanConfig.INSTANCE.outputDir, "gh_global.h"); PrintWriter hwriter = new PrintWriter(globalSymbolsListH, "UTF-8"); hwriter.println("// AUTO-GENERATED FILE "); Utils.headerGuardPre(hwriter, "GLOBALS"); hwriter.println("#include "); hwriter.println(); - File globalSymbolsListC = new File(RecompileConfig.INSTANCE.outputDir, "gh_global.cxx"); + File globalSymbolsListC = new File(RemanConfig.INSTANCE.outputDir, "gh_global.cxx"); PrintWriter cwriter = new PrintWriter(globalSymbolsListC, "UTF-8"); cwriter.println("// AUTO-GENERATED FILE "); cwriter.println("#include "); diff --git a/java/ghidra/re3lib/PCallTracer.java b/java/ghidra/re3lib/PCallTracer.java index 99ef3fa8..817bd2b7 100644 --- a/java/ghidra/re3lib/PCallTracer.java +++ b/java/ghidra/re3lib/PCallTracer.java @@ -42,7 +42,7 @@ public class PCallTracer { Program program; public PCallTracer() { - this.script = RecompileConfig.INSTANCE.script; + this.script = RemanConfig.INSTANCE.script; this.program = this.script.getCurrentProgram(); // this.decomp = RecompileConfig.INSTANCE.decompCache; } diff --git a/java/ghidra/re3lib/RecompileConfig.java b/java/ghidra/re3lib/RemanConfig.java similarity index 90% rename from java/ghidra/re3lib/RecompileConfig.java rename to java/ghidra/re3lib/RemanConfig.java index 48e6e748..49478fc9 100644 --- a/java/ghidra/re3lib/RecompileConfig.java +++ b/java/ghidra/re3lib/RemanConfig.java @@ -10,7 +10,9 @@ import ghidra.program.flatapi.FlatProgramAPI; import ghidra.program.model.address.Address; import ghidra.program.model.listing.Program; -public class RecompileConfig { +// A general configuration for the reman project +// including all paths, specific addresses and stuff +public class RemanConfig { private static final String RECOMPILE_PREFIX = "game_re"; // Version control project root @@ -24,6 +26,9 @@ public class RecompileConfig { public final Address staticMemoryBlockStart; public final Address staticMemoryBlockEnd; + // The path to the database file + public final File databasePath; + // The automatically decompiled files public final File dirDecompAuto; // The manually decompiled files (will not be overwritten by the auto @@ -48,9 +53,9 @@ public class RecompileConfig { public final GhidraScript script; - public static RecompileConfig INSTANCE; + public static RemanConfig INSTANCE; - public RecompileConfig(GhidraScript script) { + public RemanConfig(GhidraScript script) { staticMemoryBlockStart = script.getCurrentProgram().getAddressFactory().getAddress("00597000"); staticMemoryBlockEnd = script.getCurrentProgram().getAddressFactory().getAddress("00843fff"); @@ -64,6 +69,8 @@ public class RecompileConfig { categoryPathBlacklistPath = new File(outputDir, "type_path_blacklist.txt").toString(); functionBlacklistPath = new File(outputDir, "function_blacklist.txt").toString(); + databasePath = new File(outputDir, "gh.db"); + dirDecompAuto = new File(outputDir, "gh_auto"); dirDecompFix = new File(outputDir, "gh_fix"); dirDecompRef = new File(outputDir, "gh_ref"); diff --git a/java/ghidra/re3lib/TypeDumper.java b/java/ghidra/re3lib/TypeDumper.java index c0593627..5ec63bbb 100644 --- a/java/ghidra/re3lib/TypeDumper.java +++ b/java/ghidra/re3lib/TypeDumper.java @@ -25,15 +25,15 @@ public class TypeDumper { public TypeDumper(GhidraScript script) { this.script = script; currentProgram = script.getCurrentProgram(); - RecompileConfig.INSTANCE = new RecompileConfig(script); + RemanConfig.INSTANCE = new RemanConfig(script); } public void run() throws Exception { ProgramBasedDataTypeManager dtm = currentProgram.getDataTypeManager(); - HashSet typeBlacklist = Utils.loadSimpleBlacklist(RecompileConfig.INSTANCE.typeBlacklistPath); + HashSet typeBlacklist = Utils.loadSimpleBlacklist(RemanConfig.INSTANCE.typeBlacklistPath); HashSet categoryPathBlacklist = Utils - .loadSimpleBlacklist(RecompileConfig.INSTANCE.categoryPathBlacklistPath); + .loadSimpleBlacklist(RemanConfig.INSTANCE.categoryPathBlacklistPath); if (typeBlacklist == null) { script.println("Building struct blacklist from existing data types"); @@ -45,7 +45,7 @@ public class TypeDumper { typeBlacklist.add(dt.getDisplayName()); } } - Utils.saveStructBlacklist(typeBlacklist, RecompileConfig.INSTANCE.typeBlacklistPath); + Utils.saveStructBlacklist(typeBlacklist, RemanConfig.INSTANCE.typeBlacklistPath); } List filteredTypes = new ArrayList<>(); @@ -92,7 +92,7 @@ public class TypeDumper { } } - try (PrintWriter writer = new PrintWriter(new File(RecompileConfig.INSTANCE.outputDir, "gh_types.h"), + try (PrintWriter writer = new PrintWriter(new File(RemanConfig.INSTANCE.outputDir, "gh_types.h"), "UTF-8")) { Utils.headerGuardPre(writer, "STRUCTS"); writer.println("// AUTO-GENERATED FILE "); diff --git a/java/ghidra/re3lib/Utils.java b/java/ghidra/re3lib/Utils.java index e22c1ef7..61bb8443 100644 --- a/java/ghidra/re3lib/Utils.java +++ b/java/ghidra/re3lib/Utils.java @@ -51,7 +51,7 @@ public class Utils { } public static HashSet
loadFunctionBlacklist(String path) { - GhidraScript script = RecompileConfig.INSTANCE.script; + GhidraScript script = RemanConfig.INSTANCE.script; HashSet
fnBlacklist = new HashSet<>(); File blacklistFile = new File(path); try (Scanner scanner = new Scanner(blacklistFile)) { @@ -60,7 +60,7 @@ public class Utils { // Strip comment String line1 = line.split("//")[0].trim(); // Deserialize address - Address addr = RecompileConfig.INSTANCE.currentProgram.getAddressFactory().getAddress(line1); + Address addr = RemanConfig.INSTANCE.currentProgram.getAddressFactory().getAddress(line1); fnBlacklist.add(addr); } script.println("Loaded blacklist with " + fnBlacklist.size() + " entries"); @@ -71,7 +71,7 @@ public class Utils { } public static void saveFunctionBlacklist(HashSet
fnBlacklist, String path) { - GhidraScript script = RecompileConfig.INSTANCE.script; + GhidraScript script = RemanConfig.INSTANCE.script; File blacklistFile = new File(path); try (PrintWriter writer = new PrintWriter(blacklistFile)) { for (Address addr : fnBlacklist) { diff --git a/java/ghidra/readme.md b/java/ghidra/readme.md index 18add8cc..5ea58ba3 100644 --- a/java/ghidra/readme.md +++ b/java/ghidra/readme.md @@ -11,3 +11,63 @@ The decompile database is a sqlite database that contains a list of all files th To generate the database from the current set of files, run the scan_sources script in the /game_re folder. Make sure you have set up the tooling by running the /tooling/setup script. + + +## IDE Notes + +This should work with the redhat java plugin for vscode, you however need to manually add the referenced libraries to the settings, like so: + +```json +{ + "java.project.referencedLibraries": [ + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\Base\\lib\\Base.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\Decompiler\\lib\\Decompiler.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\BSim\\lib\\BSim.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\BSimFeatureVisualizer\\lib\\BSimFeatureVisualizer.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\Base\\lib\\Base.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\BytePatterns\\lib\\BytePatterns.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\ByteViewer\\lib\\ByteViewer.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\CodeCompare\\lib\\CodeCompare.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\DebugUtils\\lib\\DebugUtils.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\Decompiler\\lib\\Decompiler.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\DecompilerDependent\\lib\\DecompilerDependent.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\FileFormats\\lib\\FileFormats.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\FunctionGraph\\lib\\FunctionGraph.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\FunctionGraphDecompilerExtension\\lib\\FunctionGraphDecompilerExtension.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\FunctionID\\lib\\FunctionID.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\GhidraGo\\lib\\GhidraGo.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\GhidraServer\\lib\\GhidraServer.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\GnuDemangler\\lib\\GnuDemangler.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\GraphFunctionCalls\\lib\\GraphFunctionCalls.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\GraphServices\\lib\\GraphServices.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\MicrosoftCodeAnalyzer\\lib\\MicrosoftCodeAnalyzer.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\MicrosoftDemangler\\lib\\MicrosoftDemangler.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\MicrosoftDmang\\lib\\MicrosoftDmang.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\PDB\\lib\\PDB.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\ProgramDiff\\lib\\ProgramDiff.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\ProgramGraph\\lib\\ProgramGraph.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\Python\\lib\\Python.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\Recognizers\\lib\\Recognizers.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\Sarif\\lib\\Sarif.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\SourceCodeLookup\\lib\\SourceCodeLookup.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\SwiftDemangler\\lib\\SwiftDemangler.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\SystemEmulation\\lib\\SystemEmulation.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\VersionTracking\\lib\\VersionTracking.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\VersionTrackingBSim\\lib\\VersionTrackingBSim.jar", + "C:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Features\\WildcardAssembler\\lib\\WildcardAssembler.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\DB\\lib\\DB.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\Docking\\lib\\Docking.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\Emulation\\lib\\Emulation.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\FileSystem\\lib\\FileSystem.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\Generic\\lib\\Generic.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\Graph\\lib\\Graph.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\Gui\\lib\\Gui.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\Help\\lib\\Help.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\Project\\lib\\Project.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\Pty\\lib\\Pty.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\SoftwareModeling\\lib\\SoftwareModeling.jar", + "c:\\Projects\\ghidra_11.3.2_PUBLIC\\Ghidra\\Framework\\Utility\\lib\\Utility.jar", + "c:\\Projects\\R3\\java\\ghidra\\sqlite-jdbc-3.49.1.0.jar" + ] +} +``` \ No newline at end of file diff --git a/tooling/Notes.md b/tooling/Notes.md index 0f22ea02..c7a11819 100644 --- a/tooling/Notes.md +++ b/tooling/Notes.md @@ -13,10 +13,18 @@ CREATE TABLE Functions ( filepath TEXT, name TEXT, address TEXT, + type INTEGER, PRIMARY KEY (name, filepath) ); ``` +Where type is one of the following: + +- 0: Auto +- 1: Fix +- 2: Stub +- 3: Ref + **Purpose**: Stores function definitions that have function bodies (actual implementations) - `filepath`: Source file path where the function is defined - `name`: Function name (identifier) @@ -29,6 +37,7 @@ CREATE TABLE Imports ( filepath TEXT, name TEXT, address TEXT, + type INTEGER, PRIMARY KEY (name, filepath) ); ```