Mac PLRSAVE_RestoreItemToBodyLoc: int __fastcc (pGame, pUnit, pItem, pParentItem)
Mac 0x0020961b is "undefined (void)", convention unknown. ECX saved to [EBP-0x14] and EDX to [EBP-0x18], then passed as args 1 and 2 (pGame, pUnit) of PutItemInItem (0x001bebc5, (D2GameStrc* pGame, D2UnitStrc* pUnit, DWORD nItemGUID, DWORD nContainerGUID, ...)) at 0x00209687-0x002096bb. Stack: [EBP+8] the item (EDI; GUID [EDI+0xc] -> nItemGUID), [EBP+0xc] the parent/container item (EBX; GUID [EBX+0xc] -> nContainerGUID). Returns a status in EAX (EDI=0xd path); plain RET 0x002097ac. Same four values as Windows twin 0x00531520 int (D2UnitStrc* pUnit, pGame, D2UnitStrc* pUnit2, D2UnitStrc* pParentItem), in Mac register order.
Changes 1, applied together
Set prototype
mac 0x0020961bsignatureundefined PLRSAVE_RestoreItemToBodyLoc(void)→int PLRSAVE_RestoreItemToBodyLoc(D2GameStrc * pGame, D2UnitStrc * pUnit, D2UnitStrc * pItem, D2UnitStrc * pParentItem)conventionunknown→__fastcc