diff options
-rw-r--r-- | engines/agi/appleIIgs_timedelay_overwrite.h | 6 | ||||
-rw-r--r-- | engines/agi/cycle.cpp | 2 | ||||
-rw-r--r-- | engines/agi/motion.cpp | 5 |
3 files changed, 8 insertions, 5 deletions
diff --git a/engines/agi/appleIIgs_timedelay_overwrite.h b/engines/agi/appleIIgs_timedelay_overwrite.h index 0502593954..c24d7cb5bd 100644 --- a/engines/agi/appleIIgs_timedelay_overwrite.h +++ b/engines/agi/appleIIgs_timedelay_overwrite.h @@ -71,14 +71,14 @@ static const AgiAppleIIgsDelayOverwriteRoomEntry appleIIgsDelayOverwriteSQ2[] = }; static const AgiAppleIIgsDelayOverwriteGameEntry appleIIgsDelayOverwriteGameTable[] = { - { GID_BC, 2, nullptr }, // NEEDS TESTING - { GID_GOLDRUSH, 2, nullptr }, // NEEDS TESTING + { GID_BC, 2, nullptr }, // sets the speed at the start and doesn't modify it + { GID_GOLDRUSH, 2, nullptr }, { GID_KQ1, 2, nullptr }, // KQ2 seems to work fine at speed given by scripts { GID_KQ3, 2, nullptr }, { GID_KQ4, 2, appleIIgsDelayOverwriteKQ4 }, { GID_LSL1, 2, nullptr }, // Switch Larry 1 to 10 cycles per second (that's around PC Larry 1's "normal" speed - { GID_MH1, 2, appleIIgsDelayOverwriteMH1 }, // NEEDS TESTING + { GID_MH1, 2, appleIIgsDelayOverwriteMH1 }, { GID_MIXEDUP, 2, nullptr }, { GID_PQ1, 2, nullptr }, { GID_SQ1, 2, nullptr }, // completed, no issues using these settings diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp index f253804da3..8ccf69a2fc 100644 --- a/engines/agi/cycle.cpp +++ b/engines/agi/cycle.cpp @@ -403,7 +403,7 @@ int AgiEngine::playGame() { if (timeDelayOverwrite >= 0) { if (timeDelayOverwrite != timeDelay) { // delayOverwrite is not the same as the delay taken from the scripts? overwrite it - warning("AppleIIgs: time delay overwrite from %d to %d", timeDelay, timeDelayOverwrite); + //warning("AppleIIgs: time delay overwrite from %d to %d", timeDelay, timeDelayOverwrite); setVar(VM_VAR_TIME_DELAY, timeDelayOverwrite - 1); // adjust for Apple IIgs timeDelay = timeDelayOverwrite; diff --git a/engines/agi/motion.cpp b/engines/agi/motion.cpp index 9de1b44720..f408ba35e6 100644 --- a/engines/agi/motion.cpp +++ b/engines/agi/motion.cpp @@ -67,7 +67,10 @@ void AgiEngine::changePos(ScreenObjEntry *screenObj) { // If this is the case, it would result in some random flag getting overwritten in original AGI after the loop was // completed, because in original AGI loop_flag + wander_count/follow_stepSize/move_X shared the same memory location. // This is basically an implementation error in the original interpreter. -// Happens in at least KQ1, when grabbing the eagle (room 22). +// Happens in at least: +// - BC: right at the end when the witches disappear at least on Apple IIgs (room 12, screen object 13, view 84) +// - KQ1: when grabbing the eagle (room 22). +// - KQ2: happened somewhere in the game, LordHoto couldn't remember exactly where void AgiEngine::motionActivated(ScreenObjEntry *screenObj) { if (screenObj->flags & fCycling) { // Cycling active too |