Create game as spectator (#4281)

* refactoring

* allow for creation of games as spectator

allow setting the amount of games per user to none
remove limit on amount of games when creating a game as judge as
spectator

* refactor common/server_player.cpp

* do not close games with spectating host automatically

* remove check that filters out 0 player games

this check didn't really do anything, deleted games are removed before
it would be reached

* don't transfer host to spectators

this seems to cause a bug, also present on master
This commit is contained in:
ebbit1q 2021-03-13 20:39:25 +01:00 committed by GitHub
parent b722864caf
commit 06bfc0291a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 153 additions and 140 deletions

View file

@ -284,6 +284,7 @@ SettingsCache::SettingsCache()
spectatorsNeedPassword = settings->value("game/spectatorsneedpassword", false).toBool();
spectatorsCanTalk = settings->value("game/spectatorscantalk", false).toBool();
spectatorsCanSeeEverything = settings->value("game/spectatorscanseeeverything", false).toBool();
createGameAsSpectator = settings->value("game/creategameasspectator", false).toBool();
rememberGameSettings = settings->value("game/remembergamesettings", true).toBool();
clientID = settings->value("personal/clientid", CLIENT_INFO_NOT_SET).toString();
clientVersion = settings->value("personal/clientversion", CLIENT_INFO_NOT_SET).toString();
@ -940,6 +941,12 @@ void SettingsCache::setSpectatorsCanSeeEverything(const bool _spectatorsCanSeeEv
settings->setValue("game/spectatorscanseeeverything", spectatorsCanSeeEverything);
}
void SettingsCache::setCreateGameAsSpectator(const bool _createGameAsSpectator)
{
createGameAsSpectator = _createGameAsSpectator;
settings->setValue("game/creategameasspectator", createGameAsSpectator);
}
void SettingsCache::setRememberGameSettings(const bool _rememberGameSettings)
{
rememberGameSettings = _rememberGameSettings;