REDIVIVUS

Proposals / #591

Retype pGameInfo to D2McpGameInfoStrc * in OOGMENU_DisplayGameDetails and OOGMENU_AddGameToCache

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

Ghidra v1798 · d52cd0a

Both ECX parameters are the MCP game-info record: DisplayGameDetails reads elapsed seconds at +0xc, nLevelMin/nLevelRange/nMaxPlayers at +0x10/+0x11/+0x12, nPlayerCount at +0x14, the description at +0x2c, awPlayerLevel at +0x6c and aszPlayerName at +0x8c (all matching D2McpGameInfoStrc); AddGameToCache copies +8 (dwGameId), +0x14, +0x1c (szGameName) and +0x2c per its comment. The only caller JoinOrCreateGame passes ESI, which on the path through 0x004415d4 is the buffer returned by the call at 0x004415cf and read as wRequestId at [ESI+4]. Same-width retypes; names kept.

Changes 2, applied together

  1. Retype variable win 0x00442eb0 ECX

    typeint32_t→D2McpGameInfoStrc *
  2. Retype variable win 0x00442b90 ECX

    typeint32_t→D2McpGameInfoStrc *