REDIVIVUS

Proposals / #938

Mac PATH_ResetCollisionOnLanding: __fastcc void (D2UnitStrc * pUnit, int32_t nTargetX, int32_t nTargetY)

applied · by KierTaylor · submitted 2026-11-02, applied 2026-11-02

Ghidra vmac 111 · 3c6740e

Mac body: ECX (ESI) is the unit (dwUnitType at +0, dynamic path at +0x2c, passed to the room getter); EDX and [EBP+8] are tested for zero and then passed as the X and Y coordinates (in that order) with the room and collision mask 0x100 to the collision-reset call; plain RET. Windows twin PATH_ResetCollisionOnLanding 0x004c8890 is void (int32_t nParam1, int32_t nParam2, D2UnitStrc * pUnit); Mac puts the unit first.

Changes 1, applied together

  1. Set prototype mac 0x00088993

    signatureundefined PATH_ResetCollisionOnLanding(void)→void PATH_ResetCollisionOnLanding(D2UnitStrc * pUnit, int32_t nTargetX, int32_t nTargetY)
    conventionunknown→__fastcc