diff options
author | Eugene Sandulenko | 2005-02-14 21:19:00 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-02-14 21:19:00 +0000 |
commit | c49642bb8b1e674fe22812148739dc28c058b003 (patch) | |
tree | 193e222550fdc7ad03cb6c48a9f20b9fb2291e0a /scumm | |
parent | 39b83ba8cf95c3c42c3c4ca03a4b3fbde481de47 (diff) | |
download | scummvm-rg350-c49642bb8b1e674fe22812148739dc28c058b003.tar.gz scummvm-rg350-c49642bb8b1e674fe22812148739dc28c058b003.tar.bz2 scummvm-rg350-c49642bb8b1e674fe22812148739dc28c058b003.zip |
o Added 5 updated Russian freddi-related titles.
o Fixed ScummEngine_v72he::o72_openFile() so autogenerated names also
checked for substitution.
o New case 0 in o100_actorOps() used by Russian updated freddicove. Number
of stack items weren't checked against disassembly
svn-id: r16792
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/script_v100he.cpp | 5 | ||||
-rw-r--r-- | scumm/script_v72he.cpp | 9 | ||||
-rw-r--r-- | scumm/scumm-md5.h | 7 | ||||
-rw-r--r-- | scumm/scumm.cpp | 13 |
4 files changed, 30 insertions, 4 deletions
diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp index db8bd97936..2c72cd4fde 100644 --- a/scumm/script_v100he.cpp +++ b/scumm/script_v100he.cpp @@ -392,6 +392,11 @@ void ScummEngine_v100he::o100_actorOps() { return; switch (subOp) { + case 0: + // freddicove Ru Updated + // FIXME: check stack parameters + debug(0,"o100_actorOps: case 0 UNHANDLED"); + break; case 3: pop(); pop(); diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index 77138e9f39..ab2b7b0b84 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -1556,7 +1556,7 @@ void ScummEngine_v72he::o72_openFile() { // HACK Correct incorrect filenames if (!strcmp((char *)filename,".he3")) { - // For freddicove (Unencrypted) + // For freddicove (Unencrypted and Updated Ru) memset(filename, 0, sizeof(filename)); sprintf((char *)filename, "%s.he3", _gameName.c_str()); debug(0,"New filename %s", filename); @@ -1569,6 +1569,13 @@ void ScummEngine_v72he::o72_openFile() { } + if (_substResFileNameIndex > 0) { + char buf1[128]; + + generateSubstResFileName((char *)filename, buf1, 256, 0, _substResFileNameIndex); + strcpy((char *)filename, buf1); + } + // HACK: Convert paths if (filename[0] == ':') { int len = resStrLen(filename); diff --git a/scumm/scumm-md5.h b/scumm/scumm-md5.h index 8d9ce863ee..7952d3f97a 100644 --- a/scumm/scumm-md5.h +++ b/scumm/scumm-md5.h @@ -1,5 +1,5 @@ /* - This file was generated by the md5table tool on Sun Feb 13 06:50:19 2005 + This file was generated by the md5table tool on Mon Feb 14 20:34:35 2005 DO NOT EDIT MANUALLY! */ @@ -112,6 +112,7 @@ static const MD5Table md5table[] = { { "4ba7fb331296c283e73d8f5b2096e551", "samnmax", Common::ES_ESP, Common::kPlatformUnknown }, { "4bedb49943df95a9c900a5a82ccbe9de", "ft", Common::FR_FRA, Common::kPlatformUnknown }, { "4cb9c3618f71668f8e4346c8f323fa82", "monkey2", Common::EN_USA, Common::kPlatformMacintosh }, + { "4ce2d5b355964bbcb5e5ce73236ef868", "freddicove", Common::RU_RUS, Common::kPlatformWindows }, { "4d34042713958b971cb139fba4658586", "indy4", Common::JA_JPN, Common::kPlatformFMTowns }, { "4dc780f1bc587a193ce8a97652791438", "loom", Common::EN_USA, Common::kPlatformAmiga }, { "4e5867848ee61bc30d157e2c94eee9b4", "timedemo", Common::EN_USA, Common::kPlatformUnknown }, @@ -147,6 +148,7 @@ static const MD5Table md5table[] = { { "60ba818dc3bede86d40357e3913f8505", "ft", Common::EN_USA, Common::kPlatformUnknown }, { "613f64f78ea26c7353b2a5940eb61d6a", "zak", Common::FR_FRA, Common::kPlatformAtariST }, { "624cdb93654667c869d204a64af7e57f", "maniac", Common::EN_USA, Common::kPlatformPC }, + { "6271130f440066830eca9056c1d7926f", "water", Common::RU_RUS, Common::kPlatformWindows }, { "66236cd1aec24e1d4aff4c4cc93b7e18", "indy3EGA", Common::FR_FRA, Common::kPlatformPC }, { "66fd5ff9a810dfeb6d6bdada18221140", "monkeyvga", Common::IT_ITA, Common::kPlatformPC }, { "672dec94b82f7f0877ebb5b5cf7f4bc1", "pajama", Common::EN_USA, Common::kPlatformUnknown }, @@ -173,10 +175,13 @@ static const MD5Table md5table[] = { { "7222f260253f325c21fcfa68b5bfab67", "sf2-demo", Common::EN_USA, Common::kPlatformUnknown }, { "72ac6bc980d5101c2142189d746bd62f", "spyfox", Common::RU_RUS, Common::kPlatformWindows }, { "73e5ab7dbb9a8061cc6d25df02dbd1e7", "loom", Common::EN_USA, Common::kPlatformPC }, + { "746e88c172a5b7a1ae89ac0ee3ee681a", "freddi", Common::RU_RUS, Common::kPlatformWindows }, { "75ba23fff4fd63fa446c02864f2a5a4b", "zak", Common::IT_ITA, Common::kPlatformPC }, + { "75bff95816b84672b877d22a911ab811", "freddi3", Common::RU_RUS, Common::kPlatformWindows }, { "771bc18ec6f93837b839c992b211904b", "monkeyega", Common::DE_DEU, Common::kPlatformPC }, { "77f5c9cc0986eb729c1a6b4c8823bbae", "zakTowns", Common::EN_USA, Common::kPlatformFMTowns }, { "780e4a0ae2ff17dc296f4a79543b44f8", "puttmoon", Common::UNK_LANG, Common::kPlatformPC }, + { "78bd5f036ea35a878b74e4f47941f784", "freddi4", Common::RU_RUS, Common::kPlatformWindows }, { "7974365d3dc0f43a2748c975f91ff042", "monkey2", Common::ES_ESP, Common::kPlatformPC }, { "7c2e76087027eeee9c8f8985f93a1cc5", "f4-demo", Common::EN_USA, Common::kPlatformUnknown }, { "7ddeaf52c8b9a50551ce0aa2ac811d07", "BluesABCTimeDemo", Common::EN_USA, Common::kPlatformWindows }, diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index b522249557..6f92869ffb 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -287,7 +287,7 @@ static const ScummGameSettings scumm_settings[] = { {"1grademo", "Big Thinkers First Grade (Demo)", GID_HEGAME, 6, 90, 61, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, {"freddi3", "Freddi Fish 3: The Case of the Stolen Conch Shell", GID_HEGAME, 6, 90, 30, MDT_NONE, - GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, + GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0}, {"f3-mdemo", "Freddi Fish 3: The Case of the Stolen Conch Shell (Demo)", GID_HEGAME, 6, 90, 30, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // there is also a C++ engine based version of timedemo @@ -321,7 +321,7 @@ static const ScummGameSettings scumm_settings[] = { // Global scripts increased to 2048 {"freddi4", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch", GID_FREDDI4, 6, 98, 57, MDT_NONE, - GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, + GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0}, {"f4-demo", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch (Demo)", GID_FREDDI4, 6, 98, 57, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, @@ -409,6 +409,8 @@ static const ScummGameSettings multiple_versions_md5_settings[] = { GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, {"3de99ef0523f8ca7958faa3afccd035a", "Spyfox 1: Dry Cereal (Updated)", GID_HEGAME, 6, 100, 61, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, + {"4ce2d5b355964bbcb5e5ce73236ef868", "Freddi Fish 5: The Case of the Creature of Coral Cave (Updated Ru)", GID_HEGAME, 6, 100, 61, MDT_NONE, + GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // FIXME: number of actors {"51305e929e330e24a75a0351c8f9975e", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Updated)", GID_HEGAME, 6, 99, 30, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, {"6a30a07f353a75cdc602db27d73e1b42", "Putt-Putt Joins The Parade (Windows)", GID_HEGAME, 6, 70, 13, MDT_NONE, @@ -417,6 +419,10 @@ static const ScummGameSettings multiple_versions_md5_settings[] = { GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // 500demo {"72ac6bc980d5101c2142189d746bd62f", "Spyfox 1: Dry Cereal (Updated Ru)", GID_HEGAME, 6, 99, 61, MDT_NONE, // FIXME: number of actors GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // SPYFoxDC + {"75bff95816b84672b877d22a911ab811", "Freddi Fish 3: The Case of the Stolen Conch Shell (Updated Ru)", GID_HEGAME, 6, 98, 30, MDT_NONE, + GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // FIXME: number of actors + {"78bd5f036ea35a878b74e4f47941f784", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch (Updated Ru)", GID_FREDDI4, 6, 99, 57, MDT_NONE, + GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // FIXME: number of actors {"86c9902b7bec1a17926d4dae85beaa45", "Let's Explore the Airport with Buzzy (Demo) (puttputt cd)", GID_HEGAME, 6, 71, 13, MDT_NONE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, {"8e3241ddd6c8dadf64305e8740d45e13", "Putt-Putt and Pep's Balloon-O-Rama (Updated)", GID_HEGAME, 6, 100, 60, MDT_NONE, @@ -487,8 +493,11 @@ static struct substResFileNames { { "freddi2", "Freddi Fish 2", kGenMac }, { "freddi2", "FreddiCHSH", kGenPC }, { "freddi3", "Freddi Fish 3", kGenMac }, + { "freddi3", "FreddiSCS", kGenPC }, { "freddi4", "Freddi 4", kGenMac }, + { "freddi4", "FreddiHRBG", kGenPC }, { "freddicove", "FreddiCove", kGenMac }, + { "freddicove", "FreddiCCC", kGenPC }, { "kinddemo", "Kinddemo", kGenMac }, { "lost", "Lost and Found", kGenMac}, { "maze", "Maze Madness", kGenMac}, |