REDIVIVUS

Proposals / #627

Type and name the game/skill parameters of SKILLAMZ_CreatePlagueJavelinClouds and SKILLAMZ_CreateLightningFuryBolts

applied · by Captain-Fwiffo · submitted 2026-11-01, applied 2026-11-01

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

  1. Retype variable win 0x005d9320 Stack[0x4]

    typeint32_t→SGAMEDATA *
  2. Rename variable win 0x005d9320 Stack[0x4]

    namenParam→pGame
  3. Retype variable win 0x005d8100 Stack[0x4]

    typeint32_t→SGAMEDATA *
  4. Rename variable win 0x005d8100 Stack[0x4]

    namenParam1→pGame
  5. Retype variable win 0x005d8100 Stack[0x8]

    typeint32_t→eD2Skills
  6. Rename variable win 0x005d8100 Stack[0x8]

    namenParam2→eSkill