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.
This is a sister rework to the recent netcode overhaul that focuses on the lobby system instead of just the front end code. In particular, the packet structure has been unified paving the way for actions like in-game joining. Alongside this a new strategy is taken with sharing user info. Rather than being done in distinct stages, info is now gotten and shared organically between them as they connect. As a result only one loop function is now needed for each, allowing for saner incoming connection handling when in-game joining is added in the indeterminate future. A new UI has been added to further allow users to see who's connected and hosts can now better manage these players via kick/ban functionality.
The max player count has been increased to 64 since the rest of the netcode can now properly handle it.
As a note, this adds a few functions to i_net that will need to be stubbed on other engines e.g. Raze. This is for the game-specific data and the functions are defined at the top of i_net.cpp with names like
SetUserData
. Also included are some changes to ZWidget that will need to be backported to the repo properly at some point.