Pioneer
Loading...
Searching...
No Matches
ModManager.h
Go to the documentation of this file.
1// Copyright © 2008-2024 Pioneer Developers. See AUTHORS.txt for details
2// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3
4#ifndef _MODMANAGER_H
5#define _MODMANAGER_H
6
7#include "FileSystem.h"
8#include "core/IniConfig.h"
9
10#include <string>
11#include <vector>
12
13// right now this is little more than a stub class to hook up zipfiles to the
14// virtual filesystem
15
17public:
18 struct ModInfo {
19 std::string name;
20 std::string path;
21 std::unique_ptr<FileSystem::FileSource> fs;
22 mutable int loadOrder;
23 bool enabled;
24 };
25
26 static void Init();
27 static void Uninit();
28
29 static void LoadMods(IniConfig *config);
30 static void ReorderMods(IniConfig *config);
31
32 static const std::vector<ModInfo> &EnumerateMods() { return m_loadedMods; }
33
34private:
35
36 static std::vector<ModInfo> m_loadedMods;
37
38};
39
40#endif
Definition: IniConfig.h:16
Definition: ModManager.h:16
static const std::vector< ModInfo > & EnumerateMods()
Definition: ModManager.h:32
static void LoadMods(IniConfig *config)
Definition: ModManager.cpp:21
static void ReorderMods(IniConfig *config)
Definition: ModManager.cpp:61
static void Init()
Definition: ModManager.cpp:11
static void Uninit()
Definition: ModManager.cpp:16
Definition: ModManager.h:18
std::unique_ptr< FileSystem::FileSource > fs
Definition: ModManager.h:21
std::string name
Definition: ModManager.h:19
std::string path
Definition: ModManager.h:20
int loadOrder
Definition: ModManager.h:22
bool enabled
Definition: ModManager.h:23