REDIVIVUS

Proposals / #973

Resolve the Mac charged-skill return and output as independent BOOLs

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

Ghidra vmac 111 · 3cfe190

Mac0016febd produces two independent four-byte Booleans: fullEAX reports whether the stat collector returned a positive count, while the optional output receives DWORD1 initially and DWORD0 on the first deficient value. All four actual callers test fullEAX and read that output as a DWORD. Set the existing generic return to BOOL and bool* output to BOOL*, preserving both names, slots, cdecl, locals and stack protector. Complete native caller/producer bodies, separate listings and original Windows corroboration verified. No packed-result, record/layout, union, buffer-extent, rename or helper/caller change.

Changes 1, applied together

  1. Set prototype mac 0x0016febd

    signatureundefined4 ITEMS_CheckChargedSkillFullyCharged(D2UnitStrc * pItem, bool * pOutFullyCharged)→BOOL ITEMS_CheckChargedSkillFullyCharged(D2UnitStrc * pItem, BOOL * pOutFullyCharged)
    convention__cdecl