REDIVIVUS

Proposals / #1024

Party screen action table: name the shared target, state and result parameters

stale · by dtchitt · submitted 2026-11-02

These parameters were named and typed after this was filed: the result parameter is now pnError on all five functions, and PARTYSCREEN_LeaveParty already has pTarget and dwArg, so the expected names no longer match. If you still want the types changed, please resubmit against the current names.

PlayerScreen_DispatchAction 0x005a6000 calls every entry of the table at 0x006e2218 the same way: fn(pGame, pUnit, target unit, the packet's on/off byte, &nResult), then returns 3 when nResult is non-zero. The entries already named pTarget and bNewState show the shape; these are the generic ones left. PARTYSCREEN_ToggleHostile writes 1 through its last parameter when it refuses (out of town, or under level 9). Live, three game-less clients on an unmodified 1.14d host: C2S 0x5E action 9 made the sender leave, and going hostile out of town changed no flags.

Changes 13, applied together

  1. Rename variable win 0x005a57b0 Stack[0xc]

    namedwParam→pResult
  2. Retype variable win 0x005a57b0 Stack[0xc]

    typeundefined4→uint32_t *
  3. Rename variable win 0x005a5840 Stack[0xc]

    namedwParam→pResult
  4. Retype variable win 0x005a5840 Stack[0xc]

    typeundefined4→uint32_t *
  5. Rename variable win 0x005a58a0 Stack[0xc]

    namedwParam→pResult
  6. Retype variable win 0x005a58a0 Stack[0xc]

    typeundefined4→uint32_t *
  7. Rename variable win 0x005a5d20 Stack[0x4]

    namedwParam1→pTarget
  8. Retype variable win 0x005a5d20 Stack[0x4]

    typeundefined4→D2UnitStrc *
  9. Rename variable win 0x005a5d20 Stack[0x8]

    namedwParam2→bNewState
  10. Retype variable win 0x005a5d20 Stack[0x8]

    typeundefined4→uint32_t
  11. Rename variable win 0x005a5d20 Stack[0xc]

    namedwParam3→pResult
  12. Retype variable win 0x005a5d20 Stack[0xc]

    typeundefined4→uint32_t *
  13. Rename variable win 0x005a5e50 Stack[0xc]

    namepdwParam→pResult