aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/minigames/geisha/oko.cpp
diff options
context:
space:
mode:
authorSven Hesse2012-01-27 15:07:26 +0100
committerSven Hesse2012-01-27 15:07:26 +0100
commit0fd9abfe01d517c12b6855b6777a7e062ec1cc78 (patch)
tree1920164ff1789ef7b0fd7c0d04b63b6c44c3f092 /engines/gob/minigames/geisha/oko.cpp
parentcf45f49f72dba59c94ac4d2c0e1bcbebf1482b8f (diff)
downloadscummvm-rg350-0fd9abfe01d517c12b6855b6777a7e062ec1cc78.tar.gz
scummvm-rg350-0fd9abfe01d517c12b6855b6777a7e062ec1cc78.tar.bz2
scummvm-rg350-0fd9abfe01d517c12b6855b6777a7e062ec1cc78.zip
GOB: Play the correct animation when Oko's picking up pearls
Diffstat (limited to 'engines/gob/minigames/geisha/oko.cpp')
-rw-r--r--engines/gob/minigames/geisha/oko.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/engines/gob/minigames/geisha/oko.cpp b/engines/gob/minigames/geisha/oko.cpp
index e4cf32f5b2..5da1947acf 100644
--- a/engines/gob/minigames/geisha/oko.cpp
+++ b/engines/gob/minigames/geisha/oko.cpp
@@ -33,7 +33,8 @@ enum kOkoAnimation {
kOkoAnimationSwim = 1,
kOkoAnimationSink = 8,
kOkoAnimationRaise = 7,
- kOkoAnimationBreathe = 2
+ kOkoAnimationBreathe = 2,
+ kOkoAnimationPick = 3
};
static const int16 kOkoPositionX = 110;
@@ -78,6 +79,15 @@ void Oko::advance() {
}
break;
+ case kStatePick:
+ if (wasLastFrame) {
+ _level = 1;
+ setAnimation(kOkoAnimationSwim);
+ setPosition(kOkoPositionX, kLevelPositionX[_level]);
+ _state = kStateSwim;
+ }
+ break;
+
default:
break;
}
@@ -87,8 +97,11 @@ void Oko::sink() {
if (_state != kStateSwim)
return;
- if (_level >= (kLevelCount - 1))
+ if (_level >= (kLevelCount - 1)) {
+ setAnimation(kOkoAnimationPick);
+ _state = kStatePick;
return;
+ }
setAnimation(kOkoAnimationSink);
setPosition(kOkoPositionX, kLevelPositionX[_level]);