26 #include "ini/settingsproviderqt.h" 27 #include "plugins/engineplugin.h" 29 #include "datapaths.h" 39 GameDemo::GameDemo(Control control)
44 QString GameDemo::mkDemoFullPath(Control control,
const EnginePlugin &plugin)
49 return gDefaultDataPaths->demosDirectoryPath() + QDir::separator() + mkDemoName(plugin);
51 return mkDemoName(plugin);
55 assert(0 &&
"Unknown demo control type");
62 QString demoName =
"";
63 demoName += QString(
"%1_%2").
64 arg(plugin.data()->name).
65 arg(QDateTime::currentDateTime().toString(
"dd.MM.yyyy_hh.mm.ss"));
66 if (!plugin.data()->demoExtensionAutomatic)
68 demoName += QString(
".%1").arg(plugin.data()->demoExtension);
73 void GameDemo::saveDemoMetaData(
const QString &demoName,
const EnginePlugin &plugin,
74 const QString &iwad,
const QList<PWad> &pwads)
78 if (plugin.data()->demoExtensionAutomatic)
80 metaFileName = QString(
"%1.%2.ini").arg(demoName)
81 .arg(plugin.data()->demoExtension);
85 metaFileName = demoName +
".ini";
88 QSettings settings(metaFileName, QSettings::IniFormat);
90 Ini metaFile(&settingsProvider);
91 IniSection metaSection = metaFile.section(
"meta");
93 QStringList requiredPwads;
94 QStringList optionalPwads;
96 foreach (
const PWad &wad, pwads)
100 optionalPwads << wad.
name();
104 requiredPwads << wad.
name();
113 GameDemo::operator GameDemo::Control()
const IniVariable createSetting(const QString &name, const QVariant &data)
Inits specified variable with specified data.
INI section representation.
bool isOptional() const
Is this WAD required to join the server?
const QString & name() const
File name of the WAD.