Type game server parameters held as int32_t as the game, damage, AI and packet list pointers their callers pass
Eight game server parameters typed int32_t hold a pointer, and each body reads only fields of that struct at their width. CLIENT_SetPacketList clears pNext (0x204) of D2PacketListStrc and stores the parameter as the client's pPacketList. OBJECT_RollAndDispatchPopulateFn reads 0x4, 0x8 and 0xc of the D2ObjectRngStrc its one caller passes. OBJMODE_DropItemAtPosition copies wItemFormat (0x78) of SGAMEDATA into the item context and passes the same value on as an SGAMEDATA *; _oldSaveGameLoadingPart8_part1 passes bExpansion (0x70) to GetHirelingText. DAMAGE_ApplyUndeadBonusDamage adds to dwEnDmgPct (0xc) of D2DamageStrc. AI_BaalEvaluateCombatAction reads 0x14 of the D2AiGeneralStrc it is given, and it and AI_Diablo_DecideAction read nCmdArg[1] and nCmdArg[2] (0xc, 0x10) of a D2MonsterAiCmdStrc as an anchor point after a null check.
Changes 8, applied together
Retype variable
win 0x00539270 EDXtypeint32_t→D2PacketListStrc *Retype variable
win 0x00552400 EAXtypeint32_t→D2ObjectRngStrc *Retype variable
win 0x00585a80 ECXtypeint32_t→SGAMEDATA *Retype variable
win 0x00533bf0 ECXtypeint32_t→SGAMEDATA *Retype variable
win 0x0057b660 EBXtypeint32_t→D2DamageStrc *Retype variable
win 0x005fc630 Stack[0x8]typeint32_t→D2AiGeneralStrc *Retype variable
win 0x005fc630 Stack[0x14]typeint32_t→D2MonsterAiCmdStrc *Retype variable
win 0x005e8810 Stack[0x10]typeint32_t→D2MonsterAiCmdStrc *