REDIVIVUS

Proposals / #737

Retype DRLGGRID_OrFlagOnCellList's nGridPtr to D2DrlgGridStrc *

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

Ghidra v1803 · bc4e150

The ECX parameter is a DRLG grid: the body bounds-checks cell coordinates against +8 (nWidth) and +0xc (nHeight), then indexes *(grid+0) (pCellsFlags) through *(grid+4) (pCellsRowOffsets), matching D2DrlgGridStrc. The only caller, DRLGOUTROOM_LinkOutdoorRoomExits, passes ECX = EDI + 0x2c (0x00681467), i.e. &pWildData->sGridOutdoor, a D2DrlgGridStrc at offset 44 of D2DrlgLevelDataWildernessLevel. Same-width retype; name kept. The pnParam list parameter is left alone.

Changes 1, applied together

  1. Retype variable win 0x0067c890 ECX

    typeint32_t→D2DrlgGridStrc *