Implement proper difficulty dropdown for co-op gamemodes #802
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 feature allows replacing duplicate game modes per difficulty with a dropdown control for co-op style game modes.
The implementation could have technically been done using
GameLobbyDropDown
but it would have required a lot of new functionality or special case exceptions (f.ex interaction with AI difficulties inspawn.ini
, state toggling between different game modes, display of difficulty information in game info panels etc) to be made anyway so I figured more complete bespoke implementation is probably worth it.GameLobbyBase
,ddDifficulty
(XNAClientDropDown
) andlblDifficulty
(XNALabel
). The dropdown does not allow setting items in INI and is automatically filled with names of available difficulties with localization applied.UseDifficultyDropDown
set to true.CoopDifficultyLevel
.ClientDefinitions.ini
,[Settings]
->CoopDifficultyINIPaths
are merged tospawnmap.ini
, with difficulty dropdown selected index corresponding to index of INI file in the comma-separated list. Default list isINI\Map Code\Coop Difficulty Easy.ini,INI\Map Code\Coop Difficulty Medium.ini,INI\Map Code\Coop Difficulty Hard.ini
. File hash calculator will include these files separately if any of their paths is not already checked.Screenshots
Enabled dropdown
Disabled dropdown
Hosted game info panel