reman3/game_re/gh_fix/r3_initAllModules.cxx

58 lines
1.4 KiB
C++

// AUTO-GENERATED FILE, MOVE TO 'gh_fix' FOLDER PREVENT OVERWRITING!!!!!
#include <r3/binders/auto.h>
#include <gh_global.h>
extern "C" {
undefined r3_module_big_init(void); // 00443f10 // r3_module_big_init
undefined r3_module1_init(void); // 0043e630 // r3_module1_init
byte Erm_fn_ucInitErrMsg(void); // 0043e1d0 // Erm_fn_ucInitErrMsg
undefined Mmg_fn_vFirstInitMmgModule(undefined1 ucMaxNbChannel); // 0043f830 // Mmg_fn_vFirstInitMmgModule
// 00401000
void r3_initAllModules(void)
{
char cVar1;
size_t sVar2;
size_t sVar3;
uint uVar4;
char *pcVar5;
CHAR exePath [255];
char acStack_101 [257];
if (g_errModDInput == 0xff) {
g_errModDInput = Erm_fn_ucInitErrMsg();
}
if (g_errModMmg == 0xff) {
g_errModMmg = Erm_fn_ucInitErrMsg();
}
/* Init the memory manager */
Mmg_fn_vFirstInitMmgModule(10);
/* Set to exe path */
GetModuleFileNameA((HMODULE)0x0,exePath,0xff);
uVar4 = 0xffffffff;
pcVar5 = exePath;
do {
if (uVar4 == 0) break;
uVar4 = uVar4 - 1;
cVar1 = *pcVar5;
pcVar5 = pcVar5 + 1;
} while (cVar1 != '\0');
sVar2 = ~uVar4;
do {
sVar3 = sVar2;
sVar2 = sVar3 - 1;
if ((int)sVar2 < 0) break;
} while (exePath[sVar2] != '\\');
strncpy(acStack_101 + 1,exePath,sVar2);
acStack_101[sVar3] = '\0';
SetCurrentDirectoryA(acStack_101 + 1);
r3_module1_init();
r3_module_big_init();
return;
}
}