From a4b69c9ed8ba44aab26ff567e0f0eaf390e29cee Mon Sep 17 00:00:00 2001 From: Tannin Date: Thu, 19 Nov 2015 19:05:50 +0100 Subject: added fallout 4 support --- src/shared/fallout4info.h | 80 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/shared/fallout4info.h (limited to 'src/shared/fallout4info.h') 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 . +*/ + +#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 getDLCPlugins(); + virtual std::vector getSavegameAttachmentExtensions(); + + // file name of this games ini (no path) + virtual std::vector 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 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 -- cgit v1.3.1