From 981f8b3acf7e76f27c02f4ced80d55b424cc7497 Mon Sep 17 00:00:00 2001 From: Tannin Date: Sun, 3 Feb 2013 12:49:25 +0100 Subject: initial commit to mercurial repository. Corresponds to MO version 0.12.6 --- src/shared/fallout3info.h | 94 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/shared/fallout3info.h (limited to 'src/shared/fallout3info.h') diff --git a/src/shared/fallout3info.h b/src/shared/fallout3info.h new file mode 100644 index 00000000..bc9ab82d --- /dev/null +++ b/src/shared/fallout3info.h @@ -0,0 +1,94 @@ +/* +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 FALLOUT3INFO_H +#define FALLOUT3INFO_H + + +#include "gameinfo.h" + + +class Fallout3Info : public GameInfo +{ + + friend class GameInfo; + +public: + + virtual ~Fallout3Info() {} + + virtual unsigned long getBSAVersion(); + + static std::wstring getRegPathStatic(); + virtual std::wstring getRegPath() { return Fallout3Info::getRegPathStatic(); } + virtual std::wstring getBinaryName() { return L"Fallout3.exe"; } + + virtual GameInfo::Type getType() { return TYPE_FALLOUT3; } + + virtual std::wstring getGameName() const { return L"Fallout 3"; } + virtual std::wstring getGameShortName() const { return L"Fallout3"; } + + virtual std::wstring getInvalidationBSA(); + + virtual bool isInvalidationBSA(const std::wstring &bsaName); + + // full path to this games "My Games"-directory + virtual std::wstring getDocumentsDir(); + + virtual std::wstring getSaveGameDir(); + + virtual std::vector getPrimaryPlugins(); + + // file name of this games ini (no path) + virtual std::vector getIniFileNames(); + + virtual std::wstring getSaveGameExtension(); + virtual std::wstring getReferenceDataFile(); + virtual std::wstring getOMODExt(); + + virtual std::wstring getSteamAPPId(); + + virtual std::wstring getSEName(); + + virtual std::wstring getNexusPage(); + static std::wstring getNexusInfoUrlStatic(); + virtual std::wstring getNexusInfoUrl() { return Fallout3Info::getNexusInfoUrlStatic(); } + static int getNexusModIDStatic(); + virtual int getNexusModID() { return Fallout3Info::getNexusModIDStatic(); } + + virtual void createProfile(const std::wstring &directory, bool useDefaults); + virtual void repairProfile(const std::wstring &directory); + + 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: + + Fallout3Info(const std::wstring &omoDirectory, const std::wstring &gameDirectory); + + static bool identifyGame(const std::wstring &searchPath); + +}; + +#endif // FALLOUT3INFO_H -- cgit v1.3.1