summaryrefslogtreecommitdiffhomepage
path: root/loader/wall-atlas.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2023-12-11 04:07:58 +0100
committerStanislaw Halik <sthalik@misaki.pl>2023-12-11 04:07:58 +0100
commitbe5ca3208891a8d45cbb7f9c25905f46332572a0 (patch)
tree04d89404a2aecb26f0dc2299bffdfba4f5eb8df3 /loader/wall-atlas.cpp
parenteaa6c76bd92e292ac59dcfa0a7aa70cd1e2f50fb (diff)
w
Diffstat (limited to 'loader/wall-atlas.cpp')
-rw-r--r--loader/wall-atlas.cpp7
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()