aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agos/gfx.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/engines/agos/gfx.cpp b/engines/agos/gfx.cpp
index 3fb108b5d1..af397e6b3b 100644
--- a/engines/agos/gfx.cpp
+++ b/engines/agos/gfx.cpp
@@ -1049,8 +1049,10 @@ void AGOSEngine::animate(uint16 windowNum, uint16 zoneNum, uint16 vgaSpriteId, i
byte *p, *pp;
uint count;
- if (isSpriteLoaded(vgaSpriteId, zoneNum))
- return;
+ if (getGameType() != GType_PN && getGameType() != GType_ELVIRA1) {
+ if (isSpriteLoaded(vgaSpriteId, zoneNum))
+ return;
+ }
vsp = _vgaSprites;
while (vsp->id != 0)
@@ -1341,6 +1343,14 @@ void AGOSEngine::setWindowImage(uint16 mode, uint16 vgaSpriteId, bool specialCas
vte->delay = 2;
}
+ if (getGameType() == GType_PN) {
+ AnimTable *animTable = _screenAnim1;
+ while (animTable->srcPtr) {
+ animTable->srcPtr = 0;
+ animTable++;
+ }
+ }
+
if (getGameType() == GType_SIMON2 || getGameType() == GType_FF) {
_scrollX = 0;
_scrollY = 0;