Mac PLRSAVE_RestoreEquippedItem: int __fastcc (pGame, pUnit, pItemRelated, ppItem, pStorageType)
Mac 0x002090c1 is "undefined (void)", convention unknown. Entry: ESI=ECX passed unchanged as ECX (pGame) to PLRSAVE_CreateItemFromSaveData (0x00206d88, fastcc pGame, pItemRelated) together with EDX=[EBP+8] (saved-item record) at 0x002090d7-0x002090da; EBX=EDX (player unit, used as [ESP+4] and later its +0x60 inventory). [EBP+0xc] is an out pointer to the item (*[EBP+0xc]=EDI at 0x00209369) and [EBP+0x10] an out storage type (*[EBP+0x10]=byte record+1 at 0x00209372). Returns [EBP-0x20] (status, default 0xd) in EAX; plain RET 0x0020937e. Same five values as Windows twin 0x00531390 int (pGame, D2UnknownItemRelatedStruct*, D2UnitStrc** pGame2, uint* pnStorageType, D2UnitStrc* pUnit), in Mac order; record left void* (non-Strc struct name), out pointers renamed by use.
Changes 1, applied together
Set prototype
mac 0x002090c1signatureundefined PLRSAVE_RestoreEquippedItem(void)→int PLRSAVE_RestoreEquippedItem(D2GameStrc * pGame, D2UnitStrc * pUnit, void * pItemRelated, D2UnitStrc * * ppItem, uint * pStorageType)conventionunknown→__fastcc