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;
53 QList<bool> pwadsOptional;
54 QStringList pwadsPaths;
55 bool randomMapRotation;
65 d->broadcastToLan =
true;
66 d->broadcastToMaster =
true;
67 d->randomMapRotation =
false;
74 GameCreateParams::~GameCreateParams()
80 return d->connectPassword;
83 QStringList& GameCreateParams::customParameters()
85 return d->customParameters;
88 const QStringList& GameCreateParams::customParameters()
const
90 return d->customParameters;
110 return d->demoRecord;
113 void GameCreateParams::setDemoRecord(
const GameDemo &demo)
115 d->demoRecord = demo;
118 QList<DMFlagsSection>& GameCreateParams::dmFlags()
123 const QList<DMFlagsSection>& GameCreateParams::dmFlags()
const
128 const QString& GameCreateParams::email()
const
135 return d->executablePath;
138 const GameMode& GameCreateParams::gameMode()
const
143 GameCreateParams::HostMode GameCreateParams::hostMode()
const
148 bool GameCreateParams::isBroadcastToLan()
const
150 return d->broadcastToLan;
153 bool GameCreateParams::isBroadcastToMaster()
const
155 return d->broadcastToMaster;
158 bool GameCreateParams::isRandomMapRotation()
const
160 return d->randomMapRotation;
165 return d->ingamePassword;
168 const QString& GameCreateParams::iwadPath()
const
175 QFileInfo fi(iwadPath());
176 return fi.fileName();
189 int GameCreateParams::maxClients()
const
191 return d->maxClients;
194 int GameCreateParams::maxPlayers()
const
196 return d->maxPlayers;
201 return qMax(maxClients(), maxPlayers());
209 const QString& GameCreateParams::name()
const
214 unsigned short GameCreateParams::port()
const
219 QList<bool>& GameCreateParams::pwadsOptional()
221 return d->pwadsOptional;
224 const QList<bool>& GameCreateParams::pwadsOptional()
const
226 return d->pwadsOptional;
229 QStringList& GameCreateParams::pwadsPaths()
231 return d->pwadsPaths;
234 const QStringList& GameCreateParams::pwadsPaths()
const
236 return d->pwadsPaths;
242 foreach (
const QString &path, pwadsPaths())
245 result << fi.fileName();
252 return d->rconPassword;
255 void GameCreateParams::setBroadcastToLan(
bool b)
257 d->broadcastToLan = b;
260 void GameCreateParams::setBroadcastToMaster(
bool b)
262 d->broadcastToMaster = b;
265 void GameCreateParams::setConnectPassword(
const QString& pass)
267 d->connectPassword = pass;
270 void GameCreateParams::setCustomParameters(
const QStringList& customParameters)
272 d->customParameters = customParameters;
275 void GameCreateParams::setCvars(
const QList<GameCVar>& cvars)
280 void GameCreateParams::setDemoPath(
const QString& demoPath)
285 void GameCreateParams::setEmail(
const QString& email)
290 void GameCreateParams::setExecutablePath(
const QString& executablePath)
295 void GameCreateParams::setGameMode(
const GameMode& mode)
300 void GameCreateParams::setHostMode(HostMode mode)
305 void GameCreateParams::setIngamePassword(
const QString& pass)
307 d->ingamePassword = pass;
310 void GameCreateParams::setIwadPath(
const QString& iwadPath)
312 d->iwadPath = iwadPath;
315 void GameCreateParams::setMap(
const QString& map)
320 void GameCreateParams::setMapList(
const QStringList& mapList)
325 void GameCreateParams::setMaxClients(
int num)
330 void GameCreateParams::setMaxPlayers(
int num)
335 void GameCreateParams::setMotd(
const QString& motd)
340 void GameCreateParams::setName(
const QString& name)
345 void GameCreateParams::setPort(
unsigned short port)
350 void GameCreateParams::setPwadsOptional(
const QList<bool>& pwadsOptional)
352 d->pwadsOptional = pwadsOptional;
355 void GameCreateParams::setPwadsPaths(
const QStringList& pwadsPaths)
357 d->pwadsPaths = pwadsPaths;
360 void GameCreateParams::setRandomMapRotation(
bool b)
362 d->randomMapRotation = b;
365 void GameCreateParams::setRconPassword(
const QString& pass)
367 d->rconPassword = pass;
370 void GameCreateParams::setSkill(
int skill)
375 void GameCreateParams::setUrl(
const QString& url)
QStringList pwadsNames() const
Names of PWADs, derived from pwadsPaths().
const QString & connectPassword() const
Password that allows clients to connect to the server.
const QString & ingamePassword() const
Internal game password.
Game parametrization data used when creating new games.
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.
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.
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.