25 #include "datapaths.h" 27 #include "ini/settingsproviderqt.h" 28 #include "plugins/engineplugin.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)
67 demoName += QString(
".%1").arg(plugin.data()->demoExtension);
71 void GameDemo::saveDemoMetaData(
const QString &demoName,
const EnginePlugin &plugin,
72 const QString &iwad,
const QList<PWad> &pwads)
76 if (plugin.data()->demoExtensionAutomatic)
78 metaFileName = QString(
"%1.%2.ini").arg(demoName)
79 .arg(plugin.data()->demoExtension);
82 metaFileName = demoName +
".ini";
84 QSettings settings(metaFileName, QSettings::IniFormat);
86 Ini metaFile(&settingsProvider);
87 IniSection metaSection = metaFile.section(
"meta");
89 QStringList requiredPwads;
90 QStringList optionalPwads;
92 for (
const PWad &wad : pwads)
95 optionalPwads << wad.
name();
97 requiredPwads << wad.name();
105 GameDemo::operator GameDemo::Control()
const IniVariable createSetting(const QString &name, const QVariant &data)
Inits specified variable with specified data.
const QString & name() const
A name (or path) of this section with lettercase preserved.
INI section representation.