Ray3 main debug stub
This commit is contained in:
@@ -220,16 +220,17 @@ LAB_004017ce:
|
||||
}
|
||||
}
|
||||
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);
|
||||
/* Open reg key
|
||||
HKEY_LOCAL_MACHINE\\SOFTWARE\\UBI SOFT\\RAYMAN 3 */
|
||||
HKEY key;
|
||||
LVar6 = RegOpenKeyExA(HKEY_LOCAL_MACHINE,s_SOFTWARE_UBI_SOFT_RAYMAN_3_005b6864,0,0x20019,
|
||||
&key);
|
||||
if (LVar6 == 0) {
|
||||
LVar6 = RegQueryValueExA(unaff_ESI,s_CompleteInstall_005b6854,(LPDWORD)0x0,&pvStack_834,
|
||||
LVar6 = RegQueryValueExA(key,s_CompleteInstall_005b6854,(LPDWORD)0x0,&pvStack_834,
|
||||
uStack_83c,&pHStack_838);
|
||||
DAT_007d9cc4 = (uint)(LVar6 == 0);
|
||||
if (unaff_ESI != (HKEY)0x0) {
|
||||
RegCloseKey(unaff_ESI);
|
||||
if (key != (HKEY)0x0) {
|
||||
RegCloseKey(key);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -540,25 +541,27 @@ LAB_004017ce:
|
||||
r3_checkDisc();
|
||||
dwOptions = 0;
|
||||
BVar18 = 0;
|
||||
lpTargetHandle = (LPHANDLE)&stack0xfffff7ac;
|
||||
HANDLE duplicatedHandle;
|
||||
DVar7 = 0x1f03ff;
|
||||
g_hinstance = instance;
|
||||
hTargetProcessHandle = GetCurrentProcess();
|
||||
hSourceHandle = GetCurrentThread();
|
||||
hSourceProcessHandle = GetCurrentProcess();
|
||||
DuplicateHandle(hSourceProcessHandle,hSourceHandle,hTargetProcessHandle,lpTargetHandle,DVar7,
|
||||
DuplicateHandle(hSourceProcessHandle,hSourceHandle,hTargetProcessHandle,&duplicatedHandle,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');
|
||||
g_mainThreadHandle = duplicatedHandle;
|
||||
// do {
|
||||
// uVar14 = *ppCVar8;
|
||||
// *(char *)(((int)g_appCmdLine - (int)puStack_14) + (int)ppCVar8) =
|
||||
// (char)uVar14; ppCVar8 = (uint *)((int)ppCVar8 + 1);
|
||||
// } while ((char)uVar14 != '\0');
|
||||
LPSTR cmdline = GetCommandLineA();
|
||||
strncpy(g_appCmdLine, cmdline, std::size(g_appCmdLine));
|
||||
/* SEM_FAILCRITICALERRORS */
|
||||
SetErrorMode(1);
|
||||
pcVar4 = strstr(puStack_14,s_dashCC);
|
||||
pcVar4 = strstr(cmdline, s_dashCC);
|
||||
if (pcVar4 == (char *)0x0) {
|
||||
r3_initAllModules();
|
||||
iVar13 = setupWindow(instance,uStack_10,g_runMaximized);
|
||||
@@ -570,21 +573,22 @@ LAB_004017ce:
|
||||
spawnThread();
|
||||
r3_noop(p_cTxt1,p_cTxt2);
|
||||
gfx_init2();
|
||||
lpRect = (LPRECT)&stack0xfffff7c0;
|
||||
RECT rect;
|
||||
hWnd = GetDesktopWindow();
|
||||
GetWindowRect(hWnd,lpRect);
|
||||
GetWindowRect(hWnd,&rect);
|
||||
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;
|
||||
iVar11 = (int)(rect.top - iVar11) / 2;
|
||||
iVar12 = r3_get_gli_width1();
|
||||
MoveWindow(g_gameHWND,(int)(pHStack_838 - iVar12) / 2,iVar11,iVar10,iVar13,BVar18);
|
||||
MoveWindow(g_gameHWND,(int)(rect.right - iVar12) / 2,iVar11,iVar10,iVar13,BVar18);
|
||||
FUN_004010b0();
|
||||
SystemParametersInfoA(0x10,0,&stack0xfffff7b0,0);
|
||||
SystemParametersInfoA(0x11,0,(PVOID)0x0,0);
|
||||
DWORD screensaveActive;
|
||||
SystemParametersInfoA(SPI_GETSCREENSAVEACTIVE,0,&screensaveActive,0);
|
||||
SystemParametersInfoA(SPI_SETSCREENSAVEACTIVE,0,(PVOID)0x0,0);
|
||||
ShowCursor(0);
|
||||
uStack_85c = 0;
|
||||
SystemParametersInfoA(0x61,1,&uStack_85c,0);
|
||||
|
||||
Reference in New Issue
Block a user