REDIVIVUS

Proposals / #810

Retype nClientId to D2ClientStrc * in DRLGROOM_AddClientToRoom and RemoveClientFromRoom (retype only)

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

Ghidra v1809 · 6c26878

Resubmission of #413, whose retype the reviewer confirmed as right ('the value is stored into and compared against pRoom->pClients (D2ClientStrc **)'). Add stores the parameter directly into pRoom->pClients and Remove compares it against those entries, so it is a D2ClientStrc pointer, not an id; callers CLIENT_RevealRoomAndSendUnits and RoomClearForClientAndHideMap pass their D2ClientStrc * pClient. The reviewer also asked for a rename to pClient; the checker refuses it because nClientId counts as a chosen name, so the rename is requested in a separate GitHub issue and this proposal only retypes.

Changes 2, applied together

  1. Retype variable win 0x0061a660 Stack[0x8]

    typeint32_t→D2ClientStrc *
  2. Retype variable win 0x0061a700 Stack[0x8]

    typeint32_t→D2ClientStrc *