aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorEugene Sandulenko2005-02-14 21:19:00 +0000
committerEugene Sandulenko2005-02-14 21:19:00 +0000
commitc49642bb8b1e674fe22812148739dc28c058b003 (patch)
tree193e222550fdc7ad03cb6c48a9f20b9fb2291e0a /scumm
parent39b83ba8cf95c3c42c3c4ca03a4b3fbde481de47 (diff)
downloadscummvm-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.cpp5
-rw-r--r--scumm/script_v72he.cpp9
-rw-r--r--scumm/scumm-md5.h7
-rw-r--r--scumm/scumm.cpp13
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},