REDIVIVUS

Proposals / #1689

Type the Mac animation action-frame helper's unit parameter

checked · by eejitgames · submitted 2026-11-08

Mac001904df stores its first input as int param_1, but native code dereferences it as the caller's D2UnitStrc: DWORD pAnimData at+0x50, then BYTE nActionFrame stores at+0x4e. Both actual E8callers001904a7/cd pass the parent's typed unit from ESI; its source is[EBP+8] at0019040d. The same marker lookup and stores occur twice inline in Windows00623e00. Retype Stack4 to D2UnitStrc* and name the default parameter pUnit. Preserve cdecl, index, names and stored return: retained EAX and unused results alone do not settle a void-versus-unit-pointer API.

Changes 2, applied together

  1. Retype variable mac 0x001904df Stack[0x4]

    typeint→D2UnitStrc *
  2. Rename variable mac 0x001904df Stack[0x4]

    nameparam_1→pUnit