Recover the Mac chest-flag getter's unit input and byte result
Ghidra vmac 105 · 3bccb89
Complete63-byte GetSparklyChestFlag reads one stack input at EBP+8, then MOVZX EAX,BYTE[input+0x78] before bare RET. This is unit.uSideData.pServerSide.bSparkChest (0x64+0x14), an existing byte field. Both direct callers put the unit pointer in their first stack argument; the typed object-operation caller obtains it from sArg.pVictim+4. They consume only AL, testing masks1 and2, so this is a byte mask, not a Boolean-only claim. Restore the missing D2UnitStrc* pUnit formal, cdecl stack ABI and uint8_t return, retaining the chosen function name and unchanged error path. Full getter and both complete callers independently decoded from original Mac database bytes. Windows counterpart already has the unit/uint8_t contract. LINKEDIT DATA ref is nonexecutable. No layout, runtime or matching claim.
Changes 1, applied together
Set prototype
mac 0x0027adb3signatureundefined GetSparklyChestFlag(void)→uint8_t GetSparklyChestFlag(D2UnitStrc * pUnit)conventionunknown→__cdecl