#pragma once namespace mods { enum zone_priority { none, // common pre_gfx, post_gfx, post_common, // game pre_map, post_map, }; struct mod_zone { std::string name; unsigned int alloc_flags; zone_priority priority; }; bool mod_requires_restart(const std::string& path); void set_mod(const std::string& path); std::optional get_mod(); std::vector get_mod_zones(); std::vector get_mod_list(); std::optional get_mod_info(const std::string& mod); nlohmann::json& get_current_stats(); void write_mod_stats(); }