From d2e7058b59e8f3a26f8e2fdbfd104749854ce950 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Thu, 21 Jun 2007 05:26:47 +0000 Subject: Fix regressions, due to zoneNum changes. svn-id: r27579 --- engines/agos/agos.h | 4 ++-- engines/agos/vga_ww.cpp | 25 ++++++++++++++----------- 2 files changed, 16 insertions(+), 13 deletions(-) (limited to 'engines') diff --git a/engines/agos/agos.h b/engines/agos/agos.h index 8fb80810c4..8cbde9856f 100644 --- a/engines/agos/agos.h +++ b/engines/agos/agos.h @@ -1213,7 +1213,7 @@ protected: void fastFadeIn(); void slowFadeIn(); - virtual void vcStopAnimation(uint zone, uint sprite); + virtual void vcStopAnimation(uint16 zone, uint16 sprite); bool confirmOverWrite(WindowBlock *window); int16 matchSaveGame(const char *name, uint16 max); @@ -1499,7 +1499,7 @@ protected: virtual void playMusic(uint16 music, uint16 track); - virtual void vcStopAnimation(uint zone, uint sprite); + virtual void vcStopAnimation(uint16 zone, uint16 sprite); }; class AGOSEngine_Simon2 : public AGOSEngine_Simon1 { diff --git a/engines/agos/vga_ww.cpp b/engines/agos/vga_ww.cpp index cd39e2dc8a..c24a115e71 100644 --- a/engines/agos/vga_ww.cpp +++ b/engines/agos/vga_ww.cpp @@ -45,15 +45,17 @@ void AGOSEngine_Waxworks::setupVideoOpcodes(VgaOpcodeProc *op) { op[63] = &AGOSEngine::vc63_fastFadeIn; } -void AGOSEngine::vcStopAnimation(uint zone, uint sprite) { - uint16 old_sprite_id; +void AGOSEngine::vcStopAnimation(uint16 zone, uint16 sprite) { + uint16 oldCurSpriteId, oldCurZoneNum; VgaSprite *vsp; VgaTimerEntry *vte; const byte *vcPtrOrg; - old_sprite_id = _vgaCurSpriteId; + oldCurSpriteId = _vgaCurSpriteId; + oldCurZoneNum = _vgaCurZoneNum; vcPtrOrg = _vcPtr; + _vgaCurZoneNum = zone; _vgaCurSpriteId = sprite; vsp = findCurSprite(); @@ -62,7 +64,7 @@ void AGOSEngine::vcStopAnimation(uint zone, uint sprite) { vte = _vgaTimerList; while (vte->delay) { - if (vte->sprite_id == _vgaCurSpriteId) { + if (vte->sprite_id == _vgaCurSpriteId && vte->cur_vga_file == _vgaCurZoneNum) { deleteVgaEvent(vte); break; } @@ -70,19 +72,20 @@ void AGOSEngine::vcStopAnimation(uint zone, uint sprite) { } } - _vgaCurSpriteId = old_sprite_id; + _vgaCurZoneNum = oldCurZoneNum; + _vgaCurSpriteId = oldCurSpriteId; _vcPtr = vcPtrOrg; } -void AGOSEngine_Simon1::vcStopAnimation(uint zone, uint sprite) { - uint16 old_sprite_id, old_cur_file_id; +void AGOSEngine_Simon1::vcStopAnimation(uint16 zone, uint16 sprite) { + uint16 oldCurSpriteId, oldCurZoneNum; VgaSleepStruct *vfs; VgaSprite *vsp; VgaTimerEntry *vte; const byte *vcPtrOrg; - old_sprite_id = _vgaCurSpriteId; - old_cur_file_id = _vgaCurZoneNum; + oldCurSpriteId = _vgaCurSpriteId; + oldCurZoneNum = _vgaCurZoneNum; vcPtrOrg = _vcPtr; _vgaCurZoneNum = zone; @@ -114,8 +117,8 @@ void AGOSEngine_Simon1::vcStopAnimation(uint zone, uint sprite) { } } - _vgaCurZoneNum = old_cur_file_id; - _vgaCurSpriteId = old_sprite_id; + _vgaCurZoneNum = oldCurZoneNum; + _vgaCurSpriteId = oldCurSpriteId; _vcPtr = vcPtrOrg; } -- cgit v1.2.3