summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGuillaume Melquiond <guillaume.melquiond@gmail.com>2007-08-27 21:32:48 +0000
committerGuillaume Melquiond <guillaume.melquiond@gmail.com>2007-08-27 21:32:48 +0000
commitc4a2cd54d72f776d6e37eae7a8c67caa81269f4f (patch)
tree66c1b9c179d1d8b8b87a4d1c45fa81ac8cae5b9d /src
parent0161bb419930e6ab2893410c64edab0102e4b761 (diff)
downloadmanaserv-c4a2cd54d72f776d6e37eae7a8c67caa81269f4f.tar.gz
manaserv-c4a2cd54d72f776d6e37eae7a8c67caa81269f4f.tar.bz2
manaserv-c4a2cd54d72f776d6e37eae7a8c67caa81269f4f.tar.xz
manaserv-c4a2cd54d72f776d6e37eae7a8c67caa81269f4f.zip
Removed extensions from map names.
Diffstat (limited to 'src')
-rw-r--r--src/game-server/mapmanager.cpp9
-rw-r--r--src/resourcemanager.cpp8
-rw-r--r--src/resourcemanager.h5
3 files changed, 19 insertions, 3 deletions
diff --git a/src/game-server/mapmanager.cpp b/src/game-server/mapmanager.cpp
index ab0d0fec..713bd2cf 100644
--- a/src/game-server/mapmanager.cpp
+++ b/src/game-server/mapmanager.cpp
@@ -116,8 +116,13 @@ void MapManager::raiseActive(int mapId)
return;
}
- std::string const &file = composite->getName();
- MapReader::readMap("maps/" + file, composite);
+ std::string file = "maps/" + composite->getName() + ".tmx";
+ ResourceManager *resman = ResourceManager::getInstance();
+ if (!resman->exists(file))
+ {
+ file += ".gz";
+ }
+ MapReader::readMap(file, composite);
LOG_INFO("Activated map \"" << file << "\" (id " << mapId << ")");
// Add some testing stuff
diff --git a/src/resourcemanager.cpp b/src/resourcemanager.cpp
index d45e96e4..f40fc232 100644
--- a/src/resourcemanager.cpp
+++ b/src/resourcemanager.cpp
@@ -139,11 +139,17 @@ ResourceManager::searchAndAddZipFiles()
#endif
}
+bool ResourceManager::exists(std::string const &path)
+{
+ return PHYSFS_exists(path.c_str());
+}
+
void*
ResourceManager::loadFile(const std::string &fileName, int &fileSize)
{
// If the file doesn't exist indicate failure
- if (!PHYSFS_exists(fileName.c_str())) {
+ if (!exists(fileName))
+ {
LOG_WARN("Warning: " << fileName << " not found!");
return NULL;
}
diff --git a/src/resourcemanager.h b/src/resourcemanager.h
index 97fb9956..0eb79c8d 100644
--- a/src/resourcemanager.h
+++ b/src/resourcemanager.h
@@ -44,6 +44,11 @@ class ResourceManager
~ResourceManager();
/**
+ * Checks whether the given file or directory exists in the search path
+ */
+ bool exists(std::string const &path);
+
+ /**
* Allocates data into a buffer pointer for raw data loading. The
* returned data is expected to be freed using <code>free()</code>.
*