REDIVIVUS

Proposals / #841

Recover the Mac animation frame-time helper's arguments and signed return

applied · by Commit-Will · submitted 2026-11-02, applied 2026-11-02

Ghidra vmac 110 · 9528519

The Mac helper's complete body and both callers prove three four-byte inputs: unit type in ECX, signed class ID in EDX and animation mode at Stack4. Its full signed result is zero, a player timing constant or a sign-extended monster speed field; callers clamp or scale that signed value. Recover the existing Mac fastcc mapping and complete prototype, preserving the chosen name. Unit fields and the complete state-transform producer establish input meanings; original Windows bytes confirm the same calculation with different register storage. No caller/shared-type/name/layout or runtime/build changes.

Changes 1, applied together

  1. Set prototype mac 0x001905c3

    signatureundefined UNITS_GetAnimFrameTime(void)→int32_t UNITS_GetAnimFrameTime(eD2UnitType eUnitType, int32_t nClassId, int32_t nAnimMode)
    conventionunknown→__fastcc