REDIVIVUS

Proposals / #1175

Mac ITEMMODE_CheckCanPickup: void __fastcc (pGame, pUnit, pItem) prototype

approved · by KierTaylor · submitted 2026-11-05, approved 2026-11-05

Mac 0x001b9fb9 is "undefined (void)", convention unknown. Entry: ESI=EDX (unit: [ESI+0x60] inventory, passed as owner to 0x00175cb6/0x001b6823), [EBP+8] -> EDI (item: passed to item getters 0x0016f8cf/0x0019032d); ECX is not read in the body; plain RET 0x001ba02d, no result set on the early exits. Caller ITEMMODE_UpdateInventoryItems stores [ESP]=EDI (item), loads ECX=[EBP+8] (pGame), EDX=[EBP+0xc] (pUnit) before CALL at 0x001b9c00. Same three values as Windows twin 0x0055d970 void (pGame, D2UnitStrc* pUnit, D2UnitStrc* pUnit2); third named for its item use.

Changes 1, applied together

  1. Set prototype mac 0x001b9fb9

    signatureundefined ITEMMODE_CheckCanPickup(void)→void ITEMMODE_CheckCanPickup(D2GameStrc * pGame, D2UnitStrc * pUnit, D2UnitStrc * pItem)
    conventionunknown→__fastcc