aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/map.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2018-03-29 20:30:00 -0400
committerPaul Gilbert2018-03-29 20:30:00 -0400
commit09f67c83ceeb34e4560a758e207e053aef0b7f35 (patch)
tree5ea5fb94c371fb3c86ff00ce920310715996a3d8 /engines/xeen/map.cpp
parent7d2b9df5f2eb4a4b0639b00714c58b58fc200123 (diff)
downloadscummvm-rg350-09f67c83ceeb34e4560a758e207e053aef0b7f35.tar.gz
scummvm-rg350-09f67c83ceeb34e4560a758e207e053aef0b7f35.tar.bz2
scummvm-rg350-09f67c83ceeb34e4560a758e207e053aef0b7f35.zip
XEEN: Fix LLoyd's Beacon spell in Clouds of Xeen
Diffstat (limited to 'engines/xeen/map.cpp')
-rw-r--r--engines/xeen/map.cpp35
1 files changed, 21 insertions, 14 deletions
diff --git a/engines/xeen/map.cpp b/engines/xeen/map.cpp
index 06c1592ed3..ce14553ce7 100644
--- a/engines/xeen/map.cpp
+++ b/engines/xeen/map.cpp
@@ -747,20 +747,7 @@ void Map::load(int mapId) {
// Handle loading text data
if (!textLoaded) {
textLoaded = true;
-
- if (g_vm->getGameID() == GType_Clouds) {
- _mazeName = Res._cloudsMapNames[mapId];
- } else {
- Common::String txtName = Common::String::format("%s%c%03d.txt",
- ccNum ? "dark" : "xeen", mapId >= 100 ? 'x' : '0', mapId);
- File fText(txtName, 1);
- char mazeName[33];
- fText.read(mazeName, 33);
- mazeName[32] = '\0';
-
- _mazeName = Common::String(mazeName);
- fText.close();
- }
+ _mazeName = getMazeName(mapId, ccNum);
// Load the monster/object data
Common::String mobName = Common::String::format("maze%c%03d.mob",
@@ -1404,4 +1391,24 @@ void Map::getNewMaze() {
load(mapId);
}
+Common::String Map::getMazeName(int mapId, int ccNum) {
+ if (ccNum == -1)
+ ccNum = g_vm->_files->_ccNum;
+
+ if (g_vm->getGameID() == GType_Clouds) {
+ return Res._cloudsMapNames[mapId];
+ } else {
+ Common::String txtName = Common::String::format("%s%c%03d.txt",
+ ccNum ? "dark" : "xeen", mapId >= 100 ? 'x' : '0', mapId);
+ File fText(txtName, 1);
+ char mazeName[33];
+ fText.read(mazeName, 33);
+ mazeName[32] = '\0';
+
+ Common::String name = Common::String(mazeName);
+ fText.close();
+ return name;
+ }
+}
+
} // End of namespace Xeen