AGI: Increase time delay for Apple IIgs

It seems that either Apple IIgs ran very slowly or that its
AGI interpreter didn't do the delays as on all the other platforms.
Further investigation needed
Fixes all sorts of games running now way too fast.
This commit is contained in:
Martin Kiewitz 2016-02-03 03:49:37 +01:00
parent 9a3454393b
commit 3eebf2eb41

View File

@ -338,7 +338,19 @@ int AgiEngine::playGame() {
inGameTimerUpdate();
if (_passedPlayTimeCycles >= getVar(VM_VAR_TIME_DELAY)) {
uint16 timeDelay = getVar(VM_VAR_TIME_DELAY);
if (getPlatform() == Common::kPlatformApple2GS) {
timeDelay++;
// It seems that either Apple IIgs ran very slowly or that the delay in its interpreter was not working as everywhere else
// Most games on that platform set the delay to 0, which means no delay in DOS
// Gold Rush! even "optimizes" itself when larger sprites are on the screen it sets TIME_DELAY to 0.
// Normally that game runs at TIME_DELAY 1.
// Maybe a script patch for this game would make sense.
// TODO: needs further investigation
}
if (_passedPlayTimeCycles >= timeDelay) {
inGameTimerResetPassedCycles();
interpretCycle();