23 #include "gamecreateparams.h" 29 DClass<GameCreateParams>
33 bool broadcastToMaster;
34 QString connectPassword;
35 QStringList customParameters;
36 QList<GameCVar> cvars;
37 QString executablePath;
40 QList<DMFlagsSection> dmFlags;
43 GameCreateParams::HostMode hostMode;
44 QString ingamePassword;
52 QMap<QString, QVariant> options;
54 QList<bool> pwadsOptional;
55 QStringList pwadsPaths;
56 bool randomMapRotation;
68 d->broadcastToLan =
true;
69 d->broadcastToMaster =
true;
70 d->randomMapRotation =
false;
79 GameCreateParams::~GameCreateParams()
85 return d->connectPassword;
88 QStringList& GameCreateParams::customParameters()
90 return d->customParameters;
93 const QStringList& GameCreateParams::customParameters()
const 95 return d->customParameters;
115 return d->demoRecord;
118 void GameCreateParams::setDemoRecord(
const GameDemo &demo)
120 d->demoRecord = demo;
123 QList<DMFlagsSection>& GameCreateParams::dmFlags()
128 const QList<DMFlagsSection>& GameCreateParams::dmFlags()
const 133 const QString& GameCreateParams::email()
const 140 return d->executablePath;
143 const GameMode& GameCreateParams::gameMode()
const 148 GameCreateParams::HostMode GameCreateParams::hostMode()
const 153 bool GameCreateParams::isBroadcastToLan()
const 155 return d->broadcastToLan;
158 bool GameCreateParams::isBroadcastToMaster()
const 160 return d->broadcastToMaster;
163 bool GameCreateParams::isRandomMapRotation()
const 165 return d->randomMapRotation;
170 return d->ingamePassword;
173 const QString& GameCreateParams::iwadPath()
const 180 QFileInfo fi(iwadPath());
181 return fi.fileName();
194 int GameCreateParams::maxClients()
const 196 return d->maxClients;
199 int GameCreateParams::maxPlayers()
const 201 return d->maxPlayers;
206 return qMax(maxClients(), maxPlayers());
214 const QString& GameCreateParams::name()
const 221 return d->options[name];
224 void GameCreateParams::setOption(
const QString &name,
const QVariant &value)
226 d->options[name] = value;
229 unsigned short GameCreateParams::port()
const 234 QList<bool>& GameCreateParams::pwadsOptional()
236 return d->pwadsOptional;
239 const QList<bool>& GameCreateParams::pwadsOptional()
const 241 return d->pwadsOptional;
244 QStringList& GameCreateParams::pwadsPaths()
246 return d->pwadsPaths;
249 const QStringList& GameCreateParams::pwadsPaths()
const 251 return d->pwadsPaths;
257 foreach (
const QString &path, pwadsPaths())
260 result << fi.fileName();
269 for (
int i = 0; i < names.size(); ++i)
271 result <<
PWad(names[i], pwadsOptional()[i]);
278 return d->rconPassword;
281 void GameCreateParams::setBroadcastToLan(
bool b)
283 d->broadcastToLan = b;
286 void GameCreateParams::setBroadcastToMaster(
bool b)
288 d->broadcastToMaster = b;
291 void GameCreateParams::setConnectPassword(
const QString& pass)
293 d->connectPassword = pass;
296 void GameCreateParams::setCustomParameters(
const QStringList& customParameters)
298 d->customParameters = customParameters;
301 void GameCreateParams::setCvars(
const QList<GameCVar>&
cvars)
306 void GameCreateParams::setDemoPath(
const QString&
demoPath)
311 void GameCreateParams::setEmail(
const QString& email)
316 void GameCreateParams::setExecutablePath(
const QString&
executablePath)
321 void GameCreateParams::setGameMode(
const GameMode& mode)
326 void GameCreateParams::setHostMode(HostMode mode)
331 void GameCreateParams::setIngamePassword(
const QString& pass)
333 d->ingamePassword = pass;
336 void GameCreateParams::setIwadPath(
const QString& iwadPath)
338 d->iwadPath = iwadPath;
341 void GameCreateParams::setMap(
const QString&
map)
346 void GameCreateParams::setMapList(
const QStringList&
mapList)
351 void GameCreateParams::setMaxClients(
int num)
356 void GameCreateParams::setMaxPlayers(
int num)
361 void GameCreateParams::setMotd(
const QString&
motd)
366 void GameCreateParams::setName(
const QString& name)
371 void GameCreateParams::setPort(
unsigned short port)
376 void GameCreateParams::setPwadsOptional(
const QList<bool>& pwadsOptional)
378 d->pwadsOptional = pwadsOptional;
381 void GameCreateParams::setPwadsPaths(
const QStringList& pwadsPaths)
383 d->pwadsPaths = pwadsPaths;
386 void GameCreateParams::setRandomMapRotation(
bool b)
388 d->randomMapRotation = b;
391 void GameCreateParams::setRconPassword(
const QString& pass)
393 d->rconPassword = pass;
396 void GameCreateParams::setSkill(
int skill)
401 void GameCreateParams::setUrl(
const QString&
url)
416 void GameCreateParams::setUpnp(
bool upnp)
426 void GameCreateParams::setUpnpPort(quint16 port)
QStringList pwadsNames() const
Names of PWADs, derived from pwadsPaths().
const QString & connectPassword() const
Password that allows clients to connect to the server.
QList< PWad > pwads() const
PWad objects with just the file names and optional statuses.
const QString & ingamePassword() const
Internal game password.
Game parametrization data used when creating new games.
quint16 upnpPort() const
Game or plugin can use this network port as it sees fit within the UPnP context.
QString iwadName() const
Name of IWAD, derived from iwadPath().
const QString & motd() const
Message of the Day.
int maxTotalClientSlots() const
Derived basing on maxClients() and maxPlayers() value; higher value wins.
const QString & executablePath() const
Path to the game executable.
bool upnp() const
If set, the game should try to enable UPnP.
const QString & demoPath() const
Use if running in HostMode::Demo mode or recording a demo.
const QString & url() const
URL for server's website or for WADs download.
Game mode representation.
QVariant option(const QString &name) const
Option is a means for game plugin to set plugin specific settings.
const QString & map() const
Level name as in E1M1 or MAP01.
QList< GameCVar > & cvars()
Contents of this list will be passed as "+consoleCommand value" to the command line.
const QString & rconPassword() const
Password required to connect to remote admin console.
int skill() const
Difficulty level.
const GameDemo & demoRecord() const
Type of demo to record; applicable only in Offline game.
const QStringList & mapList() const
List of maps in cycle, as in MAP01, MAP02, MAP03, and so on.