diff options
author | Paul Gilbert | 2018-02-13 20:10:43 -0500 |
---|---|---|
committer | Paul Gilbert | 2018-02-13 20:10:43 -0500 |
commit | a85a98b867af5808f630d14c92526fff36c5d3b8 (patch) | |
tree | b282b6f507166653f57b564fb438aee533247939 /engines/xeen | |
parent | 817cb5d7e1a22c37cb9ec7ae6d24c7210234ada4 (diff) | |
download | scummvm-rg350-a85a98b867af5808f630d14c92526fff36c5d3b8.tar.gz scummvm-rg350-a85a98b867af5808f630d14c92526fff36c5d3b8.tar.bz2 scummvm-rg350-a85a98b867af5808f630d14c92526fff36c5d3b8.zip |
XEEN: Add detection for Clouds & Dark Side
Diffstat (limited to 'engines/xeen')
-rw-r--r-- | engines/xeen/detection.cpp | 4 | ||||
-rw-r--r-- | engines/xeen/detection_tables.h | 36 | ||||
-rw-r--r-- | engines/xeen/files.cpp | 2 | ||||
-rw-r--r-- | engines/xeen/map.cpp | 6 | ||||
-rw-r--r-- | engines/xeen/worldofxeen/worldofxeen.cpp | 4 |
5 files changed, 48 insertions, 4 deletions
diff --git a/engines/xeen/detection.cpp b/engines/xeen/detection.cpp index 0916c3965b..b16c8d6d3a 100644 --- a/engines/xeen/detection.cpp +++ b/engines/xeen/detection.cpp @@ -64,8 +64,8 @@ Common::Platform XeenEngine::getPlatform() const { static const PlainGameDescriptor XeenGames[] = { { "xeen", "Xeen" }, - { "clouds", "Clouds of Xeen" }, - { "darkside", "Dark Side of Xeen" }, + { "cloudsofxeen", "Clouds of Xeen" }, + { "darksideofxeen", "Dark Side of Xeen" }, { "worldofxeen", "World of Xeen" }, { "swordsofxeen", "Swords of Xeen" }, {0, 0} diff --git a/engines/xeen/detection_tables.h b/engines/xeen/detection_tables.h index 31a79f3d90..07aeef5dc4 100644 --- a/engines/xeen/detection_tables.h +++ b/engines/xeen/detection_tables.h @@ -81,6 +81,42 @@ static const XeenGameDescription gameDescriptions[] = { }, { + // Clouds of Xeen + { + "cloudsofxeen", + nullptr, + { + { "xeen.cc", 0, "0cffbab533d9afe140e69ec93096f43e", 13435646 }, + AD_LISTEND + }, + Common::EN_ANY, + Common::kPlatformDOS, + ADGF_NO_FLAGS, + GUIO1(GUIO_NONE) + }, + GType_Clouds, + 0 + }, + + { + // Dark Side of Xeen + { + "darksideofxeen", + nullptr, + { + { "dark.cc", 0, "df194483ecea6abc0511637d712ced7c", 11217676 }, + AD_LISTEND + }, + Common::EN_ANY, + Common::kPlatformDOS, + ADGF_NO_FLAGS, + GUIO1(GUIO_NONE) + }, + GType_DarkSide, + 0 + }, + + { // Swords of Xeen (GOG) { "swordsofxeen", diff --git a/engines/xeen/files.cpp b/engines/xeen/files.cpp index 6380199f51..89cc2c0584 100644 --- a/engines/xeen/files.cpp +++ b/engines/xeen/files.cpp @@ -249,7 +249,7 @@ FileManager::~FileManager() { void FileManager::setGameCc(int ccMode) { if (g_vm->getGameID() != GType_WorldOfXeen) - ccMode = 1; + ccMode = g_vm->getGameID() == GType_Clouds ? 0 : 1; File::setCurrentArchive(ccMode); _isDarkCc = ccMode != 0; diff --git a/engines/xeen/map.cpp b/engines/xeen/map.cpp index 16fce5843a..8bb04b1eeb 100644 --- a/engines/xeen/map.cpp +++ b/engines/xeen/map.cpp @@ -992,10 +992,14 @@ void Map::load(int mapId) { _sideTownPortal = _loadDarkSide ? 1 : 0; } - if (_vm->getGameID() == GType_Swords) { + if (_vm->getGameID() == GType_Swords || _vm->getGameID() == GType_DarkSide) { _animationInfo.load("dark.dat"); _monsterData.load("dark.mon"); _wallPicSprites.load("darkpic.dat"); + } else if (_vm->getGameID() == GType_Clouds) { + _animationInfo.load("clouds.dat"); + _monsterData.load("xeen.mon"); + _wallPicSprites.load("xeenpic.dat"); } else if (_vm->getGameID() == GType_WorldOfXeen) { files.setGameCc(1); diff --git a/engines/xeen/worldofxeen/worldofxeen.cpp b/engines/xeen/worldofxeen/worldofxeen.cpp index dcb87197f3..dbccf460ea 100644 --- a/engines/xeen/worldofxeen/worldofxeen.cpp +++ b/engines/xeen/worldofxeen/worldofxeen.cpp @@ -44,6 +44,10 @@ void WorldOfXeenEngine::outerGameLoop() { _pendingAction = WOX_PLAY_GAME; while (!shouldQuit() && _pendingAction != WOX_QUIT) { + // TODO: Remove this once proper startup menus are added for Clouds & Dark Side + if (g_vm->getGameID() != GType_WorldOfXeen) + _pendingAction = WOX_PLAY_GAME; + WOXGameAction action = _pendingAction; _pendingAction = WOX_MENU; _quitMode = QMODE_NONE; |