diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-08-03 09:31:19 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-03 09:31:19 -0400 |
| commit | a7df11a31d684cfc341fc401dc3a9449f2538084 (patch) | |
| tree | 04005ddcf6b364c0b1132e47c0490314c14726ae /src/loadmechanism.h | |
| parent | 80dd9222f325959a26580ce2fdd1ebc4b7979517 (diff) | |
| parent | 712c8687c208629e22ef7b4d8015c899c2ea053a (diff) | |
Merge pull request #808 from isanae/settings-rework
Settings rework
Diffstat (limited to 'src/loadmechanism.h')
| -rw-r--r-- | src/loadmechanism.h | 65 |
1 files changed, 2 insertions, 63 deletions
diff --git a/src/loadmechanism.h b/src/loadmechanism.h index c04473ab..49eb0c52 100644 --- a/src/loadmechanism.h +++ b/src/loadmechanism.h @@ -27,33 +27,14 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. /**
* @brief manages the various load mechanisms supported by Mod Organizer
- * the load mechanisms is the means by which the mo-dll is injected into the target
- * process. The default mode "mod organizer" requires the target process to be started
- * from inside mod organizer. In certain cases (oblivion steam edition) this is not
- * possible since the game can then only be started from steam.
- * "Script Extender" is an alternative load mechanism that uses a script extender (obse,
- * fose, nvse or skse) to load MO. This is reliable but prevents se plugins installed
- * through MO from working.
- * "Proxy DLL" replaces a dll belonging to the game by a proxy that will load MO and then
- * chain-load the original dll. This currently only works with steam-versions of games and
- * is intended as a last resort solution.
**/
class LoadMechanism
{
public:
-
enum EMechanism {
LOAD_MODORGANIZER = 0,
- LOAD_SCRIPTEXTENDER,
- LOAD_PROXYDLL
};
-public:
-
- /**
- * @brief constructor
- *
- **/
LoadMechanism();
/**
@@ -66,54 +47,12 @@ public: /**
* @brief test whether the "Mod Organizer" load mechanism is supported for the current game
*
- * @return true if the load mechanism is supported
+ * @return true
**/
- bool isDirectLoadingSupported();
-
- /**
- * @brief test whether the "Script Extender" load mechanism is supported for the current game
- *
- * @return true if the load mechanism is supported
- **/
- bool isScriptExtenderSupported();
-
- /**
- * @brief test whether the "Proxy DLL" load mechanism is supported for the current game
- *
- * @return true if the load mechanism is supported
- **/
- bool isProxyDLLSupported();
-
-private:
-
- // write a hint file that is required for certain loading mechanisms for the dll to find
- // the mod organizer installation
- void writeHintFile(const QDir &targetDirectory);
-
- // remove the hint file if it exists. does nothing if the file doesn't exist
- void removeHintFile(QDir targetDirectory);
-
- // compare the two files by md5-hash, returns true if they are identical
- bool hashIdentical(const QString &fileNameLHS, const QString &fileNameRHS);
-
- // deactivate loading through script extender. does nothing if se-loading wasn't active
- void deactivateScriptExtender();
-
- // deactivate loading through proxy-dll. does nothing if se-loading wasn't active
- void deactivateProxyDLL();
-
- // activate loading through script extender. does nothing if already active. updates
- // the dll if necessary
- void activateScriptExtender();
-
- // activate loading through proxy-dll. does nothing if already active. updates
- // the dll if necessary
- void activateProxyDLL();
+ bool isDirectLoadingSupported() const;
private:
-
EMechanism m_SelectedMechanism;
-
};
|
