Retype pLevelCtx to D2DrlgLevelStrc * in DRLGOUTROOM_PathSearchStep and DRLGOUTROOM_ValidatePathStep
Ghidra v1803 · bc4e150
pLevelCtx is the DRLG level being pathed: ValidatePathStep reads pLevelCtx[5] (+0x14, D2DrlgLevelStrc.pDrlgLevelData) and uses that wilderness data at +0x54 as coordinates and +0x2c as a D2DrlgGridStrc. The chain is single-caller all the way down: DRLGOUTROOM_FindPathBetweenExits(D2DrlgLevelStrc * pLevel, ...) stores its entry ECX at [EBP-0x14] (0x006817e5, the only write) and pushes it as the third stack argument of PathSearchStep (0x006819b0/bd); PathSearchStep pushes its own pLevelCtx ([EBP+0x10]) as the first stack argument of ValidatePathStep (0x0068167e-83). Same-width retypes; names kept.
Changes 2, applied together
Retype variable
win 0x00681630 Stack[0xc]typeint32_t→D2DrlgLevelStrc *Retype variable
win 0x006815c0 Stack[0x4]typeint *→D2DrlgLevelStrc *