mirror of
https://github.com/ModOrganizer2/modorganizer-game_enderal.git
synced 2026-07-27 14:05:41 -07:00
Update sorting methods
This commit is contained in:
@@ -14,165 +14,4 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GamebryoModDataContent</name>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="12"/>
|
||||
<source>Plugins (ESP/ESM/ESL)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="13"/>
|
||||
<source>Optional Plugins</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="14"/>
|
||||
<source>Interface</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="15"/>
|
||||
<source>Meshes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="16"/>
|
||||
<source>Bethesda Archive</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="17"/>
|
||||
<source>Scripts (Papyrus)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="18"/>
|
||||
<source>Script Extender Plugin</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="19"/>
|
||||
<source>Script Extender Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="20"/>
|
||||
<source>SkyProc Patcher</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="21"/>
|
||||
<source>Sound or Music</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="22"/>
|
||||
<source>Textures</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="23"/>
|
||||
<source>MCM Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="24"/>
|
||||
<source>INI Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="25"/>
|
||||
<source>FaceGen Data</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryomoddatacontent.cpp" line="26"/>
|
||||
<source>ModGroup Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>GamebryoSaveGameInfoWidget</name>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegameinfowidget.ui" line="39"/>
|
||||
<source>Save #</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegameinfowidget.ui" line="51"/>
|
||||
<source>Character</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegameinfowidget.ui" line="63"/>
|
||||
<source>Level</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegameinfowidget.ui" line="75"/>
|
||||
<source>Location</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegameinfowidget.ui" line="87"/>
|
||||
<source>Date</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegameinfowidget.cpp" line="72"/>
|
||||
<source>Has Script Extender Data</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegameinfowidget.cpp" line="77"/>
|
||||
<source>Missing ESPs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegameinfowidget.cpp" line="110"/>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegameinfowidget.cpp" line="148"/>
|
||||
<source>None</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegameinfowidget.cpp" line="116"/>
|
||||
<source>Missing ESLs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/creation/creationgameplugins.cpp" line="105"/>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryogameplugins.cpp" line="127"/>
|
||||
<source>Some of your plugins have invalid names! These plugins can not be loaded by the game. Please see mo_interface.log for a list of affected plugins and rename them.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegame.cpp" line="47"/>
|
||||
<source>%1, #%2, Level %3, %4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegame.cpp" line="97"/>
|
||||
<source>failed to open %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamebryosavegame.cpp" line="107"/>
|
||||
<source>wrong file format - expected %1 got %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamegamebryo.cpp" line="323"/>
|
||||
<source>failed to query registry path (preflight): %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../game_gamebryo/src/gamebryo/gamegamebryo.cpp" line="330"/>
|
||||
<source>failed to query registry path (read): %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
+108
-111
@@ -42,243 +42,240 @@ GameEnderal::GameEnderal()
|
||||
{
|
||||
}
|
||||
|
||||
bool GameEnderal::init(IOrganizer *moInfo)
|
||||
bool GameEnderal::init(IOrganizer* moInfo)
|
||||
{
|
||||
if (!GameGamebryo::init(moInfo)) {
|
||||
return false;
|
||||
}
|
||||
if (!GameGamebryo::init(moInfo)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
registerFeature<ScriptExtender>(new EnderalScriptExtender(this));
|
||||
registerFeature<DataArchives>(new EnderalDataArchives(myGamesPath()));
|
||||
registerFeature<BSAInvalidation>(new EnderalBSAInvalidation(feature<DataArchives>(), this));
|
||||
registerFeature<SaveGameInfo>(new GamebryoSaveGameInfo(this));
|
||||
registerFeature<LocalSavegames>(new EnderalLocalSavegames(myGamesPath(), "enderal.ini"));
|
||||
registerFeature<ModDataChecker>(new EnderalModDataChecker(this));
|
||||
registerFeature<ModDataContent>(new EnderalModDataContent(this));
|
||||
registerFeature<GamePlugins>(new EnderalGamePlugins(moInfo));
|
||||
registerFeature<UnmanagedMods>(new GamebryoUnmangedMods(this));
|
||||
return true;
|
||||
registerFeature<ScriptExtender>(new EnderalScriptExtender(this));
|
||||
registerFeature<DataArchives>(new EnderalDataArchives(myGamesPath()));
|
||||
registerFeature<BSAInvalidation>(new EnderalBSAInvalidation(feature<DataArchives>(), this));
|
||||
registerFeature<SaveGameInfo>(new GamebryoSaveGameInfo(this));
|
||||
registerFeature<LocalSavegames>(new EnderalLocalSavegames(myGamesPath(), "enderal.ini"));
|
||||
registerFeature<ModDataChecker>(new EnderalModDataChecker(this));
|
||||
registerFeature<ModDataContent>(new EnderalModDataContent(this));
|
||||
registerFeature<GamePlugins>(new EnderalGamePlugins(moInfo));
|
||||
registerFeature<UnmanagedMods>(new GamebryoUnmangedMods(this));
|
||||
return true;
|
||||
}
|
||||
|
||||
QString GameEnderal::gameName() const
|
||||
{
|
||||
return "Enderal";
|
||||
return "Enderal";
|
||||
}
|
||||
|
||||
QList<ExecutableInfo> GameEnderal::executables() const
|
||||
{
|
||||
return QList<ExecutableInfo>()
|
||||
//<< ExecutableInfo("SKSE", findInGameFolder(feature<ScriptExtender>()->loaderName()))
|
||||
//<< ExecutableInfo("SBW", findInGameFolder("SBW.exe"))
|
||||
<< ExecutableInfo("Enderal (SKSE)", findInGameFolder(binaryName()))
|
||||
<< ExecutableInfo("Enderal Launcher", findInGameFolder(getLauncherName()))
|
||||
<< ExecutableInfo("BOSS", findInGameFolder("BOSS/BOSS.exe"))
|
||||
//<< ExecutableInfo("LOOT", QFileInfo(getLootPath())).withArgument("--game=\"Skyrim\"")
|
||||
<< ExecutableInfo("Creation Kit", findInGameFolder("CreationKit.exe")).withSteamAppId("202480")
|
||||
;
|
||||
return QList<ExecutableInfo>()
|
||||
//<< ExecutableInfo("SKSE", findInGameFolder(feature<ScriptExtender>()->loaderName()))
|
||||
//<< ExecutableInfo("SBW", findInGameFolder("SBW.exe"))
|
||||
<< ExecutableInfo("Enderal (SKSE)", findInGameFolder(binaryName()))
|
||||
<< ExecutableInfo("Enderal Launcher", findInGameFolder(getLauncherName()))
|
||||
<< ExecutableInfo("BOSS", findInGameFolder("BOSS/BOSS.exe"))
|
||||
<< ExecutableInfo("LOOT", QFileInfo(getLootPath())).withArgument("--game=\"Enderal\"")
|
||||
<< ExecutableInfo("Creation Kit", findInGameFolder("CreationKit.exe")).withSteamAppId("202480")
|
||||
;
|
||||
}
|
||||
|
||||
QList<ExecutableForcedLoadSetting> GameEnderal::executableForcedLoads() const
|
||||
{
|
||||
return QList<ExecutableForcedLoadSetting>();
|
||||
return QList<ExecutableForcedLoadSetting>();
|
||||
}
|
||||
|
||||
QString GameEnderal::name() const
|
||||
{
|
||||
return "Enderal Support Plugin";
|
||||
return "Enderal Support Plugin";
|
||||
}
|
||||
|
||||
QString GameEnderal::localizedName() const
|
||||
{
|
||||
return tr("Enderal Support Plugin");
|
||||
return tr("Enderal Support Plugin");
|
||||
}
|
||||
|
||||
QString GameEnderal::author() const
|
||||
{
|
||||
return "AL12";
|
||||
return "AL12";
|
||||
}
|
||||
|
||||
QString GameEnderal::description() const
|
||||
{
|
||||
return tr("Adds support for the game Enderal");
|
||||
return tr("Adds support for the game Enderal");
|
||||
}
|
||||
|
||||
MOBase::VersionInfo GameEnderal::version() const
|
||||
{
|
||||
return VersionInfo(1, 3, 0, VersionInfo::RELEASE_FINAL);
|
||||
return VersionInfo(1, 3, 0, VersionInfo::RELEASE_FINAL);
|
||||
}
|
||||
|
||||
QList<PluginSetting> GameEnderal::settings() const
|
||||
{
|
||||
QList<PluginSetting> results;
|
||||
results.push_back(PluginSetting("sse_downloads", "allow Skyrim SE downloads", QVariant(false)));
|
||||
return results;
|
||||
QList<PluginSetting> results;
|
||||
results.push_back(PluginSetting("sse_downloads", "allow Skyrim SE downloads", QVariant(false)));
|
||||
return results;
|
||||
}
|
||||
|
||||
void GameEnderal::initializeProfile(const QDir &path, ProfileSettings settings) const
|
||||
void GameEnderal::initializeProfile(const QDir& path, ProfileSettings settings) const
|
||||
{
|
||||
if (settings.testFlag(IPluginGame::MODS)) {
|
||||
copyToProfile(localAppFolder() + "/enderal", path, "plugins.txt");
|
||||
}
|
||||
if (settings.testFlag(IPluginGame::MODS)) {
|
||||
copyToProfile(localAppFolder() + "/enderal", path, "plugins.txt");
|
||||
}
|
||||
|
||||
if (settings.testFlag(IPluginGame::CONFIGURATION)) {
|
||||
if (settings.testFlag(IPluginGame::PREFER_DEFAULTS)
|
||||
|| !QFileInfo(myGamesPath() + "/enderal.ini").exists()) {
|
||||
if (settings.testFlag(IPluginGame::CONFIGURATION)) {
|
||||
if (settings.testFlag(IPluginGame::PREFER_DEFAULTS)
|
||||
|| !QFileInfo(myGamesPath() + "/enderal.ini").exists()) {
|
||||
|
||||
//there is no default ini, actually they are going to put them in for us!
|
||||
copyToProfile(gameDirectory().absolutePath(), path, "enderal_default.ini", "enderal.ini");
|
||||
copyToProfile(gameDirectory().absolutePath(), path, "enderalprefs_default.ini", "enderalprefs.ini");
|
||||
} else {
|
||||
copyToProfile(myGamesPath(), path, "enderal.ini");
|
||||
copyToProfile(myGamesPath(), path, "enderalprefs.ini");
|
||||
}
|
||||
}
|
||||
//there is no default ini, actually they are going to put them in for us!
|
||||
copyToProfile(gameDirectory().absolutePath(), path, "enderal_default.ini", "enderal.ini");
|
||||
copyToProfile(gameDirectory().absolutePath(), path, "enderalprefs_default.ini", "enderalprefs.ini");
|
||||
}
|
||||
else {
|
||||
copyToProfile(myGamesPath(), path, "enderal.ini");
|
||||
copyToProfile(myGamesPath(), path, "enderalprefs.ini");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool GameEnderal::looksValid(QDir const &path) const
|
||||
bool GameEnderal::looksValid(QDir const& path) const
|
||||
{
|
||||
// we need to check both launcher and binary because the binary also exists for
|
||||
// Skyrim and the launcher for Enderal SE
|
||||
return path.exists(getLauncherName()) && path.exists(binaryName());
|
||||
// we need to check both launcher and binary because the binary also exists for
|
||||
// Skyrim and the launcher for Enderal SE
|
||||
return path.exists(getLauncherName()) && path.exists(binaryName());
|
||||
}
|
||||
|
||||
QIcon GameEnderal::gameIcon() const
|
||||
{
|
||||
return MOBase::iconForExecutable(gameDirectory().absoluteFilePath(getLauncherName()));
|
||||
return MOBase::iconForExecutable(gameDirectory().absoluteFilePath(getLauncherName()));
|
||||
}
|
||||
|
||||
QString GameEnderal::savegameExtension() const
|
||||
{
|
||||
return "ess";
|
||||
return "ess";
|
||||
}
|
||||
|
||||
QString GameEnderal::savegameSEExtension() const
|
||||
{
|
||||
return "skse";
|
||||
return "skse";
|
||||
}
|
||||
|
||||
std::shared_ptr<const GamebryoSaveGame> GameEnderal::makeSaveGame(QString filepath) const
|
||||
{
|
||||
return std::make_shared<const EnderalSaveGame>(filepath, this);
|
||||
return std::make_shared<const EnderalSaveGame>(filepath, this);
|
||||
}
|
||||
|
||||
|
||||
QString GameEnderal::steamAPPId() const
|
||||
{
|
||||
return "933480";
|
||||
}
|
||||
|
||||
MOBase::IPluginGame::SortMechanism GameEnderal::sortMechanism() const
|
||||
{
|
||||
return SortMechanism::NONE;
|
||||
return "933480";
|
||||
}
|
||||
|
||||
QStringList GameEnderal::primaryPlugins() const
|
||||
{
|
||||
return { "Skyrim.esm", "Enderal - Forgotten Stories.esm", "Update.esm" };
|
||||
return { "Skyrim.esm", "Enderal - Forgotten Stories.esm", "Update.esm" };
|
||||
}
|
||||
|
||||
QString GameEnderal::binaryName() const
|
||||
{
|
||||
return "skse_loader.exe";
|
||||
return "skse_loader.exe";
|
||||
}
|
||||
|
||||
QString GameEnderal::getLauncherName() const
|
||||
{
|
||||
return "Enderal Launcher.exe";
|
||||
return "Enderal Launcher.exe";
|
||||
}
|
||||
|
||||
QString GameEnderal::gameShortName() const
|
||||
{
|
||||
return "Enderal";
|
||||
return "Enderal";
|
||||
}
|
||||
|
||||
QString GameEnderal::gameNexusName() const
|
||||
{
|
||||
return "enderal";
|
||||
return "enderal";
|
||||
}
|
||||
|
||||
QStringList GameEnderal::primarySources() const
|
||||
{
|
||||
return {"Skyrim"};
|
||||
return { "Skyrim" };
|
||||
}
|
||||
|
||||
QStringList GameEnderal::validShortNames() const
|
||||
{
|
||||
QStringList results;
|
||||
results.push_back( "Skyrim" );
|
||||
if (m_Organizer->pluginSetting(name(), "sse_downloads").toBool())
|
||||
{
|
||||
results.push_back( "SkyrimSE" );
|
||||
}
|
||||
return results;
|
||||
QStringList results;
|
||||
results.push_back("Skyrim");
|
||||
if (m_Organizer->pluginSetting(name(), "sse_downloads").toBool())
|
||||
{
|
||||
results.push_back("SkyrimSE");
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
QStringList GameEnderal::iniFiles() const
|
||||
{
|
||||
return { "enderal.ini", "enderalprefs.ini" };
|
||||
return { "enderal.ini", "enderalprefs.ini" };
|
||||
}
|
||||
|
||||
QStringList GameEnderal::DLCPlugins() const
|
||||
{
|
||||
return {};
|
||||
return {};
|
||||
}
|
||||
|
||||
namespace {
|
||||
//Note: This is ripped off from shared/util. And in an upcoming move, the fomod
|
||||
//installer requires something similar. I suspect I should abstract this out
|
||||
//into gamebryo (or lower level)
|
||||
//Unused for Enderal
|
||||
//Note: This is ripped off from shared/util. And in an upcoming move, the fomod
|
||||
//installer requires something similar. I suspect I should abstract this out
|
||||
//into gamebryo (or lower level)
|
||||
//Unused for Enderal
|
||||
|
||||
VS_FIXEDFILEINFO GetFileVersion(const std::wstring &fileName)
|
||||
{
|
||||
DWORD handle = 0UL;
|
||||
DWORD size = ::GetFileVersionInfoSizeW(fileName.c_str(), &handle);
|
||||
if (size == 0) {
|
||||
throw std::runtime_error("failed to determine file version info size");
|
||||
}
|
||||
VS_FIXEDFILEINFO GetFileVersion(const std::wstring& fileName)
|
||||
{
|
||||
DWORD handle = 0UL;
|
||||
DWORD size = ::GetFileVersionInfoSizeW(fileName.c_str(), &handle);
|
||||
if (size == 0) {
|
||||
throw std::runtime_error("failed to determine file version info size");
|
||||
}
|
||||
|
||||
std::vector<char> buffer(size);
|
||||
handle = 0UL;
|
||||
if (!::GetFileVersionInfoW(fileName.c_str(), handle, size, buffer.data())) {
|
||||
throw std::runtime_error("failed to determine file version info");
|
||||
}
|
||||
std::vector<char> buffer(size);
|
||||
handle = 0UL;
|
||||
if (!::GetFileVersionInfoW(fileName.c_str(), handle, size, buffer.data())) {
|
||||
throw std::runtime_error("failed to determine file version info");
|
||||
}
|
||||
|
||||
void *versionInfoPtr = nullptr;
|
||||
UINT versionInfoLength = 0;
|
||||
if (!::VerQueryValue(buffer.data(), L"\\", &versionInfoPtr, &versionInfoLength)) {
|
||||
throw std::runtime_error("failed to determine file version");
|
||||
}
|
||||
void* versionInfoPtr = nullptr;
|
||||
UINT versionInfoLength = 0;
|
||||
if (!::VerQueryValue(buffer.data(), L"\\", &versionInfoPtr, &versionInfoLength)) {
|
||||
throw std::runtime_error("failed to determine file version");
|
||||
}
|
||||
|
||||
return *static_cast<VS_FIXEDFILEINFO*>(versionInfoPtr);
|
||||
}
|
||||
return *static_cast<VS_FIXEDFILEINFO*>(versionInfoPtr);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
IPluginGame::LoadOrderMechanism GameEnderal::loadOrderMechanism() const
|
||||
{
|
||||
return LoadOrderMechanism::PluginsTxt;
|
||||
return LoadOrderMechanism::PluginsTxt;
|
||||
}
|
||||
|
||||
|
||||
int GameEnderal::nexusModOrganizerID() const
|
||||
{
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int GameEnderal::nexusGameID() const
|
||||
{
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
QString GameEnderal::identifyGamePath() const
|
||||
{
|
||||
QString path = "Software\\SureAI\\Enderal";
|
||||
QString result;
|
||||
try {
|
||||
result = findInRegistry(HKEY_CURRENT_USER, path.toStdWString().c_str(), L"Install_Path");
|
||||
} catch (MOBase::MyException) {
|
||||
result = MOBase::findSteamGame("Enderal", "Data\\Enderal - Forgotten Stories.esm");
|
||||
}
|
||||
return result;
|
||||
QString path = "Software\\SureAI\\Enderal";
|
||||
QString result;
|
||||
try {
|
||||
result = findInRegistry(HKEY_CURRENT_USER, path.toStdWString().c_str(), L"Install_Path");
|
||||
}
|
||||
catch (MOBase::MyException) {
|
||||
result = MOBase::findSteamGame("Enderal", "Data\\Enderal - Forgotten Stories.esm");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
+33
-34
@@ -8,56 +8,55 @@
|
||||
|
||||
class GameEnderal : public GameGamebryo
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
|
||||
Q_PLUGIN_METADATA(IID "org.tannin.GameEnderal" FILE "gameenderal.json")
|
||||
Q_PLUGIN_METADATA(IID "org.tannin.GameEnderal" FILE "gameenderal.json")
|
||||
#endif
|
||||
|
||||
public:
|
||||
|
||||
GameEnderal();
|
||||
GameEnderal();
|
||||
|
||||
virtual bool init(MOBase::IOrganizer *moInfo) override;
|
||||
virtual bool init(MOBase::IOrganizer* moInfo) override;
|
||||
|
||||
public: // IPluginGame interface
|
||||
|
||||
virtual QString gameName() const override;
|
||||
virtual QList<MOBase::ExecutableInfo> executables() const override;
|
||||
virtual QList<MOBase::ExecutableForcedLoadSetting> executableForcedLoads() const override;
|
||||
virtual void initializeProfile(const QDir &path, ProfileSettings settings) const override;
|
||||
virtual QString steamAPPId() const override;
|
||||
virtual QStringList primaryPlugins() const override;
|
||||
virtual QString binaryName() const override;
|
||||
virtual QString getLauncherName() const override;
|
||||
virtual QString gameShortName() const override;
|
||||
virtual QStringList validShortNames() const override;
|
||||
virtual QString gameNexusName() const override;
|
||||
virtual QStringList primarySources() const override;
|
||||
virtual QStringList iniFiles() const override;
|
||||
virtual QStringList DLCPlugins() const override;
|
||||
virtual LoadOrderMechanism loadOrderMechanism() const override;
|
||||
virtual int nexusModOrganizerID() const override;
|
||||
virtual SortMechanism sortMechanism() const override;
|
||||
virtual int nexusGameID() const override;
|
||||
virtual bool looksValid(QDir const &) const override;
|
||||
virtual QIcon gameIcon() const override;
|
||||
virtual QString gameName() const override;
|
||||
virtual QList<MOBase::ExecutableInfo> executables() const override;
|
||||
virtual QList<MOBase::ExecutableForcedLoadSetting> executableForcedLoads() const override;
|
||||
virtual void initializeProfile(const QDir& path, ProfileSettings settings) const override;
|
||||
virtual QString steamAPPId() const override;
|
||||
virtual QStringList primaryPlugins() const override;
|
||||
virtual QString binaryName() const override;
|
||||
virtual QString getLauncherName() const override;
|
||||
virtual QString gameShortName() const override;
|
||||
virtual QStringList validShortNames() const override;
|
||||
virtual QString gameNexusName() const override;
|
||||
virtual QStringList primarySources() const override;
|
||||
virtual QStringList iniFiles() const override;
|
||||
virtual QStringList DLCPlugins() const override;
|
||||
virtual LoadOrderMechanism loadOrderMechanism() const override;
|
||||
virtual int nexusModOrganizerID() const override;
|
||||
virtual int nexusGameID() const override;
|
||||
virtual bool looksValid(QDir const&) const override;
|
||||
virtual QIcon gameIcon() const override;
|
||||
|
||||
public: // IPlugin interface
|
||||
|
||||
virtual QString name() const override;
|
||||
virtual QString localizedName() const override;
|
||||
virtual QString author() const override;
|
||||
virtual QString description() const override;
|
||||
virtual MOBase::VersionInfo version() const override;
|
||||
virtual QList<MOBase::PluginSetting> settings() const override;
|
||||
virtual QString name() const override;
|
||||
virtual QString localizedName() const override;
|
||||
virtual QString author() const override;
|
||||
virtual QString description() const override;
|
||||
virtual MOBase::VersionInfo version() const override;
|
||||
virtual QList<MOBase::PluginSetting> settings() const override;
|
||||
|
||||
protected:
|
||||
|
||||
virtual QString savegameExtension() const override;
|
||||
virtual QString savegameSEExtension() const override;
|
||||
virtual std::shared_ptr<const GamebryoSaveGame> makeSaveGame(QString filepath) const override;
|
||||
virtual QString savegameExtension() const override;
|
||||
virtual QString savegameSEExtension() const override;
|
||||
virtual std::shared_ptr<const GamebryoSaveGame> makeSaveGame(QString filepath) const override;
|
||||
|
||||
virtual QString identifyGamePath() const override;
|
||||
virtual QString identifyGamePath() const override;
|
||||
};
|
||||
|
||||
#endif // GAMEENDERAL_H
|
||||
|
||||
Reference in New Issue
Block a user