diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2023-12-11 04:07:58 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2023-12-11 04:07:58 +0100 |
commit | be5ca3208891a8d45cbb7f9c25905f46332572a0 (patch) | |
tree | 04d89404a2aecb26f0dc2299bffdfba4f5eb8df3 /loader/wall-atlas.cpp | |
parent | eaa6c76bd92e292ac59dcfa0a7aa70cd1e2f50fb (diff) |
w
Diffstat (limited to 'loader/wall-atlas.cpp')
-rw-r--r-- | loader/wall-atlas.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/loader/wall-atlas.cpp b/loader/wall-atlas.cpp index 9d5c8c2b..026bd6d5 100644 --- a/loader/wall-atlas.cpp +++ b/loader/wall-atlas.cpp @@ -46,6 +46,7 @@ std::shared_ptr<wall_atlas> loader_impl::get_wall_atlas(StringView name, StringV auto tex = texture(""_s, path); fm_soft_assert(name == def.header.name); + fm_soft_assert(!def.frames.empty()); auto atlas = std::make_shared<class wall_atlas>(std::move(def), path, tex); return atlas; } @@ -70,7 +71,7 @@ const wall_info& loader_impl::make_invalid_wall_atlas() return *invalid_wall_atlas; } -const wall_info& loader_impl::wall_atlas(StringView name, bool fail_ok) +std::shared_ptr<class wall_atlas> loader_impl::wall_atlas(StringView name, bool fail_ok) { fm_soft_assert(check_atlas_name(name)); char buf[FILENAME_MAX]; @@ -82,12 +83,12 @@ const wall_info& loader_impl::wall_atlas(StringView name, bool fail_ok) if (!fail_ok) fm_throw("no such wall atlas '{}'"_cf, name); else - return make_invalid_wall_atlas(); + return make_invalid_wall_atlas().atlas; } fm_assert(it->second != nullptr); if (!it->second->atlas) it->second->atlas = get_wall_atlas(it->second->name, path); - return *it->second; + return it->second->atlas; } void loader_impl::get_wall_atlas_list() |