diff options
Diffstat (limited to 'loader')
-rw-r--r-- | loader/impl.hpp | 2 | ||||
-rw-r--r-- | loader/loader.hpp | 2 | ||||
-rw-r--r-- | loader/wall-atlas.cpp | 13 |
3 files changed, 9 insertions, 8 deletions
diff --git a/loader/impl.hpp b/loader/impl.hpp index 38a89265..1ff3f421 100644 --- a/loader/impl.hpp +++ b/loader/impl.hpp @@ -48,7 +48,7 @@ struct loader_impl final : loader_ tsl::robin_map<StringView, wall_info*> wall_atlas_map; std::vector<wall_info> wall_atlas_array; - const wall_info& wall_atlas(StringView name, StringView dir) override; + const wall_info& wall_atlas(StringView name) override; ArrayView<const wall_info> wall_atlas_list() override; void get_wall_atlas_list(); std::shared_ptr<class wall_atlas> get_wall_atlas(StringView name, StringView path); diff --git a/loader/loader.hpp b/loader/loader.hpp index 390f020c..072d0f06 100644 --- a/loader/loader.hpp +++ b/loader/loader.hpp @@ -33,7 +33,7 @@ struct loader_ virtual std::shared_ptr<class tile_atlas> tile_atlas(StringView filename) noexcept(false) = 0; virtual ArrayView<const String> anim_atlas_list() = 0; virtual std::shared_ptr<class anim_atlas> anim_atlas(StringView name, StringView dir = ANIM_PATH) noexcept(false) = 0; - virtual const wall_info& wall_atlas(StringView name, StringView dir = WALL_TILESET_PATH) = 0; + virtual const wall_info& wall_atlas(StringView name) = 0; virtual ArrayView<const wall_info> wall_atlas_list() = 0; static void destroy(); static loader_& default_loader() noexcept; diff --git a/loader/wall-atlas.cpp b/loader/wall-atlas.cpp index 57b89ded..1ba46ee7 100644 --- a/loader/wall-atlas.cpp +++ b/loader/wall-atlas.cpp @@ -19,7 +19,7 @@ namespace floormat { using nlohmann::json; -static void from_json(const json& j, wall_info& val) +[[maybe_unused]] static void from_json(const json& j, wall_info& val) { val = {}; val.name = j["name"]; @@ -28,7 +28,7 @@ static void from_json(const json& j, wall_info& val) val.descr = j["descr"]; } -static void to_json(json& j, const wall_info& val) +[[maybe_unused]] static void to_json(json& j, const wall_info& val) { j["name"] = val.name; if (val.descr) @@ -44,19 +44,20 @@ std::shared_ptr<wall_atlas> loader_impl::get_wall_atlas(StringView name, StringV auto def = wall_atlas_def::deserialize(""_s.join({path, ".json"_s})); auto tex = texture(""_s, path); + fm_soft_assert(name == def.header.name); auto atlas = std::make_shared<class wall_atlas>(std::move(def), path, tex); return atlas; } -const wall_info& loader_impl::wall_atlas(StringView name, StringView dir) +const wall_info& loader_impl::wall_atlas(StringView name) { fm_soft_assert(check_atlas_name(name)); char buf[FILENAME_MAX]; - auto path = make_atlas_path(buf, dir, name); + auto path = make_atlas_path(buf, loader.WALL_TILESET_PATH, name); - auto it = wall_atlas_map.find(path); + auto it = wall_atlas_map.find(name); if (it == wall_atlas_map.end()) - fm_throw("no such wall atlas '{}'"_cf, path); + fm_throw("no such wall atlas '{}'"_cf, name); fm_assert(it->second != nullptr); if (!it->second->atlas) it->second->atlas = get_wall_atlas(it->second->name, path); |