REDIVIVUS

Proposals / #1305

Mac MAINMENU_GetLocalizedFilePath: void __fastcall (char* szOutPath ECX, char* szPathFormat EDX, char* szResolution)

checked · by KierTaylor · submitted 2026-11-06

ECX -> ESI is the output buffer (passed as [ESP], the destination of the path sprintf). EDX -> EBX is the path format ([ESP+4]). [EBP+8] is the resolution string ([ESP+0x10], after the language abbreviation). There are no other stack reads. The caller UIMENU_PlayCutScene 0x002ca0cc sets ECX=LEA of a local path buffer and [ESP]=LEA of the local '640x480'/'640x292' string. Roles match the Windows twin 0x0042fd10 (szPathFormat EBX, szOutPath ESI, szResolution EDI; void), in Mac fastcall order.

Changes 1, applied together

  1. Set prototype mac 0x002cb2a6

    signatureundefined MAINMENU_GetLocalizedFilePath(void)→void MAINMENU_GetLocalizedFilePath(char* szOutPath, char* szPathFormat, char* szResolution)
    conventionunknown→__fastcall