Project

General

Profile

Bug #2006

[MP] Automap and Inventory left open on player death

Added by danij almost 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
Defect
Target version:
Start date:
2015-03-30
% Done:

100%


Description

Game logic assumes that when the player dies their Automap and Inventory is closed. Presently these HUDs remain open in a networked-game.

This should considered symptomatic of more serious issues. Indeed, P_KillMobj() is currently charged with various tasks that simply won't function as expected in a networked-game (its called on server-side, not locally).


Related issues

Related to Feature #9: Use local server to run single-player gamesProgressed2014-04-18

Associated revisions

Revision 88d34c49 (diff)
Added by skyjake almost 5 years ago

Fixed|Multiplayer|All Games: Close automap and inventory when player dies

A new packet was added so the server can tell a particular client to
close their automap and inventory.

IssueID #2006

Revision 120d6237 (diff)
Added by skyjake almost 5 years ago

Fixed|Multiplayer|All Games: Close automap and inventory when player dies

A new packet was added so the server can tell a particular client to
close their automap and inventory.

IssueID #2006

History

#1 Updated by danij almost 5 years ago

  • Priority changed from Normal to High

#2 Updated by skyjake almost 5 years ago

  • Status changed from New to In Progress
  • Assignee set to skyjake

#3 Updated by skyjake almost 5 years ago

  • Subject changed from [Multiplayer] Automap and Inventory left open on player death to [MP] Automap and Inventory left open on player death
  • Status changed from In Progress to Resolved
  • Target version set to 1.15
  • % Done changed from 0 to 100

Fixed by adding a new packet that allows the server to tell the client to close the HUDs (causes a call to ST_CloseAll).

danij wrote:

This should considered symptomatic of more serious issues.

The solution in the commit is consistent with the current "impure" client/server operating model. If a server does something that only makes sense on the client, a message is sent over the network (vice versa for the client; e.g., player use action).

It is good to note for the record that the current client/server model is built around the principle that the client can "fake" most actions locally, without having to fully sync with the server — for apparent zero latency — while the server has the authoritative world state (expect for the player positions, where client-side state is respected).

In the context of #9, a proper fix would handle all this in a cleaner, higher-level abstract manner.

#4 Updated by skyjake almost 5 years ago

  • Status changed from Resolved to Closed

#5 Updated by skyjake almost 5 years ago

  • Related to Feature #9: Use local server to run single-player games added

Also available in: Atom PDF