From f8dee1efe962648d31d5707505c28bbae8cf8b52 Mon Sep 17 00:00:00 2001 From: fed <58637860+fedddddd@users.noreply.github.com> Date: Tue, 6 Dec 2022 03:47:41 +0100 Subject: [PATCH] Load path fastfile --- src/client/component/fastfiles.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/client/component/fastfiles.cpp b/src/client/component/fastfiles.cpp index 5698bbb7..c0c7882e 100644 --- a/src/client/component/fastfiles.cpp +++ b/src/client/component/fastfiles.cpp @@ -415,7 +415,7 @@ namespace fastfiles reallocate_asset_pool_multiplier(); } - void add_custom_level_load_zone(game::LevelLoad* load, const char* name, const size_t size_est) + void add_custom_level_load_zone(game::LevelLoad* load, const std::string& name, const size_t size_est) { const auto language = game::SEH_GetCurrentLanguageCode(); const auto lang_name = language + "_"s + name; @@ -425,7 +425,7 @@ namespace fastfiles game::DB_LevelLoadAddZone(load, lang_name.data(), game::DB_ZONE_GAME | game::DB_ZONE_CUSTOM, size_est); } - game::DB_LevelLoadAddZone(load, name, game::DB_ZONE_GAME | game::DB_ZONE_CUSTOM, size_est); + game::DB_LevelLoadAddZone(load, name.data(), game::DB_ZONE_GAME | game::DB_ZONE_CUSTOM, size_est); } void db_load_level_add_custom_zone_stub(game::LevelLoad* load, const char* name, const unsigned int alloc_flags, @@ -479,17 +479,24 @@ namespace fastfiles } const std::string mapname = name; - if (mapname.starts_with("mp_")) + + if (mapname.starts_with("mp_") && fastfiles::exists("common_mp")) { add_custom_level_load_zone(load, "common_mp", 0x40000); } + const auto path_fastfile = mapname + "_path"s; + if (fastfiles::exists(path_fastfile)) + { + add_custom_level_load_zone(load, path_fastfile, 0x40000); + } + if (is_builtin_map) { const auto name_ = "h2_mod_patch_"s + name; if (fastfiles::exists(name_)) { - add_custom_level_load_zone(load, name_.data(), size_est); + add_custom_level_load_zone(load, name_, size_est); } game::DB_LevelLoadAddZone(load, name, alloc_flags, size_est);