WIP
This commit is contained in:
parent
edf6cc5a67
commit
55438d7380
|
@ -0,0 +1,616 @@
|
|||
// AUTO-GENERATED FILE, MOVE TO 'gh_fix' FOLDER PREVENT OVERWRITING!!!!!
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
extern "C" {
|
||||
int setupWindow(HINSTANCE instance, undefined4 param_2, int windowedParam); // 00402140 // setupWindow
|
||||
undefined FUN_00470db0(void); // 00470db0 // FUN_00470db0
|
||||
undefined r3_checkDisc(void); // 004464f0 // r3_checkDisc
|
||||
undefined FUN_00503710(void); // 00503710 // FUN_00503710
|
||||
undefined r3_initAllModules(void); // 00401000 // r3_initAllModules
|
||||
undefined FUN_00472150(void); // 00472150 // FUN_00472150
|
||||
undefined r3_wait_for_dvd(char * param_1, char * param_2, undefined4 param_3); // 0043e540 // r3_wait_for_dvd
|
||||
undefined FUN_004725a0(void); // 004725a0 // FUN_004725a0
|
||||
int r3_get_gli_width1(void); // 0047baf0 // r3_get_gli_width1
|
||||
undefined gfx_init2(void); // 00470be0 // gfx_init2
|
||||
void g_setInitVar0(void); // 00401310 // g_setInitVar0
|
||||
int r3_get_gli_height1(void); // 0047bb00 // r3_get_gli_height1
|
||||
undefined FUN_004010b0(void); // 004010b0 // FUN_004010b0
|
||||
undefined FUN_00401320(void); // 00401320 // FUN_00401320
|
||||
void r3_noop(void * p_cTxt1, void * p_cTxt2); // 00401100 // r3_noop
|
||||
undefined FUN_005038e0(void); // 005038e0 // FUN_005038e0
|
||||
undefined FUN_004fb300(void); // 004fb300 // FUN_004fb300
|
||||
undefined spawnThread(void); // 004477d0 // spawnThread
|
||||
undefined r3_engineLoop(void); // 00401220 // r3_engineLoop
|
||||
|
||||
// 00401630
|
||||
int r3_main(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR *cmdline,int showCmd)
|
||||
|
||||
{
|
||||
undefined4 uVar1;
|
||||
undefined2 uVar2;
|
||||
undefined2 uVar3;
|
||||
LPSTR pCVar3;
|
||||
char *pcVar4;
|
||||
FILE *pFVar5;
|
||||
LONG LVar6;
|
||||
HMODULE hLibModule;
|
||||
DWORD DVar7;
|
||||
HANDLE hTargetProcessHandle;
|
||||
HANDLE hSourceHandle;
|
||||
HANDLE hSourceProcessHandle;
|
||||
uint *ppCVar8;
|
||||
HWND hWnd;
|
||||
int iVar10;
|
||||
int iVar11;
|
||||
int iVar12;
|
||||
int iVar13;
|
||||
uint uVar14;
|
||||
HKEY unaff_ESI;
|
||||
char *pcVar17;
|
||||
void *p_cTxt1;
|
||||
void *p_cTxt2;
|
||||
undefined4 uStack_85c;
|
||||
undefined4 uStack_858;
|
||||
LPSTR lpBuffer;
|
||||
UINT uiParam;
|
||||
BYTE uStack_83c [4];
|
||||
DWORD pHStack_838;
|
||||
DWORD pvStack_834;
|
||||
char UStack_830 [16];
|
||||
char tStack_820 [260];
|
||||
CHAR aCStack_71c [256];
|
||||
char acStack_61c [16];
|
||||
CHAR pathToUbi_ini [228];
|
||||
char acStack_528 [16];
|
||||
char acStack_518 [244];
|
||||
char acStack_424 [16];
|
||||
CHAR aCStack_414 [244];
|
||||
char acStack_320 [16];
|
||||
char acStack_310 [240];
|
||||
char acStack_220 [256];
|
||||
char acStack_120 [260];
|
||||
HINSTANCE instance;
|
||||
uint *puStack_14;
|
||||
undefined4 uStack_10;
|
||||
int iStack_8;
|
||||
BOOL BVar18;
|
||||
char cVar1;
|
||||
undefined4 chars;
|
||||
DWORD dwOptions;
|
||||
LPRECT lpRect;
|
||||
LPHANDLE lpTargetHandle;
|
||||
undefined4 uVar22;
|
||||
|
||||
lpBuffer = pathToUbi_ini;
|
||||
uiParam = 0x104;
|
||||
/* Append windows dir / ubi.ini */
|
||||
uStack_858 = 0x40164d;
|
||||
GetWindowsDirectoryA(lpBuffer,0x104);
|
||||
iVar13 = -1;
|
||||
pcVar4 = acStack_61c;
|
||||
do {
|
||||
pcVar17 = pcVar4;
|
||||
if (iVar13 == 0) break;
|
||||
iVar13 = iVar13 + -1;
|
||||
pcVar17 = pcVar4 + 1;
|
||||
cVar1 = *pcVar4;
|
||||
pcVar4 = pcVar17;
|
||||
} while (cVar1 != '\0');
|
||||
*(undefined4 *)(pcVar17 + -1) = s_UbiSoft_Ubi_ini + Field<0, 4>();
|
||||
*(undefined4 *)(pcVar17 + 3) = s_UbiSoft_Ubi_ini + Field<4, 4>();
|
||||
*(undefined4 *)(pcVar17 + 7) = s_UbiSoft_Ubi_ini + Field<8, 4>();
|
||||
*(undefined4 *)(pcVar17 + 0xb) = s_UbiSoft_Ubi_ini + Field<12, 4>();
|
||||
pcVar17[0xf] = s_UbiSoft_Ubi_ini[0x10];
|
||||
pCVar3 = GetCommandLineA();
|
||||
pcVar4 = pCVar3 + 1;
|
||||
iVar13 = -(int)pcVar4;
|
||||
do {
|
||||
cVar1 = *pcVar4;
|
||||
pcVar4[(int)(tStack_820 + iVar13)] = cVar1;
|
||||
pcVar4 = pcVar4 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
pcVar4 = strrchr(tStack_820,0x5c);
|
||||
if (pcVar4 == (char *)0x0) {
|
||||
/* Read from ubi.ini */
|
||||
GetPrivateProfileStringA
|
||||
(lpAppName_005b68f0,s_Directory_005b68f8,s_None,tStack_820,0xff,acStack_61c);
|
||||
iVar13 = strcmpi(tStack_820,s_None);
|
||||
}
|
||||
else {
|
||||
pcVar4 = strrchr(tStack_820,0x5c);
|
||||
*pcVar4 = '\0';
|
||||
iVar13 = chdir(tStack_820);
|
||||
if (iVar13 != -1) goto LAB_00401765;
|
||||
/* Read from ubi.ini */
|
||||
GetPrivateProfileStringA
|
||||
(lpAppName_005b68f0,s_Directory_005b68f8,s_None,tStack_820,0xff,acStack_61c);
|
||||
iVar13 = strcmpi(tStack_820,s_None);
|
||||
}
|
||||
if (iVar13 != 0) {
|
||||
chdir(tStack_820);
|
||||
}
|
||||
LAB_00401765:
|
||||
/* strcpy */
|
||||
iVar13 = 0;
|
||||
do {
|
||||
cVar1 = tStack_820[iVar13];
|
||||
r3_main_data_005d28b6.gameDataDir[iVar13] = cVar1;
|
||||
iVar13 = iVar13 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
strlwr(r3_main_data_005d28b6.gameDataDir);
|
||||
iVar13 = -1;
|
||||
pcVar4 = r3_main_data_005d28b6.gameDataDir;
|
||||
do {
|
||||
if (iVar13 == 0) break;
|
||||
iVar13 = iVar13 + -1;
|
||||
cVar1 = *pcVar4;
|
||||
pcVar4 = pcVar4 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
joined_r0x00401792:
|
||||
if (iVar13 != -2) {
|
||||
uVar14 = 0xffffffff;
|
||||
pcVar4 = r3_main_data_005d28b6.gameDataDir;
|
||||
do {
|
||||
if (uVar14 == 0) break;
|
||||
uVar14 = uVar14 - 1;
|
||||
cVar1 = *pcVar4;
|
||||
pcVar4 = pcVar4 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
if (r3_main_data_005d28b6.gameDataDir[~uVar14 - 2] != '\\') goto LAB_004017ce;
|
||||
uVar14 = 0xffffffff;
|
||||
pcVar4 = r3_main_data_005d28b6.gameDataDir;
|
||||
do {
|
||||
if (uVar14 == 0) break;
|
||||
uVar14 = uVar14 - 1;
|
||||
cVar1 = *pcVar4;
|
||||
pcVar4 = pcVar4 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
r3_main_data_005d28b6.gameDataDir[~uVar14 - 2] = '\0';
|
||||
iVar13 = -1;
|
||||
pcVar4 = r3_main_data_005d28b6.gameDataDir;
|
||||
do {
|
||||
if (iVar13 == 0) break;
|
||||
iVar13 = iVar13 + -1;
|
||||
cVar1 = *pcVar4;
|
||||
pcVar4 = pcVar4 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
goto joined_r0x00401792;
|
||||
}
|
||||
LAB_004017ce:
|
||||
pFVar5 = fopen(acStack_61c,fopen_mode_r_text);
|
||||
GetPrivateProfileStringA
|
||||
(lpAppName_005b68f0,s_Adapter_005b68e4,(LPCSTR)&lpDefault_005cf96c,acStack_310,0xff,
|
||||
acStack_61c);
|
||||
if ((pFVar5 == (FILE *)0x0) || (acStack_310[0] == '\0')) {
|
||||
/* Concat game data dir with r3 setup exe */
|
||||
iVar13 = 0;
|
||||
do {
|
||||
cVar1 = r3_main_data_005d28b6.gameDataDir[iVar13];
|
||||
acStack_518[iVar13] = cVar1;
|
||||
iVar13 = iVar13 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
iVar13 = -1;
|
||||
pcVar4 = acStack_518;
|
||||
do {
|
||||
pcVar17 = pcVar4;
|
||||
if (iVar13 == 0) break;
|
||||
iVar13 = iVar13 + -1;
|
||||
pcVar17 = pcVar4 + 1;
|
||||
cVar1 = *pcVar4;
|
||||
pcVar4 = pcVar17;
|
||||
} while (cVar1 != '\0');
|
||||
*(undefined4 *)(pcVar17 + -1) = s__R3_Setup_DX8_exe_005b68d0 + Field<0, 4>();
|
||||
*(undefined4 *)(pcVar17 + 3) = s__R3_Setup_DX8_exe_005b68d0 + Field<4, 4>();
|
||||
*(undefined4 *)(pcVar17 + 7) = s__R3_Setup_DX8_exe_005b68d0 + Field<8, 4>();
|
||||
*(undefined4 *)(pcVar17 + 0xb) = s__R3_Setup_DX8_exe_005b68d0 + Field<12, 4>();
|
||||
*(undefined2 *)(pcVar17 + 0xf) = s__R3_Setup_DX8_exe_005b68d0 + Field<16, 2>();
|
||||
pFVar5 = fopen(acStack_518,fopen_mode_r_binary);
|
||||
if (pFVar5 == (FILE *)0x0) {
|
||||
MessageBoxA((HWND)0x0,s_Unable_to_find_R3_Setup_DX8_exe__005b6880,s_Rayman_3_Error_005b68bc,
|
||||
0x10);
|
||||
return -1;
|
||||
}
|
||||
fclose(pFVar5);
|
||||
spawnl(0,acStack_518,acStack_518,0);
|
||||
pFVar5 = fopen(acStack_61c,fopen_mode_r_text);
|
||||
if (pFVar5 == (FILE *)0x0) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
fclose(pFVar5);
|
||||
/* Open reg key
|
||||
HKEY_LOCAL_MACHINE\\SOFTWARE\\UBI SOFT\\RAYMAN 3 */
|
||||
LVar6 = RegOpenKeyExA((HKEY)0x80000002,s_SOFTWARE_UBI_SOFT_RAYMAN_3_005b6864,0,0x20019,
|
||||
(PHKEY)&stack0xfffff7b8);
|
||||
if (LVar6 == 0) {
|
||||
LVar6 = RegQueryValueExA(unaff_ESI,s_CompleteInstall_005b6854,(LPDWORD)0x0,&pvStack_834,
|
||||
uStack_83c,&pHStack_838);
|
||||
DAT_007d9cc4 = (uint)(LVar6 == 0);
|
||||
if (unaff_ESI != (HKEY)0x0) {
|
||||
RegCloseKey(unaff_ESI);
|
||||
}
|
||||
}
|
||||
else {
|
||||
DAT_007d9cc4 = 0;
|
||||
}
|
||||
GetPrivateProfileStringA
|
||||
(lpAppName_005b68f0,s_Language_005b6840,s_English_005b684c,aCStack_71c,0xff,acStack_61c)
|
||||
;
|
||||
sprintf(g_mutexName_Rayman3,s_percents,lpAppName_005b68f0);
|
||||
sprintf(g_windowTitle,s_percents,s_windowTitle);
|
||||
/* Setup localized quiting/restoring strings */
|
||||
iVar13 = strcmpi(aCStack_71c,s_French_005b6828);
|
||||
if (iVar13 == 0) {
|
||||
sprintf(s_windowTitleRestoring,s_Restauration_fmt,s_windowTitle);
|
||||
chars = s_QUITTER + Field<4, 4>();
|
||||
pcVar4 = s_ou_appuyez_sur_Echap_pour_quitte_005b67d0;
|
||||
pcVar17 = s_quitting1;
|
||||
for (iVar13 = 0xb; uVar22 = s_QUITTER + Field<4, 4>(), iVar13 != 0; iVar13 = iVar13 + -1) {
|
||||
*(undefined4 *)pcVar17 = *(undefined4 *)pcVar4;
|
||||
pcVar4 = pcVar4 + 4;
|
||||
pcVar17 = pcVar17 + 4;
|
||||
}
|
||||
s_wndStrQuiting[0] = s_QUITTER[0];
|
||||
s_wndStrQuiting[1] = s_QUITTER[1];
|
||||
s_wndStrQuiting[2] = s_QUITTER[2];
|
||||
s_wndStrQuiting[3] = s_QUITTER[3];
|
||||
/* Wrong decompilation? */
|
||||
s_QUITTER[4] = (char)chars;
|
||||
s_QUITTER[5] = SUB41(chars,1);
|
||||
s_QUITTER[6] = SUB41(chars,2);
|
||||
s_QUITTER[7] = SUB41(chars,3);
|
||||
s_wndStrQuiting[4] = s_QUITTER[4];
|
||||
s_wndStrQuiting[5] = s_QUITTER[5];
|
||||
s_wndStrQuiting[6] = s_QUITTER[6];
|
||||
s_wndStrQuiting[7] = s_QUITTER[7];
|
||||
s_QUITTER + Field<4, 4>() = uVar22;
|
||||
sprintf(g_windowTitle,s__s___Pause_005b67c4,s_windowTitle);
|
||||
pcVar4 = s_Restauration;
|
||||
pcVar17 = s_wndStrRestoring;
|
||||
for (iVar13 = 7; iVar13 != 0; iVar13 = iVar13 + -1) {
|
||||
*(undefined4 *)pcVar17 = *(undefined4 *)pcVar4;
|
||||
pcVar4 = pcVar4 + 4;
|
||||
pcVar17 = pcVar17 + 4;
|
||||
}
|
||||
}
|
||||
else {
|
||||
iVar13 = strcmpi(aCStack_71c,s_Spanish_005b67a0);
|
||||
if (iVar13 == 0) {
|
||||
sprintf(s_windowTitleRestoring,s__s___Restablecer_datos____005b6784,s_windowTitle);
|
||||
uVar2 = s_SALIR_005b675c + Field<4, 2>();
|
||||
pcVar4 = s_Pulsa_ESC_para_salir_Rayman_3__005b6764;
|
||||
pcVar17 = s_quitting1;
|
||||
for (iVar13 = 7; chars = s_SALIR_005b675c + Field<0, 4>(), iVar13 != 0; iVar13 = iVar13 + -1) {
|
||||
*(undefined4 *)pcVar17 = *(undefined4 *)pcVar4;
|
||||
pcVar4 = pcVar4 + 4;
|
||||
pcVar17 = pcVar17 + 4;
|
||||
}
|
||||
*(undefined2 *)pcVar17 = *(undefined2 *)pcVar4;
|
||||
pcVar17[2] = pcVar4[2];
|
||||
uVar3 = s_SALIR_005b675c + Field<4, 2>();
|
||||
uVar22 = s_SALIR_005b675c + Field<0, 4>();
|
||||
s_SALIR_005b675c[0] = (char)chars;
|
||||
s_SALIR_005b675c[1] = SUB41(chars,1);
|
||||
s_SALIR_005b675c[2] = SUB41(chars,2);
|
||||
s_SALIR_005b675c[3] = SUB41(chars,3);
|
||||
s_wndStrQuiting[0] = s_SALIR_005b675c[0];
|
||||
s_wndStrQuiting[1] = s_SALIR_005b675c[1];
|
||||
s_wndStrQuiting[2] = s_SALIR_005b675c[2];
|
||||
s_wndStrQuiting[3] = s_SALIR_005b675c[3];
|
||||
s_SALIR_005b675c[4] = (char)uVar2;
|
||||
s_SALIR_005b675c[5] = SUB21(uVar2,1);
|
||||
s_wndStrQuiting[4] = s_SALIR_005b675c[4];
|
||||
s_wndStrQuiting[5] = s_SALIR_005b675c[5];
|
||||
s_SALIR_005b675c + Field<0, 4>() = uVar22;
|
||||
s_SALIR_005b675c + Field<4, 2>() = uVar3;
|
||||
sprintf(g_windowTitle,s__s___Rotura_005b6750,s_windowTitle);
|
||||
pcVar4 = s_Restablecer_datos____005b6738;
|
||||
pcVar17 = s_wndStrRestoring;
|
||||
for (iVar13 = 5; iVar13 != 0; iVar13 = iVar13 + -1) {
|
||||
*(undefined4 *)pcVar17 = *(undefined4 *)pcVar4;
|
||||
pcVar4 = pcVar4 + 4;
|
||||
pcVar17 = pcVar17 + 4;
|
||||
}
|
||||
*pcVar17 = *pcVar4;
|
||||
}
|
||||
else {
|
||||
iVar13 = strcmpi(aCStack_71c,s_Italian_005b6730);
|
||||
if (iVar13 == 0) {
|
||||
sprintf(s_windowTitleRestoring,s__s___Ripristino_dati____005b6718,s_windowTitle);
|
||||
uVar2 = s_USCIRE_005b66ec + Field<4, 2>();
|
||||
pcVar4 = s_Premi_ESC_per_uscire_da_Rayman_3_005b66f4;
|
||||
pcVar17 = s_quitting1;
|
||||
for (iVar13 = 8; cVar1 = s_USCIRE_005b66ec[6], iVar13 != 0; iVar13 = iVar13 + -1) {
|
||||
*(undefined4 *)pcVar17 = *(undefined4 *)pcVar4;
|
||||
pcVar4 = pcVar4 + 4;
|
||||
pcVar17 = pcVar17 + 4;
|
||||
}
|
||||
s_wndStrQuiting[0] = s_USCIRE_005b66ec[0];
|
||||
s_wndStrQuiting[1] = s_USCIRE_005b66ec[1];
|
||||
s_wndStrQuiting[2] = s_USCIRE_005b66ec[2];
|
||||
s_wndStrQuiting[3] = s_USCIRE_005b66ec[3];
|
||||
*(undefined2 *)pcVar17 = *(undefined2 *)pcVar4;
|
||||
uVar3 = s_USCIRE_005b66ec + Field<4, 2>();
|
||||
s_wndStrQuiting[6] = cVar1;
|
||||
s_USCIRE_005b66ec[4] = (char)uVar2;
|
||||
s_USCIRE_005b66ec[5] = SUB21(uVar2,1);
|
||||
s_wndStrQuiting[4] = s_USCIRE_005b66ec[4];
|
||||
s_wndStrQuiting[5] = s_USCIRE_005b66ec[5];
|
||||
s_USCIRE_005b66ec + Field<4, 2>() = uVar3;
|
||||
sprintf(g_windowTitle,s__s___Pausa_005b66e0,s_windowTitle);
|
||||
s_wndStrRestoring[0] = s_Ripristino_dati____005b66cc[0];
|
||||
s_wndStrRestoring[1] = s_Ripristino_dati____005b66cc[1];
|
||||
s_wndStrRestoring[2] = s_Ripristino_dati____005b66cc[2];
|
||||
s_wndStrRestoring[3] = s_Ripristino_dati____005b66cc[3];
|
||||
s_wndStrRestoring[4] = s_Ripristino_dati____005b66cc[4];
|
||||
s_wndStrRestoring[5] = s_Ripristino_dati____005b66cc[5];
|
||||
s_wndStrRestoring[6] = s_Ripristino_dati____005b66cc[6];
|
||||
s_wndStrRestoring[7] = s_Ripristino_dati____005b66cc[7];
|
||||
s_wndStrRestoring[8] = s_Ripristino_dati____005b66cc[8];
|
||||
s_wndStrRestoring[9] = s_Ripristino_dati____005b66cc[9];
|
||||
s_wndStrRestoring[10] = s_Ripristino_dati____005b66cc[10];
|
||||
s_wndStrRestoring[0xb] = s_Ripristino_dati____005b66cc[0xb];
|
||||
s_wndStrRestoring + Field<12, 4>() = s_Ripristino_dati____005b66cc + Field<12, 4>();
|
||||
s_wndStrRestoring + Field<16, 2>() = s_Ripristino_dati____005b66cc + Field<16, 2>();
|
||||
s_wndStrRestoring[0x12] = s_Ripristino_dati____005b66cc[0x12];
|
||||
}
|
||||
else {
|
||||
iVar13 = strcmpi(aCStack_71c,s_German_005b66c4);
|
||||
if (iVar13 == 0) {
|
||||
sprintf(s_windowTitleRestoring,s__s___Daten_Reparatur____005b66ac,s_windowTitle);
|
||||
chars = s_BEENDIGEN_005b6678 + Field<0, 4>();
|
||||
pcVar4 = &CHAR_E_005b6684;
|
||||
pcVar17 = s_quitting1;
|
||||
for (iVar13 = 9; uVar2 = s_BEENDIGEN_005b6678 + Field<8, 2>(), uVar22 = s_BEENDIGEN_005b6678 + Field<4, 4>(),
|
||||
iVar13 != 0; iVar13 = iVar13 + -1) {
|
||||
*(undefined4 *)pcVar17 = *(undefined4 *)pcVar4;
|
||||
pcVar4 = pcVar4 + 4;
|
||||
pcVar17 = pcVar17 + 4;
|
||||
}
|
||||
*(undefined2 *)pcVar17 = *(undefined2 *)pcVar4;
|
||||
uVar1 = s_BEENDIGEN_005b6678 + Field<0, 4>();
|
||||
s_BEENDIGEN_005b6678[0] = (char)chars;
|
||||
s_BEENDIGEN_005b6678[1] = SUB41(chars,1);
|
||||
s_BEENDIGEN_005b6678[2] = SUB41(chars,2);
|
||||
s_BEENDIGEN_005b6678[3] = SUB41(chars,3);
|
||||
s_wndStrQuiting[0] = s_BEENDIGEN_005b6678[0];
|
||||
s_wndStrQuiting[1] = s_BEENDIGEN_005b6678[1];
|
||||
s_wndStrQuiting[2] = s_BEENDIGEN_005b6678[2];
|
||||
s_wndStrQuiting[3] = s_BEENDIGEN_005b6678[3];
|
||||
s_BEENDIGEN_005b6678 + Field<0, 4>() = uVar1;
|
||||
pcVar17[2] = pcVar4[2];
|
||||
uVar3 = s_BEENDIGEN_005b6678 + Field<8, 2>();
|
||||
chars = s_BEENDIGEN_005b6678 + Field<4, 4>();
|
||||
s_BEENDIGEN_005b6678[4] = (char)uVar22;
|
||||
s_BEENDIGEN_005b6678[5] = SUB41(uVar22,1);
|
||||
s_BEENDIGEN_005b6678[6] = SUB41(uVar22,2);
|
||||
s_BEENDIGEN_005b6678[7] = SUB41(uVar22,3);
|
||||
s_wndStrQuiting[4] = s_BEENDIGEN_005b6678[4];
|
||||
s_wndStrQuiting[5] = s_BEENDIGEN_005b6678[5];
|
||||
s_wndStrQuiting[6] = s_BEENDIGEN_005b6678[6];
|
||||
s_wndStrQuiting[7] = s_BEENDIGEN_005b6678[7];
|
||||
s_BEENDIGEN_005b6678[8] = (char)uVar2;
|
||||
s_BEENDIGEN_005b6678[9] = SUB21(uVar2,1);
|
||||
s_wndStrQuiting[8] = s_BEENDIGEN_005b6678[8];
|
||||
s_wndStrQuiting[9] = s_BEENDIGEN_005b6678[9];
|
||||
s_BEENDIGEN_005b6678 + Field<4, 4>() = chars;
|
||||
s_BEENDIGEN_005b6678 + Field<8, 2>() = uVar3;
|
||||
sprintf(g_windowTitle,s__s___Pause_005b67c4,s_windowTitle);
|
||||
s_wndStrRestoring[0] = s_Daten_Reparatur____005b6664[0];
|
||||
s_wndStrRestoring[1] = s_Daten_Reparatur____005b6664[1];
|
||||
s_wndStrRestoring[2] = s_Daten_Reparatur____005b6664[2];
|
||||
s_wndStrRestoring[3] = s_Daten_Reparatur____005b6664[3];
|
||||
s_wndStrRestoring[4] = s_Daten_Reparatur____005b6664[4];
|
||||
s_wndStrRestoring[5] = s_Daten_Reparatur____005b6664[5];
|
||||
s_wndStrRestoring[6] = s_Daten_Reparatur____005b6664[6];
|
||||
s_wndStrRestoring[7] = s_Daten_Reparatur____005b6664[7];
|
||||
s_wndStrRestoring[8] = s_Daten_Reparatur____005b6664[8];
|
||||
s_wndStrRestoring[9] = s_Daten_Reparatur____005b6664[9];
|
||||
s_wndStrRestoring[10] = s_Daten_Reparatur____005b6664[10];
|
||||
s_wndStrRestoring[0xb] = s_Daten_Reparatur____005b6664[0xb];
|
||||
s_wndStrRestoring[0xc] = s_Daten_Reparatur____005b6664[0xc];
|
||||
s_wndStrRestoring[0xd] = s_Daten_Reparatur____005b6664[0xd];
|
||||
s_wndStrRestoring[0xe] = s_Daten_Reparatur____005b6664[0xe];
|
||||
s_wndStrRestoring[0xf] = s_Daten_Reparatur____005b6664[0xf];
|
||||
s_wndStrRestoring[0x10] = s_Daten_Reparatur____005b6664[0x10];
|
||||
s_wndStrRestoring[0x11] = s_Daten_Reparatur____005b6664[0x11];
|
||||
s_wndStrRestoring[0x12] = s_Daten_Reparatur____005b6664[0x12];
|
||||
}
|
||||
else {
|
||||
sprintf(s_windowTitleRestoring,s__s___Restoring_data____005b664c,s_windowTitle);
|
||||
chars = s_QUIT + Field<0, 4>();
|
||||
pcVar4 = s_or_press_ESC_to_quit_Rayman_3__005b662c;
|
||||
pcVar17 = s_quitting1;
|
||||
for (iVar13 = 7; cVar1 = s_QUIT[4], iVar13 != 0; iVar13 = iVar13 + -1) {
|
||||
*(undefined4 *)pcVar17 = *(undefined4 *)pcVar4;
|
||||
pcVar4 = pcVar4 + 4;
|
||||
pcVar17 = pcVar17 + 4;
|
||||
}
|
||||
*(undefined2 *)pcVar17 = *(undefined2 *)pcVar4;
|
||||
pcVar17[2] = pcVar4[2];
|
||||
uVar22 = s_QUIT + Field<0, 4>();
|
||||
s_QUIT[0] = (char)chars;
|
||||
s_QUIT[1] = SUB41(chars,1);
|
||||
s_QUIT[2] = SUB41(chars,2);
|
||||
s_QUIT[3] = SUB41(chars,3);
|
||||
s_wndStrQuiting[0] = s_QUIT[0];
|
||||
s_wndStrQuiting[1] = s_QUIT[1];
|
||||
s_wndStrQuiting[2] = s_QUIT[2];
|
||||
s_wndStrQuiting[3] = s_QUIT[3];
|
||||
s_wndStrQuiting[4] = cVar1;
|
||||
s_QUIT + Field<0, 4>() = uVar22;
|
||||
sprintf(g_windowTitle,s__s___Pause_005b67c4,s_windowTitle);
|
||||
s_wndStrRestoring[0] = s_Restoring_data_____005b6610[0];
|
||||
s_wndStrRestoring[1] = s_Restoring_data_____005b6610[1];
|
||||
s_wndStrRestoring[2] = s_Restoring_data_____005b6610[2];
|
||||
s_wndStrRestoring[3] = s_Restoring_data_____005b6610[3];
|
||||
s_wndStrRestoring[4] = s_Restoring_data_____005b6610[4];
|
||||
s_wndStrRestoring[5] = s_Restoring_data_____005b6610[5];
|
||||
s_wndStrRestoring[6] = s_Restoring_data_____005b6610[6];
|
||||
s_wndStrRestoring[7] = s_Restoring_data_____005b6610[7];
|
||||
s_wndStrRestoring[8] = s_Restoring_data_____005b6610[8];
|
||||
s_wndStrRestoring[9] = s_Restoring_data_____005b6610[9];
|
||||
s_wndStrRestoring[10] = s_Restoring_data_____005b6610[10];
|
||||
s_wndStrRestoring[0xb] = s_Restoring_data_____005b6610[0xb];
|
||||
s_wndStrRestoring + Field<12, 4>() = s_Restoring_data_____005b6610 + Field<12, 4>();
|
||||
s_wndStrRestoring + Field<16, 2>() = s_Restoring_data_____005b6610 + Field<16, 2>();
|
||||
s_wndStrRestoring[0x12] = s_Restoring_data_____005b6610[0x12];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Create draw semaphore
|
||||
Initial count = 1
|
||||
Maximum count = 1 */
|
||||
g_drawSemaphore = CreateSemaphoreA((LPSECURITY_ATTRIBUTES)0x0,1,1,s_DRAWSEM_005b6608);
|
||||
if (iStack_8 != 0) {
|
||||
return -1;
|
||||
}
|
||||
/* Load DirectPlay probably unused */
|
||||
hLibModule = LoadLibraryA(s_dpnhpast_dll_005b65f8);
|
||||
if (hLibModule == (HMODULE)0x0) {
|
||||
iVar13 = strcmpi(aCStack_71c,s_French_005b6828);
|
||||
if (iVar13 == 0) {
|
||||
MessageBoxA((HWND)0x0,lpText_005b6598,s_Erreur_Rayman_3_005b65e4,0x10);
|
||||
return -1;
|
||||
}
|
||||
iVar13 = strcmpi(aCStack_71c,s_Spanish_005b67a0);
|
||||
if (iVar13 == 0) {
|
||||
MessageBoxA((HWND)0x0,lpText_005b6540,s_Rayman_3_005b6588,0x10);
|
||||
return -1;
|
||||
}
|
||||
iVar13 = strcmpi(aCStack_71c,s_Italian_005b6730);
|
||||
if (iVar13 == 0) {
|
||||
MessageBoxA((HWND)0x0,lpText_005b64f0,s_Rayman_3_005b6588,0x10);
|
||||
return -1;
|
||||
}
|
||||
iVar13 = strcmpi(aCStack_71c,s_German_005b66c4);
|
||||
if (iVar13 != 0) {
|
||||
MessageBoxA((HWND)0x0,s_Check_your_version_of_DirectX__V_005b6430,s_Rayman_3_Error_005b68bc,
|
||||
0x10);
|
||||
return -1;
|
||||
}
|
||||
MessageBoxA((HWND)0x0,lpText_005b6478,s_Rayman_3_005b6588,0x10);
|
||||
return -1;
|
||||
}
|
||||
FreeLibrary(hLibModule);
|
||||
p_cTxt1 = (void *)0x401e2a;
|
||||
CreateMutexA((LPSECURITY_ATTRIBUTES)0x0,1,g_mutexName_Rayman3);
|
||||
DVar7 = GetLastError();
|
||||
if (DVar7 == 0xb7) {
|
||||
/* Mutex already exists */
|
||||
return -1;
|
||||
}
|
||||
p_cTxt2 = (void *)0x401e5a;
|
||||
GetWindowsDirectoryA(aCStack_414,0x104);
|
||||
iVar13 = -1;
|
||||
/* Append ubi.ini */
|
||||
pcVar4 = acStack_424;
|
||||
do {
|
||||
pcVar17 = pcVar4;
|
||||
if (iVar13 == 0) break;
|
||||
iVar13 = iVar13 + -1;
|
||||
pcVar17 = pcVar4 + 1;
|
||||
cVar1 = *pcVar4;
|
||||
pcVar4 = pcVar17;
|
||||
} while (cVar1 != '\0');
|
||||
*(undefined4 *)(pcVar17 + -1) = s_UbiSoft_Ubi_ini + Field<0, 4>();
|
||||
*(undefined4 *)(pcVar17 + 3) = s_UbiSoft_Ubi_ini + Field<4, 4>();
|
||||
*(undefined4 *)(pcVar17 + 7) = s_UbiSoft_Ubi_ini + Field<8, 4>();
|
||||
*(undefined4 *)(pcVar17 + 0xb) = s_UbiSoft_Ubi_ini + Field<12, 4>();
|
||||
pcVar17[0xf] = s_UbiSoft_Ubi_ini[0x10];
|
||||
/* Read graphics settings */
|
||||
GetPrivateProfileStringA
|
||||
(lpAppName_005b68f0,s_Adapter_005b68e4,(LPCSTR)&lpDefault_005cf96c,acStack_320,0xff,
|
||||
acStack_424);
|
||||
GetPrivateProfileStringA
|
||||
(lpAppName_005b68f0,s_Identifier_005b6420,(LPCSTR)&lpDefault_005cf96c,acStack_120,0xff,
|
||||
acStack_424);
|
||||
GetPrivateProfileStringA
|
||||
(lpAppName_005b68f0,s_Gli_Mode_005b6414,(LPCSTR)&lpDefault_005cf96c,acStack_220,0xff,
|
||||
acStack_424);
|
||||
/* If they're all set */
|
||||
if (((acStack_320[0] != '\0') && (acStack_120[0] != '\0')) && (acStack_220[0] != '\0')) {
|
||||
/* For GLIMode
|
||||
1 = maximize
|
||||
0 = windowed */
|
||||
g_runMaximized = (int)(acStack_220[0] != '0');
|
||||
r3_checkDisc();
|
||||
dwOptions = 0;
|
||||
BVar18 = 0;
|
||||
lpTargetHandle = (LPHANDLE)&stack0xfffff7ac;
|
||||
DVar7 = 0x1f03ff;
|
||||
g_hinstance = instance;
|
||||
hTargetProcessHandle = GetCurrentProcess();
|
||||
hSourceHandle = GetCurrentThread();
|
||||
hSourceProcessHandle = GetCurrentProcess();
|
||||
DuplicateHandle(hSourceProcessHandle,hSourceHandle,hTargetProcessHandle,lpTargetHandle,DVar7,
|
||||
BVar18,dwOptions);
|
||||
/* Copy cmdline */
|
||||
ppCVar8 = puStack_14;
|
||||
g_mainThreadHandle = lpBuffer;
|
||||
do {
|
||||
uVar14 = *ppCVar8;
|
||||
*(char *)(((int)g_appCmdLine - (int)puStack_14) + (int)ppCVar8) = (char)uVar14;
|
||||
ppCVar8 = (uint *)((int)ppCVar8 + 1);
|
||||
} while ((char)uVar14 != '\0');
|
||||
/* SEM_FAILCRITICALERRORS */
|
||||
SetErrorMode(1);
|
||||
pcVar4 = strstr(puStack_14,s_dashCC);
|
||||
if (pcVar4 == (char *)0x0) {
|
||||
r3_initAllModules();
|
||||
iVar13 = setupWindow(instance,uStack_10,g_runMaximized);
|
||||
if (iVar13 == 0) {
|
||||
return -1;
|
||||
}
|
||||
g_setInitVar0();
|
||||
FUN_00401320();
|
||||
spawnThread();
|
||||
r3_noop(p_cTxt1,p_cTxt2);
|
||||
gfx_init2();
|
||||
lpRect = (LPRECT)&stack0xfffff7c0;
|
||||
hWnd = GetDesktopWindow();
|
||||
GetWindowRect(hWnd,lpRect);
|
||||
BVar18 = 1;
|
||||
iVar13 = r3_get_gli_height1();
|
||||
iVar13 = iVar13 + 0x20;
|
||||
iVar10 = r3_get_gli_width1();
|
||||
iVar10 = iVar10 + 0xc;
|
||||
iVar11 = r3_get_gli_height1();
|
||||
iVar11 = (int)(pvStack_834 - iVar11) / 2;
|
||||
iVar12 = r3_get_gli_width1();
|
||||
MoveWindow(g_gameHWND,(int)(pHStack_838 - iVar12) / 2,iVar11,iVar10,iVar13,BVar18);
|
||||
FUN_004010b0();
|
||||
SystemParametersInfoA(0x10,0,&stack0xfffff7b0,0);
|
||||
SystemParametersInfoA(0x11,0,(PVOID)0x0,0);
|
||||
ShowCursor(0);
|
||||
uStack_85c = 0;
|
||||
SystemParametersInfoA(0x61,1,&uStack_85c,0);
|
||||
g_engineRunning = 1;
|
||||
r3_engineLoop();
|
||||
/* cleanup starts here */
|
||||
FUN_004725a0();
|
||||
FUN_005038e0();
|
||||
FUN_00503710();
|
||||
FUN_004fb300();
|
||||
FUN_00472150();
|
||||
FUN_00470db0();
|
||||
uStack_85c = 0;
|
||||
SystemParametersInfoA(0x61,0,&uStack_85c,0);
|
||||
ShowCursor(1);
|
||||
SystemParametersInfoA(0x11,uiParam,(PVOID)0x0,0);
|
||||
CloseHandle(lpBuffer);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
sprintf(UStack_830,s_Please_run_the__s_setup__005b63f4,s_windowTitle);
|
||||
sprintf(acStack_528,s__s_not_initialized__005b63e0,s_windowTitle);
|
||||
r3_wait_for_dvd(UStack_830,acStack_528,0);
|
||||
/* WARNING: Subroutine does not return */
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
// AUTO-GENERATED FILE
|
||||
#include <r3/binders/global.h>
|
||||
char(&s__s_not_initialized__005b63e0)[20] = reinterpret_cast<char(&)[20]>(GH_MEM(0x005b63e0));
|
||||
char(&s_Please_run_the__s_setup__005b63f4)[28] = reinterpret_cast<char(&)[28]>(GH_MEM(0x005b63f4));
|
||||
char(&s_dashCC)[4] = reinterpret_cast<char(&)[4]>(GH_MEM(0x005b6410));
|
||||
char(&s_Gli_Mode_005b6414)[12] = reinterpret_cast<char(&)[12]>(GH_MEM(0x005b6414));
|
||||
char(&s_Identifier_005b6420)[16] = reinterpret_cast<char(&)[16]>(GH_MEM(0x005b6420));
|
||||
char(&s_Check_your_version_of_DirectX__V_005b6430)[72] = reinterpret_cast<char(&)[72]>(GH_MEM(0x005b6430));
|
||||
char(&lpText_005b6478)[120] = reinterpret_cast<char(&)[120]>(GH_MEM(0x005b6478));
|
||||
char(&lpText_005b64f0)[80] = reinterpret_cast<char(&)[80]>(GH_MEM(0x005b64f0));
|
||||
char(&lpText_005b6540)[72] = reinterpret_cast<char(&)[72]>(GH_MEM(0x005b6540));
|
||||
char(&s_Rayman_3_005b6588)[16] = reinterpret_cast<char(&)[16]>(GH_MEM(0x005b6588));
|
||||
char(&lpText_005b6598)[76] = reinterpret_cast<char(&)[76]>(GH_MEM(0x005b6598));
|
||||
char(&s_Erreur_Rayman_3_005b65e4)[20] = reinterpret_cast<char(&)[20]>(GH_MEM(0x005b65e4));
|
||||
char(&s_dpnhpast_dll_005b65f8)[16] = reinterpret_cast<char(&)[16]>(GH_MEM(0x005b65f8));
|
||||
char(&s_DRAWSEM_005b6608)[8] = reinterpret_cast<char(&)[8]>(GH_MEM(0x005b6608));
|
||||
char(&s_Restoring_data_____005b6610)[20] = reinterpret_cast<char(&)[20]>(GH_MEM(0x005b6610));
|
||||
char(&s_QUIT)[8] = reinterpret_cast<char(&)[8]>(GH_MEM(0x005b6624));
|
||||
char(&s_or_press_ESC_to_quit_Rayman_3__005b662c)[32] = reinterpret_cast<char(&)[32]>(GH_MEM(0x005b662c));
|
||||
char(&s__s___Restoring_data____005b664c)[24] = reinterpret_cast<char(&)[24]>(GH_MEM(0x005b664c));
|
||||
char(&s_Daten_Reparatur____005b6664)[20] = reinterpret_cast<char(&)[20]>(GH_MEM(0x005b6664));
|
||||
char(&s_BEENDIGEN_005b6678)[12] = reinterpret_cast<char(&)[12]>(GH_MEM(0x005b6678));
|
||||
char& CHAR_E_005b6684= (char&) GH_MEM(0x005b6684);
|
||||
char(&s__s___Daten_Reparatur____005b66ac)[24] = reinterpret_cast<char(&)[24]>(GH_MEM(0x005b66ac));
|
||||
char(&s_German_005b66c4)[8] = reinterpret_cast<char(&)[8]>(GH_MEM(0x005b66c4));
|
||||
char(&s_Ripristino_dati____005b66cc)[20] = reinterpret_cast<char(&)[20]>(GH_MEM(0x005b66cc));
|
||||
char(&s__s___Pausa_005b66e0)[12] = reinterpret_cast<char(&)[12]>(GH_MEM(0x005b66e0));
|
||||
char(&s_USCIRE_005b66ec)[8] = reinterpret_cast<char(&)[8]>(GH_MEM(0x005b66ec));
|
||||
char(&s_Premi_ESC_per_uscire_da_Rayman_3_005b66f4)[36] = reinterpret_cast<char(&)[36]>(GH_MEM(0x005b66f4));
|
||||
char(&s__s___Ripristino_dati____005b6718)[24] = reinterpret_cast<char(&)[24]>(GH_MEM(0x005b6718));
|
||||
char(&s_Italian_005b6730)[8] = reinterpret_cast<char(&)[8]>(GH_MEM(0x005b6730));
|
||||
char(&s_Restablecer_datos____005b6738)[24] = reinterpret_cast<char(&)[24]>(GH_MEM(0x005b6738));
|
||||
char(&s__s___Rotura_005b6750)[12] = reinterpret_cast<char(&)[12]>(GH_MEM(0x005b6750));
|
||||
char(&s_SALIR_005b675c)[8] = reinterpret_cast<char(&)[8]>(GH_MEM(0x005b675c));
|
||||
char(&s_Pulsa_ESC_para_salir_Rayman_3__005b6764)[32] = reinterpret_cast<char(&)[32]>(GH_MEM(0x005b6764));
|
||||
char(&s__s___Restablecer_datos____005b6784)[28] = reinterpret_cast<char(&)[28]>(GH_MEM(0x005b6784));
|
||||
char(&s_Spanish_005b67a0)[8] = reinterpret_cast<char(&)[8]>(GH_MEM(0x005b67a0));
|
||||
char(&s_Restauration)[28] = reinterpret_cast<char(&)[28]>(GH_MEM(0x005b67a8));
|
||||
char(&s__s___Pause_005b67c4)[11] = reinterpret_cast<char(&)[11]>(GH_MEM(0x005b67c4));
|
||||
char(&s_ou_appuyez_sur_Echap_pour_quitte_005b67d0)[44] = reinterpret_cast<char(&)[44]>(GH_MEM(0x005b67d0));
|
||||
char(&s_QUITTER)[8] = reinterpret_cast<char(&)[8]>(GH_MEM(0x005b67fc));
|
||||
char(&s_Restauration_fmt)[36] = reinterpret_cast<char(&)[36]>(GH_MEM(0x005b6804));
|
||||
char(&s_French_005b6828)[8] = reinterpret_cast<char(&)[8]>(GH_MEM(0x005b6828));
|
||||
char(&s_windowTitle)[12] = reinterpret_cast<char(&)[12]>(GH_MEM(0x005b6830));
|
||||
char(&s_percents)[4] = reinterpret_cast<char(&)[4]>(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<char(&)[8]>(GH_MEM(0x005b68f0));
|
||||
const char* s_Directory_005b68f8 = "Directory"; // 005b68f8
|
||||
const char* s_None = "None"; // 005b6904
|
||||
const char* s_UbiSoft_Ubi_ini = "/UbiSoft/Ubi.ini"; // 005b690c
|
||||
long& lpDefault_005cf96c= (long&) GH_MEM(0x005cf96c);
|
||||
r3_main_data& r3_main_data_005d28b6= (r3_main_data&) GH_MEM(0x005d28b6);
|
||||
int& g_runMaximized= (int&) GH_MEM(0x0077d0a8);
|
||||
undefined4& g_engineRunning= (undefined4&) GH_MEM(0x0077d0b4);
|
||||
undefined4& g_drawSemaphore= (undefined4&) GH_MEM(0x0077d0bc);
|
||||
char(&g_mutexName_Rayman3)[256] = reinterpret_cast<char(&)[256]>(GH_MEM(0x0077d0c0));
|
||||
char(&g_windowTitle)[256] = reinterpret_cast<char(&)[256]>(GH_MEM(0x0077d1c0));
|
||||
char(&g_windowTitle)[256] = reinterpret_cast<char(&)[256]>(GH_MEM(0x0077d2c0));
|
||||
char(&s_windowTitleRestoring)[256] = reinterpret_cast<char(&)[256]>(GH_MEM(0x0077d3c0));
|
||||
HINSTANCE& g_hinstance= (HINSTANCE&) GH_MEM(0x0077d4c0);
|
||||
HWND& g_gameHWND= (HWND&) GH_MEM(0x0077d4c4);
|
||||
HANDLE& g_mainThreadHandle= (HANDLE&) GH_MEM(0x0077d4c8);
|
||||
char(&g_appCmdLine)[256] = reinterpret_cast<char(&)[256]>(GH_MEM(0x0077d4e0));
|
||||
char(&s_wndStrRestoring)[256] = reinterpret_cast<char(&)[256]>(GH_MEM(0x0077d5e0));
|
||||
char(&s_quitting1)[64] = reinterpret_cast<char(&)[64]>(GH_MEM(0x007825c0));
|
||||
char(&s_wndStrQuiting)[56] = reinterpret_cast<char(&)[56]>(GH_MEM(0x00782600));
|
||||
uint& DAT_007d9cc4= (uint&) GH_MEM(0x007d9cc4);
|
|
@ -0,0 +1,82 @@
|
|||
// AUTO-GENERATED FILE
|
||||
#ifndef GH_GENERATED_GLOBALS_H
|
||||
#define GH_GENERATED_GLOBALS_H
|
||||
|
||||
#include <r3/binders/global.h>
|
||||
|
||||
|
||||
extern char(&s__s_not_initialized__005b63e0)[20]; // 005b63e0
|
||||
extern char(&s_Please_run_the__s_setup__005b63f4)[28]; // 005b63f4
|
||||
extern char(&s_dashCC)[4]; // 005b6410
|
||||
extern char(&s_Gli_Mode_005b6414)[12]; // 005b6414
|
||||
extern char(&s_Identifier_005b6420)[16]; // 005b6420
|
||||
extern char(&s_Check_your_version_of_DirectX__V_005b6430)[72]; // 005b6430
|
||||
extern char(&lpText_005b6478)[120]; // 005b6478
|
||||
extern char(&lpText_005b64f0)[80]; // 005b64f0
|
||||
extern char(&lpText_005b6540)[72]; // 005b6540
|
||||
extern char(&s_Rayman_3_005b6588)[16]; // 005b6588
|
||||
extern char(&lpText_005b6598)[76]; // 005b6598
|
||||
extern char(&s_Erreur_Rayman_3_005b65e4)[20]; // 005b65e4
|
||||
extern char(&s_dpnhpast_dll_005b65f8)[16]; // 005b65f8
|
||||
extern char(&s_DRAWSEM_005b6608)[8]; // 005b6608
|
||||
extern char(&s_Restoring_data_____005b6610)[20]; // 005b6610
|
||||
extern char(&s_QUIT)[8]; // 005b6624
|
||||
extern char(&s_or_press_ESC_to_quit_Rayman_3__005b662c)[32]; // 005b662c
|
||||
extern char(&s__s___Restoring_data____005b664c)[24]; // 005b664c
|
||||
extern char(&s_Daten_Reparatur____005b6664)[20]; // 005b6664
|
||||
extern char(&s_BEENDIGEN_005b6678)[12]; // 005b6678
|
||||
extern char& CHAR_E_005b6684; // 005b6684
|
||||
extern char(&s__s___Daten_Reparatur____005b66ac)[24]; // 005b66ac
|
||||
extern char(&s_German_005b66c4)[8]; // 005b66c4
|
||||
extern char(&s_Ripristino_dati____005b66cc)[20]; // 005b66cc
|
||||
extern char(&s__s___Pausa_005b66e0)[12]; // 005b66e0
|
||||
extern char(&s_USCIRE_005b66ec)[8]; // 005b66ec
|
||||
extern char(&s_Premi_ESC_per_uscire_da_Rayman_3_005b66f4)[36]; // 005b66f4
|
||||
extern char(&s__s___Ripristino_dati____005b6718)[24]; // 005b6718
|
||||
extern char(&s_Italian_005b6730)[8]; // 005b6730
|
||||
extern char(&s_Restablecer_datos____005b6738)[24]; // 005b6738
|
||||
extern char(&s__s___Rotura_005b6750)[12]; // 005b6750
|
||||
extern char(&s_SALIR_005b675c)[8]; // 005b675c
|
||||
extern char(&s_Pulsa_ESC_para_salir_Rayman_3__005b6764)[32]; // 005b6764
|
||||
extern char(&s__s___Restablecer_datos____005b6784)[28]; // 005b6784
|
||||
extern char(&s_Spanish_005b67a0)[8]; // 005b67a0
|
||||
extern char(&s_Restauration)[28]; // 005b67a8
|
||||
extern char(&s__s___Pause_005b67c4)[11]; // 005b67c4
|
||||
extern char(&s_ou_appuyez_sur_Echap_pour_quitte_005b67d0)[44]; // 005b67d0
|
||||
extern char(&s_QUITTER)[8]; // 005b67fc
|
||||
extern char(&s_Restauration_fmt)[36]; // 005b6804
|
||||
extern char(&s_French_005b6828)[8]; // 005b6828
|
||||
extern char(&s_windowTitle)[12]; // 005b6830
|
||||
extern char(&s_percents)[4]; // 005b683c
|
||||
extern const char* s_Language_005b6840; // 005b6840
|
||||
extern const char* s_English_005b684c; // 005b684c
|
||||
extern const char* s_CompleteInstall_005b6854; // 005b6854
|
||||
extern const char* s_SOFTWARE_UBI_SOFT_RAYMAN_3_005b6864; // 005b6864
|
||||
extern const char* s_Unable_to_find_R3_Setup_DX8_exe__005b6880; // 005b6880
|
||||
extern const char* s_Rayman_3_Error_005b68bc; // 005b68bc
|
||||
extern const char* fopen_mode_r_binary; // 005b68cc
|
||||
extern const char* s__R3_Setup_DX8_exe_005b68d0; // 005b68d0
|
||||
extern const char* s_Adapter_005b68e4; // 005b68e4
|
||||
extern const char* fopen_mode_r_text; // 005b68ec
|
||||
extern char(&lpAppName_005b68f0)[8]; // 005b68f0
|
||||
extern const char* s_Directory_005b68f8; // 005b68f8
|
||||
extern const char* s_None; // 005b6904
|
||||
extern const char* s_UbiSoft_Ubi_ini; // 005b690c
|
||||
extern long& lpDefault_005cf96c; // 005cf96c
|
||||
extern r3_main_data& r3_main_data_005d28b6; // 005d28b6
|
||||
extern int& g_runMaximized; // 0077d0a8
|
||||
extern undefined4& g_engineRunning; // 0077d0b4
|
||||
extern undefined4& g_drawSemaphore; // 0077d0bc
|
||||
extern char(&g_mutexName_Rayman3)[256]; // 0077d0c0
|
||||
extern char(&g_windowTitle)[256]; // 0077d1c0
|
||||
extern char(&g_windowTitle)[256]; // 0077d2c0
|
||||
extern char(&s_windowTitleRestoring)[256]; // 0077d3c0
|
||||
extern HINSTANCE& g_hinstance; // 0077d4c0
|
||||
extern HWND& g_gameHWND; // 0077d4c4
|
||||
extern HANDLE& g_mainThreadHandle; // 0077d4c8
|
||||
extern char(&g_appCmdLine)[256]; // 0077d4e0
|
||||
extern char(&s_wndStrRestoring)[256]; // 0077d5e0
|
||||
extern char(&s_quitting1)[64]; // 007825c0
|
||||
extern char(&s_wndStrQuiting)[56]; // 00782600
|
||||
extern uint& DAT_007d9cc4; // 007d9cc4
|
||||
#endif // GH_GENERATED_GLOBALS_H
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 004010b0
|
||||
// FUN_004010b0
|
||||
extern "C" undefined FUN_004010b0(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x004010b0);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 00401320
|
||||
// FUN_00401320
|
||||
extern "C" undefined FUN_00401320(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x00401320);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 00470db0
|
||||
// FUN_00470db0
|
||||
extern "C" undefined FUN_00470db0(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x00470db0);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 00472150
|
||||
// FUN_00472150
|
||||
extern "C" undefined FUN_00472150(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x00472150);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 004725a0
|
||||
// FUN_004725a0
|
||||
extern "C" undefined FUN_004725a0(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x004725a0);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 004fb300
|
||||
// FUN_004fb300
|
||||
extern "C" undefined FUN_004fb300(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x004fb300);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 00503710
|
||||
// FUN_00503710
|
||||
extern "C" undefined FUN_00503710(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x00503710);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 005038e0
|
||||
// FUN_005038e0
|
||||
extern "C" undefined FUN_005038e0(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x005038e0);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 00401310
|
||||
// g_setInitVar0
|
||||
extern "C" void g_setInitVar0(void) {
|
||||
gh_stub_impl_stdcall<void>((void*)0x00401310);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 00470be0
|
||||
// gfx_init2
|
||||
extern "C" undefined gfx_init2(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x00470be0);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 004464f0
|
||||
// r3_checkDisc
|
||||
extern "C" undefined r3_checkDisc(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x004464f0);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 00401220
|
||||
// r3_engineLoop
|
||||
extern "C" undefined r3_engineLoop(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x00401220);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 0047bb00
|
||||
// r3_get_gli_height1
|
||||
extern "C" int r3_get_gli_height1(void) {
|
||||
return gh_stub_impl_stdcall<int>((void*)0x0047bb00);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 0047baf0
|
||||
// r3_get_gli_width1
|
||||
extern "C" int r3_get_gli_width1(void) {
|
||||
return gh_stub_impl_stdcall<int>((void*)0x0047baf0);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 00401000
|
||||
// r3_initAllModules
|
||||
extern "C" undefined r3_initAllModules(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x00401000);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 00401100
|
||||
// r3_noop
|
||||
extern "C" void r3_noop(void * p_cTxt1, void * p_cTxt2) {
|
||||
gh_stub_impl_stdcall<void>((void*)0x00401100, p_cTxt1, p_cTxt2);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 0043e540
|
||||
// r3_wait_for_dvd
|
||||
extern "C" undefined r3_wait_for_dvd(char * param_1, char * param_2, undefined4 param_3) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x0043e540, param_1, param_2, param_3);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 00402140
|
||||
// setupWindow
|
||||
extern "C" int setupWindow(HINSTANCE instance, undefined4 param_2, int windowedParam) {
|
||||
return gh_stub_impl_stdcall<int>((void*)0x00402140, instance, param_2, windowedParam);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
// AUTO-GENERATED FILE!!!!
|
||||
// This function has yet to be decompiled using 'Dump Current Function' in ghidra
|
||||
// with possible manualy fixes
|
||||
|
||||
#include <r3/binders/auto.h>
|
||||
#include <r3/binders/stub.h>
|
||||
#include <gh_global.h>
|
||||
|
||||
// 004477d0
|
||||
// spawnThread
|
||||
extern "C" undefined spawnThread(void) {
|
||||
return gh_stub_impl_cdecl<undefined>((void*)0x004477d0);
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue