diff --git a/source/code/sago/SagoSpriteHolder.cpp b/source/code/sago/SagoSpriteHolder.cpp index 88047d4..c6bd59d 100644 --- a/source/code/sago/SagoSpriteHolder.cpp +++ b/source/code/sago/SagoSpriteHolder.cpp @@ -148,6 +148,18 @@ const sago::SagoSprite& SagoSpriteHolder::GetSprite(const std::string& spritenam } } +bool SagoSpriteHolder::HasSprite(const std::string& spritename) const { + return HasSprite(spritename.c_str()); +} + +bool SagoSpriteHolder::HasSprite(const char* spritename) const { + std::unordered_map>::const_iterator got = data->sprites.find (spritename); + if ( got == data->sprites.end() ) { + return false; + } + return true; +} + const SagoDataHolder& SagoSpriteHolder::GetDataHolder() const { return *data->tex; diff --git a/source/code/sago/SagoSpriteHolder.hpp b/source/code/sago/SagoSpriteHolder.hpp index 830ca81..ded9e3f 100644 --- a/source/code/sago/SagoSpriteHolder.hpp +++ b/source/code/sago/SagoSpriteHolder.hpp @@ -44,6 +44,8 @@ public: **/ void ReadSprites(const std::vector& extra_sprites); const sago::SagoSprite& GetSprite(const std::string& spritename) const; + bool HasSprite(const std::string& spritename) const; + bool HasSprite(const char* spritename) const; const SagoDataHolder& GetDataHolder() const; private: SagoSpriteHolder(const SagoSpriteHolder& base) = delete;