Recover the Mac player-name formatter's four-argument register and stack contract
Mac000f6e84 stores undefined(void)/unknown but reads unitECX, health-outputEDX, a four-byte display-status output atStack4 and wide text destination atStack8. Its complete417-byte body and both callers establish these four inputs, void return and caller-cleaned stack. Recover the Mac __fastcc model, with int* health and BOOL* status outputs and WCHAR* text. The status stores are DWORD0/1, including the dead-player override; the health result is a DWORD0 or scaled percentage. Windows00452af0 corroborates the operations but has a different custom ABI and a capacity input; Mac hardcodes128 and has no fifth argument. Applied1353 only fixed the Windows status width. Current Mac pseudocode exposes in_ECX/in_EDX and caller000f9f83 emits only the two stack inputs. This proposal corrects the Mac callee at the source.
Changes 1, applied together
Set prototype
mac 0x000f6e84signatureundefined UI_FormatPlayerNameAndStatus(void)→void UI_FormatPlayerNameAndStatus(D2UnitStrc * pUnit, int * pHpBarValue, BOOL * pPartyStatus, WCHAR * wszText)conventionunknown→__fastcc