REDIVIVUS

Proposals / #1358

Recover the Mac monster animation updater's unit and table-entry pointer inputs

checked · by eejitgames · submitted 2026-11-06

Mac CLIENT_UpdateMonsterAnimByMode (00119363) has the same input-domain defect as Windows #1355, at a separate target. Its first stack argument is a unit: it reads type/class/mode at +0/+4/+10, passes it to unit animation helpers and updates frame/speed/flags at +44/+4c/+c4. Its second argument is a pointer to three DWORD animation-entry values, selected by the sole code caller from 12-byte rows; the target reads +4 and the caller reads +0/+8. Use D2UnitStrc * and int * (the Mac database has no animation-entry struct), and name generic nParam pAnimModeEntry. Preserve the chosen first name, cdecl, widths and return. Full Mac target and relevant caller data flow verified independently against Windows machine code. No prior proposal targets this Mac address.

Changes 3, applied together

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

    typeD2DynamicPathStrc *32→D2UnitStrc *
  2. Retype variable mac 0x00119363 Stack[0x8]

    typeint32_t→int *
  3. Rename variable mac 0x00119363 Stack[0x8]

    namenParam→pAnimModeEntry