Add SegaCD platform and remove SegaCD specific game Id.

svn-id: r20015
This commit is contained in:
Travis Howell 2006-01-14 09:28:38 +00:00
parent b49ebb5be0
commit ad14c53110
8 changed files with 15 additions and 17 deletions

View File

@ -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}
};

View File

@ -141,9 +141,9 @@ enum Platform {
kPlatformNES = 6,
kPlatformC64 = 7,
kPlatformLinux = 8,
kPlatformAcorn = 9
kPlatformAcorn = 9,
kPlatformSegaCD = 10
/*
kPlatformSEGA,
kPlatformPCEngine
*/
};

View File

@ -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");

View File

@ -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]);
}

View File

@ -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,

View File

@ -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) {

View File

@ -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;
}

View File

@ -78,7 +78,7 @@ static const StringMap platformMap[] = {
{ "FM-TOWNS", "kPlatformFMTowns" },
{ "Mac", "kPlatformMacintosh" },
{ "NES", "kPlatformNES" },
{ "SEGA", "kPlatformUnknown" },
{ "SEGA", "kPlatformSegaCD" },
{ "Windows", "kPlatformWindows" },
{ "All?", "kPlatformUnknown" },