From 0a89a28e4588a64e8a7b62d34f3cd621f666c0f0 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 7 Jan 2005 15:49:47 +0000 Subject: 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 --- saga/actor.cpp | 5 ++++ saga/game.cpp | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- saga/saga.cpp | 3 ++- saga/saga.h | 8 +++--- 4 files changed, 87 insertions(+), 6 deletions(-) (limited to 'saga') 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 { -- cgit v1.2.3