summaryrefslogtreecommitdiff
path: root/src/shared/gameinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/gameinfo.h')
-rw-r--r--src/shared/gameinfo.h71
1 files changed, 14 insertions, 57 deletions
diff --git a/src/shared/gameinfo.h b/src/shared/gameinfo.h
index 55cd024a..7bc86d3a 100644
--- a/src/shared/gameinfo.h
+++ b/src/shared/gameinfo.h
@@ -40,82 +40,41 @@ class GameInfo
public:
- enum Type {
- TYPE_OBLIVION,
- TYPE_FALLOUT3,
- TYPE_FALLOUTNV,
- TYPE_SKYRIM
- };
-
- enum LoadOrderMechanism {
- TYPE_FILETIME,
- TYPE_PLUGINSTXT
- };
-
-public:
-
virtual ~GameInfo() {}
- std::wstring getOrganizerDirectory() const { return m_OrganizerDirectory; }
-
- virtual std::wstring getRegPath() const = 0;
- virtual std::wstring getBinaryName() const = 0;
- virtual std::wstring getExtenderName() const = 0;
-
- virtual GameInfo::Type getType() const = 0;
-
- virtual std::wstring getGameName() const = 0;
- virtual std::wstring getGameShortName() const = 0;
+ //**USED IN HOOKDLL and at startup to set up for hookdll to work
+ // initialise with the path to the mo directory (needs to be where hook.dll is stored). This
+ // needs to be called before the instance can be retrieved
+ static bool init(const std::wstring &moDirectory, const std::wstring &gamePath = L"");
- /// determine the load order mechanism used by this game. this may throw an
- /// exception if the mechanism can't be determined
- virtual LoadOrderMechanism getLoadOrderMechanism() const { return TYPE_FILETIME; }
+ //**USED ONLY IN HOOKDLL
+ static GameInfo& instance();
+ //**USED ONLY IN HOOKDLL
virtual std::wstring getGameDirectory() const;
- virtual bool requiresSteam() const;
-
- // get a list of file extensions for additional files belonging to a save game
- virtual std::vector<std::wstring> getSavegameAttachmentExtensions() const = 0;
-
- // get a set of esp/esm files that are part of known dlcs
- virtual std::vector<std::wstring> getDLCPlugins() const = 0;
+ //**USED ONLY IN HOOKDLL
+ virtual std::wstring getRegPath() const = 0;
+ //**USED ONLY IN HOOKDLL
// file name of this games ini file(s)
virtual std::vector<std::wstring> getIniFileNames() const = 0;
+ //**USED ONLY IN HOOKDLL
virtual std::wstring getReferenceDataFile() const = 0;
- virtual std::wstring getNexusPage(bool nmmScheme = true) const = 0;
- virtual std::wstring getNexusInfoUrl() const = 0;
- virtual int getNexusModID() const = 0;
- virtual int getNexusGameID() const = 0;
-
+ //**USED ONLY IN HOOKDLL
virtual bool rerouteToProfile(const wchar_t *fileName, const wchar_t *fullPath) const = 0;
- virtual bool isValidModURL(int modID, std::wstring const &url) const = 0;
-
-public:
-
- // initialise with the path to the mo directory (needs to be where hook.dll is stored). This
- // needs to be called before the instance can be retrieved
- static bool init(const std::wstring &moDirectory, const std::wstring &moDataDirectory, const std::wstring &gamePath = L"");
-
- static GameInfo& instance();
-
protected:
- GameInfo(const std::wstring &moDirectory, const std::wstring &moDataDirectory, const std::wstring &gameDirectory);
+ GameInfo(const std::wstring &gameDirectory);
- std::wstring getLocalAppFolder() const;
- const std::wstring &getMyGamesDirectory() const { return m_MyGamesDirectory; }
void identifyMyGamesDirectory(const std::wstring &file);
- bool isValidModURL(int modID, const std::wstring &url, const std::wstring &alt) const;
-
private:
- static bool identifyGame(const std::wstring &moDirectory, const std::wstring &moDataDirectory, const std::wstring &searchPath);
+ static bool identifyGame(const std::wstring &searchPath);
std::wstring getSpecialPath(LPCWSTR name) const;
static void cleanup();
@@ -127,8 +86,6 @@ private:
std::wstring m_MyGamesDirectory;
std::wstring m_GameDirectory;
- std::wstring m_OrganizerDirectory;
- std::wstring m_OrganizerDataDirectory;
};