aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_v2.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2008-03-18 17:00:26 +0000
committerJohannes Schickel2008-03-18 17:00:26 +0000
commit83390027c2b594f42165777610fbb14ee01eea17 (patch)
tree9cf1f0b97ea2a68fd24bd385094d1aed1e4aa9b3 /engines/kyra/kyra_v2.cpp
parent2af4fc103499236cf79c7cfafeaaa622ea63e7cd (diff)
downloadscummvm-rg350-83390027c2b594f42165777610fbb14ee01eea17.tar.gz
scummvm-rg350-83390027c2b594f42165777610fbb14ee01eea17.tar.bz2
scummvm-rg350-83390027c2b594f42165777610fbb14ee01eea17.zip
- Implemented opcodes:
-> 12: o2_setCharacterFacing -> 14: o2_moveCharacter -> 61: o2_loadZShapes -> 83: o2_setPathfinderFlag -> 90: o2_setSceneAnimPos -> 160: o2_updateTwoSceneAnims - Implemented dino riding sequence - Fixed bug in KyraEngine_v2::initSceneScreen which caused some gfx glitches svn-id: r31183
Diffstat (limited to 'engines/kyra/kyra_v2.cpp')
-rw-r--r--engines/kyra/kyra_v2.cpp45
1 files changed, 41 insertions, 4 deletions
diff --git a/engines/kyra/kyra_v2.cpp b/engines/kyra/kyra_v2.cpp
index 01c9c21a7b..b009b31f0f 100644
--- a/engines/kyra/kyra_v2.cpp
+++ b/engines/kyra/kyra_v2.cpp
@@ -397,10 +397,10 @@ void KyraEngine_v2::runLoop() {
if (_system->getMillis() > _nextIdleAnim)
showIdleAnim();
- //if (queryGameFlag(0x159) {
- // sub_C86A();
- // resetGameFlag(0x159);
- //}
+ if (queryGameFlag(0x159)) {
+ dinoRide();
+ resetGameFlag(0x159);
+ }
if (queryGameFlag(0x124) && !queryGameFlag(0x125)) {
_mainCharacter.animFrame = 32;
@@ -2134,6 +2134,43 @@ void KyraEngine_v2::listItemsInCauldron() {
#pragma mark -
+void KyraEngine_v2::dinoRide() {
+ _mainCharX = _mainCharY = -1;
+
+ setGameFlag(0x15A);
+ enterNewScene(41, -1, 0, 0, 0);
+ resetGameFlag(0x15A);
+
+ setGameFlag(0x15B);
+ enterNewScene(39, -1, 0, 0, 0);
+ resetGameFlag(0x15B);
+
+ setGameFlag(0x16F);
+
+ setGameFlag(0x15C);
+ enterNewScene(42, -1, 0, 0, 0);
+ resetGameFlag(0x15C);
+
+ setGameFlag(0x15D);
+ enterNewScene(39, -1, 0, 0, 0);
+ resetGameFlag(0x15D);
+
+ setGameFlag(0x15E);
+ enterNewScene(40, -1, 0, 0, 0);
+ resetGameFlag(0x15E);
+
+ _mainCharX = 262;
+ _mainCharY = 28;
+ _mainCharacter.facing = 5;
+ _mainCharacter.animFrame = _characterFrameTable[5];
+ enterNewScene(39, 4, 0, 0, 0);
+ setHandItem(0x61);
+ _screen->showMouse();
+ resetGameFlag(0x159);
+}
+
+#pragma mark -
+
void KyraEngine_v2::registerDefaultSettings() {
KyraEngine::registerDefaultSettings();