Resolve the Mac stat-list skill-level getter to its signed int return
Ghidra vmac 109 · 39698f0
Mac 0019773e GetSkillLevel currently returns undefined4. Its complete 11-byte body returns the full existing signed int nSkillLevel field at offset32 in the stat-list base prefix. Both incoming callers consume all32 bits: the state-expiry caller performs a signed JL comparison against D2StateExArgStrc.nSkillLvl, and Smite forwards the value to typed int32_t skill-level damage inputs. A complete native setter and the expiry producer independently store that same signed scalar field. Set only the return to existing int, keeping pStatListEx, its declared type, one cdecl stack slot, plain RET and every other definition. Matching original Windows bytes corroborate the same field-return contract. No pointee-layout, setter-return, Mac runtime, build or byte-match claim is made.
Changes 1, applied together
Set prototype
mac 0x0019773esignatureundefined4 GetSkillLevel(D2StatListExStrc * pStatListEx)→int GetSkillLevel(D2StatListExStrc * pStatListEx)convention__cdecl