summaryrefslogtreecommitdiff
path: root/src/resources
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2008-02-20 18:06:03 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2008-02-20 18:06:03 +0000
commitd8214f7e46ec507dac603ea2a108410f5f64a4bd (patch)
tree1a04035a97c81ef0aa9e2c43d205653af17b004c /src/resources
parent9200c6879214c7ebca52c271e29ad0ee7f69d0b6 (diff)
downloadmana-d8214f7e46ec507dac603ea2a108410f5f64a4bd.tar.gz
mana-d8214f7e46ec507dac603ea2a108410f5f64a4bd.tar.bz2
mana-d8214f7e46ec507dac603ea2a108410f5f64a4bd.tar.xz
mana-d8214f7e46ec507dac603ea2a108410f5f64a4bd.zip
Merged revisions 3790,3799,3801-3807,3809-3810,3812-3813,3815-3816,3818-3821 via svnmerge from
https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/branches/0.0 ........ r3790 | b_lindeijer | 2007-12-18 14:54:17 +0100 (Tue, 18 Dec 2007) | 3 lines Remember to delete the progressbar and label also when the game was not started. ........ r3801 | b_lindeijer | 2007-12-21 12:56:23 +0100 (Fri, 21 Dec 2007) | 2 lines Fixed shop list box not to scroll up when the selection is removed. ........ r3802 | b_lindeijer | 2007-12-21 13:37:17 +0100 (Fri, 21 Dec 2007) | 2 lines Added logging of error on PHYSFS_addToSearchPath. ........ r3803 | b_lindeijer | 2007-12-21 15:56:38 +0100 (Fri, 21 Dec 2007) | 3 lines Fixed inventory size not matching the size assumed by eAthena and related memory corruption and increased default chat log length. ........ r3804 | the_enemy | 2007-12-21 16:07:20 +0100 (Fri, 21 Dec 2007) | 1 line Attempted to fix client freeze when unable to connect to update host, and added exit dialog ........ r3805 | b_lindeijer | 2007-12-22 16:24:14 +0100 (Sat, 22 Dec 2007) | 2 lines Updated version to 0.0.24. Release data set to tomorrow, we'll see. ........ r3806 | b_lindeijer | 2007-12-22 21:42:35 +0100 (Sat, 22 Dec 2007) | 2 lines Make sure chat messages are also trimmed for the local player. ........ r3809 | crush_tmw | 2007-12-23 03:16:53 +0100 (Sun, 23 Dec 2007) | 1 line Particle images are now reference-counted properly. Avoided attempts to load "data/graphics/" when a monster or equipment piece has no sprite. Error placeholder is now used when attempting to load a sprite definition file that doesn't exist. ........ r3810 | b_lindeijer | 2007-12-24 02:20:42 +0100 (Mon, 24 Dec 2007) | 2 lines Updated release date. ........ r3812 | the_enemy | 2007-12-24 15:16:15 +0100 (Mon, 24 Dec 2007) | 1 line Minor update, fixed disconnection dialog ........ r3813 | b_lindeijer | 2007-12-24 15:45:34 +0100 (Mon, 24 Dec 2007) | 2 lines Fixed compile warning. ........ r3816 | b_lindeijer | 2007-12-25 13:31:21 +0100 (Tue, 25 Dec 2007) | 2 lines Fixed year. :) ........ r3818 | b_lindeijer | 2007-12-25 23:11:55 +0100 (Tue, 25 Dec 2007) | 2 lines Updated CMake file. ........ r3821 | b_lindeijer | 2007-12-26 19:06:15 +0100 (Wed, 26 Dec 2007) | 2 lines Fixed year in README too. ........
Diffstat (limited to 'src/resources')
-rw-r--r--src/resources/resourcemanager.cpp8
-rw-r--r--src/resources/resourcemanager.h4
-rw-r--r--src/resources/spritedef.cpp3
3 files changed, 11 insertions, 4 deletions
diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp
index 6f91390e..fb9da9d7 100644
--- a/src/resources/resourcemanager.cpp
+++ b/src/resources/resourcemanager.cpp
@@ -144,11 +144,15 @@ ResourceManager::setWriteDir(const std::string &path)
return (bool) PHYSFS_setWriteDir(path.c_str());
}
-void
+bool
ResourceManager::addToSearchPath(const std::string &path, bool append)
{
logger->log("Adding to PhysicsFS: %s", path.c_str());
- PHYSFS_addToSearchPath(path.c_str(), append ? 1 : 0);
+ if (!PHYSFS_addToSearchPath(path.c_str(), append ? 1 : 0)) {
+ logger->log("Error: %s", PHYSFS_getLastError());
+ return false;
+ }
+ return true;
}
void
diff --git a/src/resources/resourcemanager.h b/src/resources/resourcemanager.h
index 46b17d1b..abfd629a 100644
--- a/src/resources/resourcemanager.h
+++ b/src/resources/resourcemanager.h
@@ -73,8 +73,10 @@ class ResourceManager
* Adds a directory or archive to the search path. If append is true
* then the directory is added to the end of the search path, otherwise
* it is added at the front.
+ *
+ * @return <code>true</code> on success, <code>false</code> otherwise.
*/
- void
+ bool
addToSearchPath(const std::string &path, bool append);
/**
diff --git a/src/resources/spritedef.cpp b/src/resources/spritedef.cpp
index de6f8d0b..d2e32c03 100644
--- a/src/resources/spritedef.cpp
+++ b/src/resources/spritedef.cpp
@@ -62,7 +62,8 @@ SpriteDef *SpriteDef::load(std::string const &animationFile, int variant)
char *data = (char*) resman->loadFile
(animationFile.substr(0, pos).c_str(), size);
- if (!data) return NULL;
+ if (!data && animationFile != "graphics/sprites/error.xml")
+ return load("graphics/sprites/error.xml", 0);
xmlDocPtr doc = xmlParseMemory(data, size);
free(data);