bugfix: Fix game freezing on transition and disconnecting when alt tabbed on game start#480
Open
MrS-ibra wants to merge 1 commit intoGeneralsOnlineDevelopmentTeam:mainfrom
Conversation
…bbed on game start
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When a player alt tabs out on exclusive fullscreen while in lobby and the host starts the game, the main loop sleeps and never resumes. The existing break condition only checks isInMultiplayerGame() which returns false until the game simulation has started. This means MSG_NEW_GAME is never processed for us when the host starts the game while we are tabbed out, leaving the player frozen on the loading screen and appearing disconnected to other players.
The fix checks TheNetwork in the break condition, which is created the moment the host starts the game, allowing the sleep loop to break out and MSG_NEW_GAME to be processed
This also prevents an ELO exploit in quickmatch where a player could deliberately alt tab during matchmaking to appear disconnected, forcing other players into the disconnect screen and gaining ELO points