Recover the shared Mac file loader's five-argument API and buffer result
Mac002b6888 stores undefined(void)/unknown, while all24 direct callers supply the same five DWORD slots and consume a file-buffer pointer result. Recover void* cdecl(D2PoolManagerStrc*,char*,uint32_t*,char*,int32_t), matching the fully inspected Windows00517079 API. Native Mac reads filename at[EBP+c] and optional size output at[EBP+10]; the pool/source-file/line slots are unused in its optimized body but are preserved from every caller and the Windows RET12 contract. Success returns the allocation pointer; open/allocation failures return null; the optional size store is one DWORD. The current callee decompiler infers only three formal arguments while callers emit five. Existing applied1288/1293 cover only the close/read leaves. This proposal fixes the parent contract and does not claim to remove unrelated unused-pool-slot type-flow artifacts.
Changes 1, applied together
Set prototype
mac 0x002b6888signatureundefined D2FILE_AllocAndLoadD2File(void)→void * D2FILE_AllocAndLoadD2File(D2PoolManagerStrc * pMemory, char * szFilename, uint32_t * pSize, char * szFile, int32_t nLine)conventionunknown→__cdecl