Mac PLRMODES_HandleDepletedAmmoOrThrowable: void __fastcc (pGame ECX, pUnit EDX, pWeapon stack)
Mac 0x001fd65e is "undefined (void)", convention unknown. Entry: ESI=EDX (unit), ECX saved to [EBP-0x20] (game), EDI=[EBP+8] passed to IsStackable (0x0017173a, bool (D2UnitStrc* item)) at 0x001fd67b, so the stack argument is the weapon/ammo item. [EBP+8] is the only stack read; plain RET 0x001fd71b. Same three values as Windows twin 0x00580030 void (pGame, D2UnitStrc* pUnit, D2UnitStrc* pWeaponOwner); the third is named for its use as the item.
Changes 1, applied together
Set prototype
mac 0x001fd65esignatureundefined PLRMODES_HandleDepletedAmmoOrThrowable(void)→void PLRMODES_HandleDepletedAmmoOrThrowable(D2GameStrc * pGame, D2UnitStrc * pUnit, D2UnitStrc * pWeapon)conventionunknown→__fastcc