Type the Mac boss-ID setter's input as a unit pointer
Ghidra vmac 105 · 3bccb89
MONSTER_SetBossId's first stack argument is a D2UnitStrc pointer, currently int*. Its complete32-byte body checks unit type1 at+0, loads the monster-data pointer at+0x14, then writes the second argument's low16 bits at monster-data+0x26. All three offsets match existing unit/monster layouts. The sole code caller passes unchanged ESI from AllocUnit; before the call it initializes that object's type/class/GUID at+0/+4/+0xc and seed at+0x20. Retype only Stack[4]; retain both names, the unknown return, second argument width and cdecl. Complete caller/setter/allocator/getter bytes inspected. The other DATA reference is non-executable LINKEDIT metadata. No Windows pair or runtime result claimed.
Changes 1, applied together
Retype variable
mac 0x0011c8c7 Stack[0x4]typeint *→D2UnitStrc *