diff options
author | Sven Hesse | 2006-06-12 21:33:30 +0000 |
---|---|---|
committer | Sven Hesse | 2006-06-12 21:33:30 +0000 |
commit | 796b001b4f2184094beac0e7318d4fb70fca58e9 (patch) | |
tree | 6b41489eb920c51e9de260efc7886750bbb7dbcd /engines/gob/scenery_v1.cpp | |
parent | da64d9f72edf3094592f181f2992c4acff5e0a9d (diff) | |
download | scummvm-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.cpp | 27 |
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 |