Change search path priority
This commit is contained in:
parent
1f2025d75e
commit
c8ded5b1d6
@ -16,9 +16,9 @@ namespace filesystem
|
||||
{
|
||||
bool initialized = false;
|
||||
|
||||
std::vector<std::filesystem::path>& get_search_paths_internal()
|
||||
std::deque<std::filesystem::path>& get_search_paths_internal()
|
||||
{
|
||||
static std::vector<std::filesystem::path> search_paths{};
|
||||
static std::deque<std::filesystem::path> search_paths{};
|
||||
return search_paths;
|
||||
}
|
||||
|
||||
@ -35,9 +35,9 @@ namespace filesystem
|
||||
|
||||
initialized = true;
|
||||
|
||||
filesystem::register_path(L"" CLIENT_DATA_FOLDER);
|
||||
filesystem::register_path(L".");
|
||||
filesystem::register_path(L"h2-mod");
|
||||
filesystem::register_path(L"" CLIENT_DATA_FOLDER);
|
||||
|
||||
localized_strings::clear();
|
||||
|
||||
@ -121,7 +121,7 @@ namespace filesystem
|
||||
if (can_insert_path(path_))
|
||||
{
|
||||
console::info("[FS] Registering path '%s'\n", path_.generic_string().data());
|
||||
get_search_paths_internal().push_back(path_);
|
||||
get_search_paths_internal().push_front(path_);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -164,6 +164,19 @@ namespace filesystem
|
||||
return paths;
|
||||
}
|
||||
|
||||
std::vector<std::string> get_search_paths_rev()
|
||||
{
|
||||
std::vector<std::string> paths{};
|
||||
const auto& search_paths = get_search_paths_internal();
|
||||
|
||||
for (auto i = search_paths.rbegin(); i != search_paths.rend(); ++i)
|
||||
{
|
||||
paths.push_back(i->generic_string());
|
||||
}
|
||||
|
||||
return paths;
|
||||
}
|
||||
|
||||
class component final : public component_interface
|
||||
{
|
||||
public:
|
||||
|
@ -11,4 +11,5 @@ namespace filesystem
|
||||
void unregister_path(const std::filesystem::path& path);
|
||||
|
||||
std::vector<std::string> get_search_paths();
|
||||
}
|
||||
std::vector<std::string> get_search_paths_rev();
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ namespace localized_strings
|
||||
{
|
||||
bool found = false;
|
||||
|
||||
const auto search_paths = filesystem::get_search_paths();
|
||||
const auto search_paths = filesystem::get_search_paths_rev();
|
||||
const auto language = game::SEH_GetCurrentLanguageName();
|
||||
|
||||
for (const auto& path : search_paths)
|
||||
|
@ -365,7 +365,7 @@ namespace ui_scripting
|
||||
load_script("lui_updater", lui_updater);
|
||||
load_script("lua_json", lua_json);
|
||||
|
||||
for (const auto& path : filesystem::get_search_paths())
|
||||
for (const auto& path : filesystem::get_search_paths_rev())
|
||||
{
|
||||
load_scripts(path + "/ui_scripts/");
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ namespace scripting::lua::engine
|
||||
|
||||
load_generic_script();
|
||||
|
||||
for (const auto& path : filesystem::get_search_paths())
|
||||
for (const auto& path : filesystem::get_search_paths_rev())
|
||||
{
|
||||
load_scripts(path + "/scripts/");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user