aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2016-02-13 04:07:17 +0100
committerMartin Kiewitz2016-02-13 04:07:17 +0100
commit82c3bdc142f316ddb7c025265571022cba0fa6e6 (patch)
tree759f14e56c08721eaf7656fa0c5c6e24c7f609fd /engines
parent829bf25d1ec7c80cd93423baaba6b94df6143df6 (diff)
downloadscummvm-rg350-82c3bdc142f316ddb7c025265571022cba0fa6e6.tar.gz
scummvm-rg350-82c3bdc142f316ddb7c025265571022cba0fa6e6.tar.bz2
scummvm-rg350-82c3bdc142f316ddb7c025265571022cba0fa6e6.zip
AGI: Apple IIgs time delay override SQ2 data added
Diffstat (limited to 'engines')
-rw-r--r--engines/agi/appleIIgs_timedelay_overwrite.h13
-rw-r--r--engines/agi/cycle.cpp4
2 files changed, 11 insertions, 6 deletions
diff --git a/engines/agi/appleIIgs_timedelay_overwrite.h b/engines/agi/appleIIgs_timedelay_overwrite.h
index 204584157f..1f418d174f 100644
--- a/engines/agi/appleIIgs_timedelay_overwrite.h
+++ b/engines/agi/appleIIgs_timedelay_overwrite.h
@@ -38,13 +38,18 @@ struct AgiAppleIIgsDelayOverwriteGameEntry {
};
static const AgiAppleIIgsDelayOverwriteRoomEntry appleIIgsDelayOverwriteMH1[] = {
- { 153, 153, 2 }, // Intro w/ credits
- { 104, 104, 2 }, // Intro cutscene
- { 117, 117, 2 }, // Intro cutscene (ego waking up)
+ { 153, 153, 2 }, // Intro w/ credits
+ { 104, 104, 2 }, // Intro cutscene
+ { 117, 117, 2 }, // Intro cutscene (ego waking up)
// Room 124+125 are MAD rooms, those seem to work at a proper speed
{ -1, -1, -1 }
};
+static const AgiAppleIIgsDelayOverwriteRoomEntry appleIIgsDelayOverwriteSQ2[] = {
+ { 1, 1, -1 }, // Intro: space ship entering space port, don't touch speed
+ { -1, -1, -1 }
+};
+
static const AgiAppleIIgsDelayOverwriteGameEntry appleIIgsDelayOverwriteGameTable[] = {
{ GID_BC, 2, nullptr }, // NEEDS TESTING
{ GID_GOLDRUSH, 2, nullptr }, // NEEDS TESTING
@@ -57,7 +62,7 @@ static const AgiAppleIIgsDelayOverwriteGameEntry appleIIgsDelayOverwriteGameTabl
{ GID_MIXEDUP, 2, nullptr }, // NEEDS TESTING
{ GID_PQ1, 2, nullptr }, // NEEDS TESTING
{ GID_SQ1, 2, nullptr }, // NEEDS TESTING
- { GID_SQ2, 2, nullptr }, // NEEDS TESTING
+ { GID_SQ2, 2, appleIIgsDelayOverwriteSQ2 }, // NEEDS TESTING
{ GID_AGIDEMO, -1, nullptr }
};
diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp
index 7f563419e7..a3873a0184 100644
--- a/engines/agi/cycle.cpp
+++ b/engines/agi/cycle.cpp
@@ -367,7 +367,7 @@ int AgiEngine::playGame() {
// Maybe a script patch for this game would make sense.
// TODO: needs further investigation
- int16 timeDelayOverwrite = -1;
+ int16 timeDelayOverwrite = -99;
// Now check, if we got a time delay overwrite entry for current room
if (appleIIgsDelayOverwrite->roomTable) {
@@ -382,7 +382,7 @@ int AgiEngine::playGame() {
appleIIgsDelayRoomOverwrite++;
}
- if (timeDelayOverwrite < 0) {
+ if (timeDelayOverwrite == -99) {
// use default time delay in case no room specific one was found
timeDelayOverwrite = appleIIgsDelayOverwrite->defaultTimeDelayOverwrite;
}