Mac MAINMENU_GetLocalizedFilePath: void __fastcall (char* szOutPath ECX, char* szPathFormat EDX, char* szResolution)
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
Set prototype
mac 0x002cb2a6signatureundefined MAINMENU_GetLocalizedFilePath(void)→void MAINMENU_GetLocalizedFilePath(char* szOutPath, char* szPathFormat, char* szResolution)conventionunknown→__fastcall