aboutsummaryrefslogtreecommitdiff
path: root/saga
diff options
context:
space:
mode:
authorEugene Sandulenko2005-01-07 15:49:47 +0000
committerEugene Sandulenko2005-01-07 15:49:47 +0000
commit0a89a28e4588a64e8a7b62d34f3cd621f666c0f0 (patch)
tree3d6146e9631c91ff7c61aa86eecb45d47bd6382b /saga
parent071b09cab4881287d702d45726438797b143f7d5 (diff)
downloadscummvm-rg350-0a89a28e4588a64e8a7b62d34f3cd621f666c0f0.tar.gz
scummvm-rg350-0a89a28e4588a64e8a7b62d34f3cd621f666c0f0.tar.bz2
scummvm-rg350-0a89a28e4588a64e8a7b62d34f3cd621f666c0f0.zip
o Add reported German IHNM and ITE
o Fix IHNM. It does not have actors now (all actors in IHNM are in resources, not hardcoded) svn-id: r16478
Diffstat (limited to 'saga')
-rw-r--r--saga/actor.cpp5
-rw-r--r--saga/game.cpp77
-rw-r--r--saga/saga.cpp3
-rw-r--r--saga/saga.h8
4 files changed, 87 insertions, 6 deletions
diff --git a/saga/actor.cpp b/saga/actor.cpp
index 3f7a95fcf4..e7611ebd8a 100644
--- a/saga/actor.cpp
+++ b/saga/actor.cpp
@@ -389,6 +389,11 @@ void Actor::updateActorsScene() {
ActorLocation possibleLocation;
Point delta;
+ if (_vm->_gameType == GType_IHNM) {
+ warning("Actors aren't implemented for IHNM yet");
+ return;
+ }
+
_activeSpeech.stringsCount = 0;
_protagonist = NULL;
diff --git a/saga/game.cpp b/saga/game.cpp
index dbd92796b9..fe6d47ca5e 100644
--- a/saga/game.cpp
+++ b/saga/game.cpp
@@ -163,6 +163,7 @@ static GAME_FILEDESC IHNMCD_GameFiles[] = {
{"musicfm.res", GAME_MUSICFILE_FM},
{"musicgm.res", GAME_MUSICFILE_GM},
{"scream.res", GAME_RESOURCEFILE},
+ {"patch.re_", GAME_PATCHFILE},
{"scripts.res", GAME_SCRIPTFILE},
{"sfx.res", GAME_SOUNDFILE},
{"voices1.res", GAME_VOICEFILE},
@@ -174,6 +175,22 @@ static GAME_FILEDESC IHNMCD_GameFiles[] = {
{"voicess.res", GAME_VOICEFILE}
};
+// I Have No Mouth and I Must Scream - Retail German CD version
+static GAME_FILEDESC IHNMCDDE_GameFiles[] = {
+ {"musicfm.res", GAME_MUSICFILE_FM},
+ {"musicgm.res", GAME_MUSICFILE_GM},
+ {"scream.res", GAME_RESOURCEFILE},
+ {"scripts.res", GAME_SCRIPTFILE},
+ {"patch.re_", GAME_PATCHFILE},
+ {"sfx.res", GAME_SOUNDFILE},
+ {"voices1.res", GAME_VOICEFILE},
+ {"voices2.res", GAME_VOICEFILE},
+ {"voices3.res", GAME_VOICEFILE},
+ {"voices5.res", GAME_VOICEFILE},
+ {"voices6.res", GAME_VOICEFILE},
+ {"voicess.res", GAME_VOICEFILE}
+};
+
static GAME_FONTDESC IHNMCD_GameFonts[] = {
{GAME_FONT_MEDIUM, 2},
{GAME_FONT_LARGE, 3},
@@ -219,6 +236,12 @@ static GAME_MD5 game_md5[] = {
{ GID_ITE_CD, "e2ccb61c325d6d1ead3be0e731fe29fe", "sounds.rsc", false },
{ GID_ITE_CD, "41bb6b95d792dde5196bdb78740895a6", "voices.rsc", false },
+ // reported by mld. Bestsellergamers cover disk
+ { GID_ITE_CD_DE, "869fc23c8f38f575979ec67152914fee", "ite.rsc", false },
+ { GID_ITE_CD_DE, "a891405405edefc69c9d6c420c868b84", "scripts.rsc", false },
+ { GID_ITE_CD_DE, "e2ccb61c325d6d1ead3be0e731fe29fe", "sounds.rsc", false },
+ { GID_ITE_CD_DE, "2fbad5d10b9b60a3415dc4aebbb11718", "voices.rsc", false },
+
{ GID_ITE_DEMO_G, "986c79c4d2939dbe555576529fd37932", "ite.rsc", false },
{ GID_ITE_DEMO_G, "d5697dd3240a3ceaddaa986c47e1a2d7", "scripts.rsc", false },
{ GID_ITE_DEMO_G, "c58e67c506af4ffa03fd0aac2079deb0", "voices.rsc", false },
@@ -268,12 +291,11 @@ static GAME_MD5 game_md5[] = {
{ GID_ITE_MACDEMO1, "b3a831fbed337d1f1300fee1dd474f6c", "soundsd.rsc", false },
{ GID_ITE_MACDEMO1, "e139d86bab2ee8ba3157337f894a92d4", "voicesd.rsc", false },
- // My CD also has a file called 'patch.re_'. I assume it contains
- // bugfixes, but let's ignore it for now.
{ GID_IHNM_CD, "0439083e3dfdc51b486071d45872ae52", "musicfm.res", false },
{ GID_IHNM_CD, "80f875a1fb384160d1f4b27166eef583", "musicgm.res", false },
{ GID_IHNM_CD, "46bbdc65d164ba7e89836a0935eec8e6", "scream.res", false },
{ GID_IHNM_CD, "be38bbc5a26be809dbf39f13befebd01", "scripts.res", false },
+ { GID_IHNM_CD, "58b79e61594779513c7f2d35509fa89e", "patch.re_", false },
{ GID_IHNM_CD, "1c610d543f32ec8b525e3f652536f269", "sfx.res", false },
{ GID_IHNM_CD, "fc6440b38025f4b2cc3ff55c3da5c3eb", "voices1.res", false },
{ GID_IHNM_CD, "b37f10fd1696ade7d58704ccaaebceeb", "voices2.res", false },
@@ -283,6 +305,21 @@ static GAME_MD5 game_md5[] = {
{ GID_IHNM_CD, "f580ed7568c7d6ef34e934ba20adf834", "voices6.res", false },
{ GID_IHNM_CD, "54b1f2013a075338ceb0e258d97808bd", "voicess.res", false },
+ // Reported by mld. German Retail
+ { GID_IHNM_CD_DE, "0439083e3dfdc51b486071d45872ae52", "musicfm.res", false },
+ { GID_IHNM_CD_DE, "80f875a1fb384160d1f4b27166eef583", "musicgm.res", false },
+ { GID_IHNM_CD_DE, "c92370d400e6f2a3fc411c3729d09224", "scream.res", false },
+ { GID_IHNM_CD_DE, "32aa01a89937520fe0ea513950117292", "scripts.res", false },
+ // FIXME: may be wrong
+ { GID_IHNM_CD_DE, "58b79e61594779513c7f2d35509fa89e", "patch.re_", false },
+ { GID_IHNM_CD_DE, "1c610d543f32ec8b525e3f652536f269", "sfx.res", false },
+ { GID_IHNM_CD_DE, "424971e1e2373187c3f5734fe36071a2", "voices1.res", false },
+ { GID_IHNM_CD_DE, "c270e0980782af43641a86e4a14e2a32", "voices2.res", false },
+ { GID_IHNM_CD_DE, "49e42befea883fd101ec3d0f5d0647b9", "voices3.res", false },
+ { GID_IHNM_CD_DE, "c477443c52a0aa56e686ebd8d051e4ab", "voices5.res", false },
+ { GID_IHNM_CD_DE, "2b9aea838f74b4eecfb29a8f205a2bd4", "voices6.res", false },
+ { GID_IHNM_CD_DE, "8b09a196a52627cacb4eab13bfe0b2c3", "voicess.res", false },
+
{ GID_IHNM_DEMO, "46bbdc65d164ba7e89836a0935eec8e6", "scream.res", false },
{ GID_IHNM_DEMO, "9626bda8978094ff9b29198bc1ed5f9a", "scripts.res", false },
{ GID_IHNM_DEMO, "1c610d543f32ec8b525e3f652536f269", "sfx.res", false },
@@ -454,6 +491,24 @@ static GAMEDESC GameDescs[] = {
0
},
+ // Inherit the earth - DOS CD German version
+ {
+ "ite",
+ GType_ITE,
+ GID_ITE_CD_DE,
+ "Inherit the Earth (De DOS CD Version)",
+ 320, 200,
+ 137,
+ ITE_DEFAULT_SCENE,
+ &ITE_Resources,
+ ARRAYSIZE(ITECD_GameFiles),
+ ITECD_GameFiles,
+ ARRAYSIZE(ITECD_GameFonts),
+ ITECD_GameFonts,
+ &ITECD_GameSound,
+ GF_LANG_DE
+ },
+
// Inherit the earth - CD version
{
"ite",
@@ -542,6 +597,24 @@ static GAMEDESC GameDescs[] = {
IHNMCD_GameFonts,
&IHNM_GameSound,
GF_DEFAULT_TO_1X_SCALER
+ },
+
+ // I Have No Mouth And I Must Scream - De CD version
+ {
+ "ihnm",
+ GType_IHNM,
+ GID_IHNM_CD_DE,
+ "I Have No Mouth and I Must Scream (DE DOS)",
+ 640, 480,
+ 7,
+ 152,
+ &IHNM_Resources,
+ ARRAYSIZE(IHNMCDDE_GameFiles),
+ IHNMCDDE_GameFiles,
+ ARRAYSIZE(IHNMCD_GameFonts),
+ IHNMCD_GameFonts,
+ &IHNM_GameSound,
+ GF_DEFAULT_TO_1X_SCALER
}
};
diff --git a/saga/saga.cpp b/saga/saga.cpp
index c7e63307c7..590f3e63bc 100644
--- a/saga/saga.cpp
+++ b/saga/saga.cpp
@@ -245,7 +245,8 @@ int SagaEngine::go() {
if (msec > MAX_TIME_DELTA) {
msec = MAX_TIME_DELTA;
}
- if (!_vm->_scene->isInDemo())
+
+ if (!_vm->_scene->isInDemo() && _gameType == GType_ITE)
if (_vm->_interface->getMode() == kPanelMain ||
_vm->_interface->getMode() == kPanelConverse ||
_vm->_interface->getMode() == kPanelNull)
diff --git a/saga/saga.h b/saga/saga.h
index fe3fe496f4..a31cfaefc4 100644
--- a/saga/saga.h
+++ b/saga/saga.h
@@ -140,12 +140,13 @@ enum GAME_IDS {
GID_ITE_AMIGACD_DE, // TODO
GID_ITE_OLDMAC_DE, // TODO
GID_ITE_AMIGA_FL_DE,// TODO
- GID_ITE_CD_DE, // don't have it
+ GID_ITE_CD_DE, // reported by mld. Bestsellergamers cover disk
GID_ITE_AMIGA_AGA_DEMO, // TODO
GID_ITE_AMIGA_ECS_DEMO, // TODO
GID_IHNM_DEMO,
- GID_IHNM_CD
+ GID_IHNM_CD,
+ GID_IHNM_CD_DE // reported by mld. German retail
};
enum GAME_FILETYPES {
@@ -156,7 +157,8 @@ enum GAME_FILETYPES {
GAME_DEMOFILE = 1 << 4,
GAME_MUSICFILE = 1 << 5,
GAME_MUSICFILE_GM = 1 << 6,
- GAME_MUSICFILE_FM = 1 << 7
+ GAME_MUSICFILE_FM = 1 << 7,
+ GAME_PATCHFILE = 1 << 8
};
enum GAME_SOUNDINFO_TYPES {