aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorTravis Howell2010-10-23 06:27:16 +0000
committerTravis Howell2010-10-23 06:27:16 +0000
commit402fac9ed41cea27d37574aa2db37ce016372106 (patch)
tree7bc697b0c3f6e90e511d524ac939be3ceb207eed /engines/scumm
parentd602e4a785df248140d088fa691fb525d603d76e (diff)
downloadscummvm-rg350-402fac9ed41cea27d37574aa2db37ce016372106.tar.gz
scummvm-rg350-402fac9ed41cea27d37574aa2db37ce016372106.tar.bz2
scummvm-rg350-402fac9ed41cea27d37574aa2db37ce016372106.zip
SCUMM: Add workaround to allow saved games to be shared between Macintosh and Windows versions of Backyard Baseball 2001.
svn-id: r53729
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/detection_tables.h2
-rw-r--r--engines/scumm/script_v6.cpp13
-rw-r--r--engines/scumm/scumm.h1
3 files changed, 14 insertions, 2 deletions
diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h
index 4428185774..a5542ca868 100644
--- a/engines/scumm/detection_tables.h
+++ b/engines/scumm/detection_tables.h
@@ -370,7 +370,7 @@ static const GameSettings gameVariantsTable[] = {
#ifdef USE_RGB_COLOR
// Added 16bit color
{"arttime", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
- {"baseball2001", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
+ {"baseball2001", 0, 0, GID_BASEBALL2001, 6, 99, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
{"readtime", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
{"SoccerMLS", 0, 0, GID_SOCCER, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
{"spyozon", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index ede32623aa..0226343df5 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -536,7 +536,18 @@ void ScummEngine_v6::o6_not() {
}
void ScummEngine_v6::o6_eq() {
- push(pop() == pop());
+ int a = pop();
+ int b = pop();
+
+ // WORKAROUND: Forces the game version string set via script 1 to be used in both Macintosh and Windows versions,
+ // when checking for save game compatibility. Allows saved games to be shared between Macintosh and Windows versions.
+ // The scripts check VAR_PLATFORM (b) against the value (2) of the Macintosh platform (a).
+ if (_game.id == GID_BASEBALL2001 && (vm.slot[_currentScript].number == 291 || vm.slot[_currentScript].number == 292) &&
+ a == 2 && b == 1) {
+ push(1);
+ } else {
+ push(a == b);
+ }
}
void ScummEngine_v6::o6_neq() {
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h
index 33ed2e3763..b94bb5e733 100644
--- a/engines/scumm/scumm.h
+++ b/engines/scumm/scumm.h
@@ -253,6 +253,7 @@ enum ScummGameId {
GID_FUNSHOP, // Used for all three funshops
GID_FOOTBALL,
GID_SOCCER,
+ GID_BASEBALL2001,
GID_BASKETBALL,
GID_MOONBASE,
GID_HECUP // CUP demos