diff options
author | Guillaume Melquiond <guillaume.melquiond@gmail.com> | 2007-08-27 21:32:48 +0000 |
---|---|---|
committer | Guillaume Melquiond <guillaume.melquiond@gmail.com> | 2007-08-27 21:32:48 +0000 |
commit | c4a2cd54d72f776d6e37eae7a8c67caa81269f4f (patch) | |
tree | 66c1b9c179d1d8b8b87a4d1c45fa81ac8cae5b9d /src | |
parent | 0161bb419930e6ab2893410c64edab0102e4b761 (diff) | |
download | manaserv-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.cpp | 9 | ||||
-rw-r--r-- | src/resourcemanager.cpp | 8 | ||||
-rw-r--r-- | src/resourcemanager.h | 5 |
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>. * |