diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2023-03-03 15:24:33 +0100 |
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2023-03-03 15:24:33 +0100 |
| commit | 235078bae4ada8b7aed3c1cdf95d8288aaf81df4 (patch) | |
| tree | da2979408771be5e496d0ffaf5af3634cd61e4a3 /loader | |
| parent | 4e5cdeaa32fd73f160ee0d599ce958169082eeac (diff) | |
flush scenery popup work
Diffstat (limited to 'loader')
| -rw-r--r-- | loader/loader.cpp | 11 | ||||
| -rw-r--r-- | loader/loader.hpp | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/loader/loader.cpp b/loader/loader.cpp index a07f96be..e9401385 100644 --- a/loader/loader.cpp +++ b/loader/loader.cpp @@ -22,6 +22,17 @@ loader_& loader = loader_::default_loader(); loader_::loader_() = default; loader_::~loader_() = default; +StringView loader_::strip_prefix(StringView name) +{ + if (name.hasPrefix(IMAGE_PATH)) + return name.exceptPrefix(IMAGE_PATH.size()); + if (name.hasPrefix(ANIM_PATH)) + return name.exceptPrefix(ANIM_PATH.size()); + if (name.hasPrefix(SCENERY_PATH)) + return name.exceptPrefix(SCENERY_PATH.size()); + return name; +} + const StringView loader_::IMAGE_PATH = "share/floormat/images/"_s; const StringView loader_::ANIM_PATH = "share/floormat/anim/"_s; const StringView loader_::SCENERY_PATH = "share/floormat/scenery/"_s; diff --git a/loader/loader.hpp b/loader/loader.hpp index 843d0a72..577f45c5 100644 --- a/loader/loader.hpp +++ b/loader/loader.hpp @@ -31,6 +31,7 @@ struct loader_ virtual const std::vector<serialized_scenery>& sceneries() = 0; virtual const scenery_proto& scenery(StringView name) noexcept(false) = 0; virtual StringView startup_directory() noexcept = 0; + static StringView strip_prefix(StringView name); loader_(const loader_&) = delete; loader_& operator=(const loader_&) = delete; |
