AGI: Added comments about Black Cauldron+KQ2, removed warning

Also removed old comments about testing needed for IIgs
Also removed warning when game speed is overwritten for IIgs,
b/c all games were tested and should run properly now.
This commit is contained in:
Martin Kiewitz 2016-02-20 13:17:16 +01:00
parent b3b6de4fd0
commit 29456da421
3 changed files with 8 additions and 5 deletions

View File

@ -71,14 +71,14 @@ static const AgiAppleIIgsDelayOverwriteRoomEntry appleIIgsDelayOverwriteSQ2[] =
}; };
static const AgiAppleIIgsDelayOverwriteGameEntry appleIIgsDelayOverwriteGameTable[] = { static const AgiAppleIIgsDelayOverwriteGameEntry appleIIgsDelayOverwriteGameTable[] = {
{ GID_BC, 2, nullptr }, // NEEDS TESTING { GID_BC, 2, nullptr }, // sets the speed at the start and doesn't modify it
{ GID_GOLDRUSH, 2, nullptr }, // NEEDS TESTING { GID_GOLDRUSH, 2, nullptr },
{ GID_KQ1, 2, nullptr }, { GID_KQ1, 2, nullptr },
// KQ2 seems to work fine at speed given by scripts // KQ2 seems to work fine at speed given by scripts
{ GID_KQ3, 2, nullptr }, { GID_KQ3, 2, nullptr },
{ GID_KQ4, 2, appleIIgsDelayOverwriteKQ4 }, { 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_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_MIXEDUP, 2, nullptr },
{ GID_PQ1, 2, nullptr }, { GID_PQ1, 2, nullptr },
{ GID_SQ1, 2, nullptr }, // completed, no issues using these settings { GID_SQ1, 2, nullptr }, // completed, no issues using these settings

View File

@ -403,7 +403,7 @@ int AgiEngine::playGame() {
if (timeDelayOverwrite >= 0) { if (timeDelayOverwrite >= 0) {
if (timeDelayOverwrite != timeDelay) { if (timeDelayOverwrite != timeDelay) {
// delayOverwrite is not the same as the delay taken from the scripts? overwrite it // 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 setVar(VM_VAR_TIME_DELAY, timeDelayOverwrite - 1); // adjust for Apple IIgs
timeDelay = timeDelayOverwrite; timeDelay = timeDelayOverwrite;

View File

@ -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 // 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. // 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. // 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) { void AgiEngine::motionActivated(ScreenObjEntry *screenObj) {
if (screenObj->flags & fCycling) { if (screenObj->flags & fCycling) {
// Cycling active too // Cycling active too