aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/scenery_v1.cpp
diff options
context:
space:
mode:
authorSven Hesse2006-06-12 21:33:30 +0000
committerSven Hesse2006-06-12 21:33:30 +0000
commit796b001b4f2184094beac0e7318d4fb70fca58e9 (patch)
tree6b41489eb920c51e9de260efc7886750bbb7dbcd /engines/gob/scenery_v1.cpp
parentda64d9f72edf3094592f181f2992c4acff5e0a9d (diff)
downloadscummvm-rg350-796b001b4f2184094beac0e7318d4fb70fca58e9.tar.gz
scummvm-rg350-796b001b4f2184094beac0e7318d4fb70fca58e9.tar.bz2
scummvm-rg350-796b001b4f2184094beac0e7318d4fb70fca58e9.zip
Fixing loading of Scenery::_animations[] + small gob2 cleanup
svn-id: r23066
Diffstat (limited to 'engines/gob/scenery_v1.cpp')
-rw-r--r--engines/gob/scenery_v1.cpp27
1 files changed, 14 insertions, 13 deletions
diff --git a/engines/gob/scenery_v1.cpp b/engines/gob/scenery_v1.cpp
index 7904f0e3c4..a46b0faaea 100644
--- a/engines/gob/scenery_v1.cpp
+++ b/engines/gob/scenery_v1.cpp
@@ -43,11 +43,12 @@ void Scenery_v1::updateAnim(int16 layer, int16 frame, int16 animation, int16 fla
int16 drawDeltaX, int16 drawDeltaY, char doDraw) {
AnimLayer *layerPtr;
PieceDesc **pictPtr;
- AnimFramePiece *framePtr;
uint16 pieceIndex;
uint16 pictIndex;
+ int16 curFrame;
+
int16 left;
int16 right;
int16 top;
@@ -65,7 +66,7 @@ void Scenery_v1::updateAnim(int16 layer, int16 frame, int16 animation, int16 fla
if (layer >= _animations[animation].layersCount)
return;
- layerPtr = _animations[animation].layers[layer];
+ layerPtr = &_animations[animation].layers[layer];
if (frame >= layerPtr->framesCount)
return;
@@ -85,11 +86,11 @@ void Scenery_v1::updateAnim(int16 layer, int16 frame, int16 animation, int16 fla
*_pCaptureCounter = *_pCaptureCounter + 1;
}
pictPtr = _animations[animation].pieces;
- framePtr = layerPtr->frames;
+ curFrame = 0;
- for (i = 0; i < frame; i++, framePtr++) {
- while (framePtr->notFinal == 1)
- framePtr++;
+ for (i = 0; i < frame; i++, curFrame++) {
+ while (layerPtr->frames[curFrame].notFinal == 1)
+ curFrame++;
}
if ((flags & 4) == 0) {
@@ -109,15 +110,15 @@ void Scenery_v1::updateAnim(int16 layer, int16 frame, int16 animation, int16 fla
transp = layerPtr->transp ? 3 : 0;
- framePtr--;
+ curFrame--;
do {
- framePtr++;
+ curFrame++;
- pieceIndex = framePtr->pieceIndex;
- pictIndex = framePtr->pictIndex;
+ pieceIndex = layerPtr->frames[curFrame].pieceIndex;
+ pictIndex = layerPtr->frames[curFrame].pictIndex;
- destX = framePtr->destX;
- destY = framePtr->destY;
+ destX = layerPtr->frames[curFrame].destX;
+ destY = layerPtr->frames[curFrame].destY;
highX = pictIndex & 0xc0;
highY = pictIndex & 0x30;
@@ -238,7 +239,7 @@ void Scenery_v1::updateAnim(int16 layer, int16 frame, int16 animation, int16 fla
(int16)(destY + bottom - top));
}
}
- } while (framePtr->notFinal == 1);
+ } while (layerPtr->frames[curFrame].notFinal == 1);
}
} // End of namespace Gob