From 235078bae4ada8b7aed3c1cdf95d8288aaf81df4 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 3 Mar 2023 15:24:33 +0100 Subject: flush scenery popup work --- loader/loader.cpp | 11 +++++++++++ loader/loader.hpp | 1 + 2 files changed, 12 insertions(+) (limited to 'loader') 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& 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; -- cgit v1.2.3