diff options
| author | Tannin <sherb@gmx.net> | 2015-11-19 19:05:50 +0100 |
|---|---|---|
| committer | Tannin <sherb@gmx.net> | 2015-11-19 19:05:50 +0100 |
| commit | a4b69c9ed8ba44aab26ff567e0f0eaf390e29cee (patch) | |
| tree | 1bd3b1c30a8e82809558d9c93c8d3747d7edb4a4 /src/shared/fallout4info.h | |
| parent | 053ebc898f6e1eb16ea9366ab21796004d2347da (diff) | |
added fallout 4 support
Diffstat (limited to 'src/shared/fallout4info.h')
| -rw-r--r-- | src/shared/fallout4info.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/shared/fallout4info.h b/src/shared/fallout4info.h new file mode 100644 index 00000000..98ce4092 --- /dev/null +++ b/src/shared/fallout4info.h @@ -0,0 +1,80 @@ +/* +Copyright (C) 2012 Sebastian Herbord. All rights reserved. + +This file is part of Mod Organizer. + +Mod Organizer is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Mod Organizer is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef FALLOUT4INFO_H +#define FALLOUT4INFO_H + + +#include "gameinfo.h" + +namespace MOShared { + + +class Fallout4Info : public GameInfo +{ + + friend class GameInfo; + +public: + + virtual ~Fallout4Info() {} + + static std::wstring getRegPathStatic(); + virtual std::wstring getRegPath() { return getRegPathStatic(); } + virtual std::wstring getBinaryName() { return L"Fallout4.exe"; } + + virtual GameInfo::Type getType() { return TYPE_FALLOUT4; } + + virtual std::wstring getGameName() const { return L"Fallout 4"; } + virtual std::wstring getGameShortName() const { return L"Fallout4"; } + + virtual std::vector<std::wstring> getDLCPlugins(); + virtual std::vector<std::wstring> getSavegameAttachmentExtensions(); + + // file name of this games ini (no path) + virtual std::vector<std::wstring> getIniFileNames(); + + virtual std::wstring getReferenceDataFile(); + + virtual std::wstring getNexusPage(bool nmmScheme = true); + static std::wstring getNexusInfoUrlStatic(); + virtual std::wstring getNexusInfoUrl() { return getNexusInfoUrlStatic(); } + static int getNexusModIDStatic(); + virtual int getNexusModID() { return getNexusModIDStatic(); } + virtual int getNexusGameID() { return 1151; } + + virtual bool rerouteToProfile(const wchar_t *fileName, const wchar_t *fullPath); + + // get a list of executables (game binary and known-to-work 3rd party tools). All of these are relative to + // the game directory + //virtual std::vector<ExecutableInfo> getExecutables(); + + virtual std::wstring archiveListKey() { return L"SArchiveList"; } + +private: + + Fallout4Info(const std::wstring &moDirectory, const std::wstring &moDataDirectory, const std::wstring &gameDirectory); + + static bool identifyGame(const std::wstring &searchPath); + +}; + +} // namespace MOShared + +#endif // FALLOUT3INFO_H |
