From ad14c5311029314e46918af764266c0c46ba6a77 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sat, 14 Jan 2006 09:28:38 +0000 Subject: Add SegaCD platform and remove SegaCD specific game Id. svn-id: r20015 --- common/util.cpp | 1 + common/util.h | 4 ++-- scumm/help.cpp | 13 +++++++------ scumm/scumm.cpp | 7 ++----- scumm/scumm.h | 1 - scumm/sound.cpp | 2 +- scumm/vars.cpp | 2 +- tools/md5table.c | 2 +- 8 files changed, 15 insertions(+), 17 deletions(-) diff --git a/common/util.cpp b/common/util.cpp index 03c9865859..85ed26fb55 100644 --- a/common/util.cpp +++ b/common/util.cpp @@ -181,6 +181,7 @@ const PlatformDescription g_platforms[] = { {"pc", "dos", "DOS", kPlatformPC}, {"windows", "win", "Windows", kPlatformWindows}, {"acorn", "acorn", "Acorn", kPlatformAcorn}, + {"segacd", "segacd", "SegaCD", kPlatformSegaCD}, {0, 0, "Default", kPlatformUnknown} }; diff --git a/common/util.h b/common/util.h index 762811a4eb..31c22658aa 100644 --- a/common/util.h +++ b/common/util.h @@ -141,9 +141,9 @@ enum Platform { kPlatformNES = 6, kPlatformC64 = 7, kPlatformLinux = 8, - kPlatformAcorn = 9 + kPlatformAcorn = 9, + kPlatformSegaCD = 10 /* - kPlatformSEGA, kPlatformPCEngine */ }; diff --git a/scumm/help.cpp b/scumm/help.cpp index 3ff29c2851..4c4f5a4d02 100644 --- a/scumm/help.cpp +++ b/scumm/help.cpp @@ -20,9 +20,12 @@ */ #include "common/stdafx.h" + +#include "common/str.h" +#include "common/util.h" + #include "scumm/help.h" #include "scumm/scumm.h" -#include "common/str.h" namespace Scumm { @@ -40,7 +43,6 @@ int ScummHelp::numPages(byte gameId) { case GID_LOOM256: case GID_MONKEY_EGA: case GID_MONKEY_VGA: - case GID_MONKEY_SEGA: case GID_MONKEY: case GID_MONKEY2: case GID_INDY4: @@ -64,8 +66,8 @@ int ScummHelp::numPages(byte gameId) { #define ADD_TEXT(d) ADD_BIND("",d) #define ADD_LINE ADD_BIND("","") -void ScummHelp::updateStrings(byte gameId, byte version, int page, - String &title, String *&key, String *&dsc) { +void ScummHelp::updateStrings(byte gameId, byte version, Common::Platform platform, + int page, String &title, String *&key, String *&dsc) { key = new String[HELP_NUM_LINES]; dsc = new String[HELP_NUM_LINES]; int i = 0; @@ -206,7 +208,6 @@ void ScummHelp::updateStrings(byte gameId, byte version, int page, ADD_BIND("f", "turn oFf"); break; case GID_MONKEY: - case GID_MONKEY_SEGA: case GID_MONKEY2: case GID_INDY4: case GID_TENTACLE: @@ -219,7 +220,7 @@ void ScummHelp::updateStrings(byte gameId, byte version, int page, ADD_BIND("u", "Use"); ADD_BIND("s", "puSh"); ADD_BIND("y", "pull (Yank)"); - if (gameId == GID_MONKEY_SEGA) { + if (platform == Common::kPlatformSegaCD) { // FIXME look at scripts to figure all options out... // keys 1->4 seem to do something as well ADD_BIND("6", "Highlight prev dialogue"); diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index c8aee8a287..439ef6d62e 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -649,8 +649,8 @@ static const ScummGameSettings multiple_versions_md5_settings[] = { {"e17db1ddf91b39ca6bbc8ad3ed19e883", "The Secret of Monkey Island (FM-TOWNS Jp)", GID_MONKEY, 5, 0, /*MDT_PCSPK |*/ MDT_ADLIB, GF_USE_KEY | GF_AUDIOTRACKS, Common::kPlatformFMTowns}, - {"c13225cb1bbd3bc9fe578301696d8021", "The Secret of Monkey Island (SegaCD)", GID_MONKEY_SEGA, 5, 0, MDT_NONE, - GF_USE_KEY | GF_AUDIOTRACKS, Common::kPlatformPC}, + {"c13225cb1bbd3bc9fe578301696d8021", "The Secret of Monkey Island (SegaCD)", GID_MONKEY, 5, 0, MDT_NONE, + GF_USE_KEY | GF_AUDIOTRACKS, Common::kPlatformSegaCD}, {"3de99ef0523f8ca7958faa3afccd035a", "Spy Fox 1: Dry Cereal (Updated)", GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows}, @@ -1813,9 +1813,6 @@ int ScummEngine::init(GameDetector &detector) { VAR(85) = 1; } - if (_gameId == GID_MONKEY || _gameId == GID_MONKEY_SEGA) - _scummVars[74] = 1225; - if (_imuse) { _imuse->setBase(res.address[rtSound]); } diff --git a/scumm/scumm.h b/scumm/scumm.h index f604699904..6a3453f38d 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -206,7 +206,6 @@ enum ScummGameId { GID_CMI, GID_MANIAC, GID_ZAK, - GID_MONKEY_SEGA, GID_HEGAME, // Generic name for all HE games with default behaviour GID_PUTTDEMO, GID_FBEAR, diff --git a/scumm/sound.cpp b/scumm/sound.cpp index 3542df7203..27362c31c9 100644 --- a/scumm/sound.cpp +++ b/scumm/sound.cpp @@ -281,7 +281,7 @@ void Sound::playSound(int soundID) { // I'll add some code to test that theory for now. // Check if the resource has already been demangled - if ((_vm->_gameId == GID_MONKEY_SEGA) && (ptr[0] != 1)) { + if ((_vm->_platform == Common::kPlatformSegaCD) && (ptr[0] != 1)) { for (int i = 0; i < size; i++) { ptr[i] ^= 0x16; if (ptr[i] >= 0x7F) { diff --git a/scumm/vars.cpp b/scumm/vars.cpp index 51ef325c4b..f40481b0bd 100644 --- a/scumm/vars.cpp +++ b/scumm/vars.cpp @@ -551,7 +551,7 @@ void ScummEngine_v5::initScummVars() { VAR(VAR_CURRENT_LIGHTS) = LIGHTMODE_actor_base | LIGHTMODE_actor_color | LIGHTMODE_screen; } - if (_gameId == GID_MONKEY || _gameId == GID_MONKEY_SEGA) + if (_gameId == GID_MONKEY) _scummVars[74] = 1225; } diff --git a/tools/md5table.c b/tools/md5table.c index dde2c6397a..95b92e90c4 100644 --- a/tools/md5table.c +++ b/tools/md5table.c @@ -78,7 +78,7 @@ static const StringMap platformMap[] = { { "FM-TOWNS", "kPlatformFMTowns" }, { "Mac", "kPlatformMacintosh" }, { "NES", "kPlatformNES" }, - { "SEGA", "kPlatformUnknown" }, + { "SEGA", "kPlatformSegaCD" }, { "Windows", "kPlatformWindows" }, { "All?", "kPlatformUnknown" }, -- cgit v1.2.3