2022-03-21 18:39:51 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace mods
|
|
|
|
{
|
2023-03-08 09:38:35 +01:00
|
|
|
enum zone_priority
|
|
|
|
{
|
|
|
|
none,
|
|
|
|
|
|
|
|
// common
|
|
|
|
pre_gfx,
|
|
|
|
post_gfx,
|
|
|
|
post_common,
|
|
|
|
|
|
|
|
// game
|
|
|
|
pre_map,
|
|
|
|
post_map,
|
|
|
|
};
|
|
|
|
|
2022-11-12 21:32:43 +01:00
|
|
|
struct mod_zone
|
|
|
|
{
|
|
|
|
std::string name;
|
|
|
|
unsigned int alloc_flags;
|
2023-03-08 09:38:35 +01:00
|
|
|
zone_priority priority;
|
2022-11-12 21:32:43 +01:00
|
|
|
};
|
2022-08-22 01:42:13 +02:00
|
|
|
|
|
|
|
bool mod_requires_restart(const std::string& path);
|
2022-11-12 21:32:43 +01:00
|
|
|
void set_mod(const std::string& path);
|
|
|
|
std::optional<std::string> get_mod();
|
|
|
|
std::vector<mod_zone> get_mod_zones();
|
2023-02-15 18:24:35 +01:00
|
|
|
|
|
|
|
std::vector<std::string> get_mod_list();
|
|
|
|
std::optional<nlohmann::json> get_mod_info(const std::string& mod);
|
|
|
|
|
|
|
|
nlohmann::json& get_current_stats();
|
|
|
|
void write_mod_stats();
|
2022-03-21 18:39:51 +01:00
|
|
|
}
|