summaryrefslogtreecommitdiff
path: root/src/resources/resourcemanager.cpp
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2007-11-20 10:50:00 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2007-11-20 10:50:00 +0000
commit5a7abdafdac8f6ddd7972cadbc7e20563a0a29fc (patch)
tree95684590a32266b28f046475cfa1926c99f67e52 /src/resources/resourcemanager.cpp
parentcf36850d2bdda67cb472d938ed58053a92fa6935 (diff)
downloadmana-5a7abdafdac8f6ddd7972cadbc7e20563a0a29fc.tar.gz
mana-5a7abdafdac8f6ddd7972cadbc7e20563a0a29fc.tar.bz2
mana-5a7abdafdac8f6ddd7972cadbc7e20563a0a29fc.tar.xz
mana-5a7abdafdac8f6ddd7972cadbc7e20563a0a29fc.zip
Merged revisions 3629-3630 via svnmerge from
https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/trunk (but kept looks in Being class, since eAthena works that way) ........ r3629 | gmelquio | 2007-10-18 21:00:38 +0200 (Thu, 18 Oct 2007) | 1 line Removed player looks from generic beings. Prevented client termination on missing sprites. Merged weapon-type and attack-type fields for items. ........ r3630 | gmelquio | 2007-10-18 21:30:57 +0200 (Thu, 18 Oct 2007) | 1 line Fixed changelog message. ........
Diffstat (limited to 'src/resources/resourcemanager.cpp')
-rw-r--r--src/resources/resourcemanager.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp
index 448e7f80..5e3f3bc7 100644
--- a/src/resources/resourcemanager.cpp
+++ b/src/resources/resourcemanager.cpp
@@ -275,6 +275,13 @@ ResourceManager::getSprite(const std::string &path, int variant)
return dynamic_cast<SpriteDef*>(resIter->second);
}
+ // FIXME: modify SpriteDef so that it gracefully fails on missing sprite.
+ if (!exists(path) || isDirectory(path))
+ {
+ logger->log("Failed to load file: %s", path.c_str());
+ return NULL;
+ }
+
SpriteDef *sprite = new SpriteDef(idPath, path, variant);
sprite->incRef();
mResources[idPath] = sprite;