REDIVIVUS

Proposals / #1288

Mac D2FILE_CloseFile: void __cdecl (D2PoolManagerStrc* pMemory, D2MPQFileStrc* pFile)

checked · by KierTaylor · submitted 2026-11-06

The Mac body reads [EBP+0xc] (pFile: halts on line 0x49 if NULL, then passes it to the Storm close call 0x002ef516), then a plain RET with no return. [EBP+8] is the unused pool slot, the same as the Windows twin 0x00516e84, whose ECX pMemory is unused ("callers pass their pool or 0"). The caller D2FILE_AllocAndLoadD2File 0x002b6913 keeps [ESP] (the pool, from the previous ReadFile call) and stores the handle at [ESP+4].

Changes 1, applied together

  1. Set prototype mac 0x002b65dc

    signatureundefined D2FILE_CloseFile(void)→void D2FILE_CloseFile(D2PoolManagerStrc* pMemory, D2MPQFileStrc* pFile)
    conventionunknown→__cdecl