Type and name the game/skill parameters of SKILLAMZ_CreatePlagueJavelinClouds and SKILLAMZ_CreateLightningFuryBolts
Ghidra v1798 · d52cd0a
Both functions' first stack parameter is the SGAMEDATA: CreatePlagueJavelinClouds reads +0x70 (bExpansion) and +0xa8 (dwGameFrame); CreateLightningFuryBolts reads +0x6d (nDifficulty). The second parameter of CreateLightningFuryBolts is the skill id: it is passed straight to GetSkilParam2(eD2Skills). Each has a single caller (Skills_SrvDoFunc_076_Whirlwind and Skills_SrvDoFunc_069_FindPotion) that passes its own pGame / eSkill. Same-width retypes; only generic nParam names renamed. The function names themselves look stale for this use and are left alone.
Changes 6, applied together
Retype variable
win 0x005d9320 Stack[0x4]typeint32_t→SGAMEDATA *Rename variable
win 0x005d9320 Stack[0x4]namenParam→pGameRetype variable
win 0x005d8100 Stack[0x4]typeint32_t→SGAMEDATA *Rename variable
win 0x005d8100 Stack[0x4]namenParam1→pGameRetype variable
win 0x005d8100 Stack[0x8]typeint32_t→eD2SkillsRename variable
win 0x005d8100 Stack[0x8]namenParam2→eSkill