tweak(input): Remove input latency for group creation in multiplayer games#1471
Conversation
xezon
left a comment
There was a problem hiding this comment.
I am skeptical of this change because it splits the same kind of call into 2 places.
Generals/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp
Outdated
Show resolved
Hide resolved
| case GameMessage::MSG_CREATE_TEAM8: | ||
| case GameMessage::MSG_CREATE_TEAM9: | ||
| { | ||
| ThePlayerList->getLocalPlayer()->processCreateTeamGameMessage(t - GameMessage::MSG_CREATE_TEAM0, msg); |
There was a problem hiding this comment.
Can we do disp = DESTROY_MESSAGE; here to avoid the dependency test in GameLogicDispatch?
There was a problem hiding this comment.
Would this not prevent the message from being dispatched to other players?
Generals/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp
Outdated
Show resolved
Hide resolved
This is the same pattern used everywhere else across the message translators. |
Ok. Can you please list one comparable example? |
Simply selecting units ( Below are the commands that are processed in both |
The local player no longer has to wait for their group assignment commands to be processed by
GameLogicDispatch, which is typically 10 - 64 logic frames after sending the command in multiplayer games. They are instead now immediately processed byCommandXlatfor the local player.This change makes gameplay feel smoother and more responsive. It has no effect on the synchronicity of multiplayer games.