diff options
author | Paul Gilbert | 2013-07-20 23:26:25 -0400 |
---|---|---|
committer | Paul Gilbert | 2013-07-20 23:26:25 -0400 |
commit | 472618ffffa2a16f7879c28d1e8aa5b3b3110f7c (patch) | |
tree | b073027893034522311b038586d956284063a435 /engines | |
parent | 4e9e2f4feadebbe34b54bbd56b2d34f5a2e165ac (diff) | |
download | scummvm-rg350-472618ffffa2a16f7879c28d1e8aa5b3b3110f7c.tar.gz scummvm-rg350-472618ffffa2a16f7879c28d1e8aa5b3b3110f7c.tar.bz2 scummvm-rg350-472618ffffa2a16f7879c28d1e8aa5b3b3110f7c.zip |
TSAGE: Bugfixes for R2R drive room
Diffstat (limited to 'engines')
-rw-r--r-- | engines/tsage/globals.cpp | 2 | ||||
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_logic.cpp | 13 | ||||
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_scenes0.cpp | 4 |
3 files changed, 11 insertions, 8 deletions
diff --git a/engines/tsage/globals.cpp b/engines/tsage/globals.cpp index 316fb588ca..5c4fa967e5 100644 --- a/engines/tsage/globals.cpp +++ b/engines/tsage/globals.cpp @@ -3,7 +3,7 @@ * ScummVM is the legal property of its developers, whose names * are too numerous to list here. Please refer to the COPYRIGHT * file distributed with this source distribution. - * + * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index c98d40edb5..70749f6883 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -676,11 +676,12 @@ void SceneHandlerExt::setupPaletteMaps() { } for (int palIndex = 0; palIndex < 224; ++palIndex) { - int r = palP[palIndex * 3] >> 2; - int g = palP[palIndex * 3 + 1] >> 2; - int b = palP[palIndex * 3 + 2] >> 2; + int r = palP[palIndex * 3] >> 4; + int g = palP[palIndex * 3 + 1] >> 4; + int b = palP[palIndex * 3 + 2] >> 4; int v = (r << 8) | (g << 4) | b; + assert(v < 0x1000); R2_GLOBALS._paletteMap[v] = palIndex; } @@ -973,8 +974,8 @@ bool Ringworld2InvObjectList::SelectItem(int objectNumber) { case R2_SENSOR_PROBE: if (R2_GLOBALS.getFlag(1)) SceneItem::display2(5, 1); - else if (R2_INVENTORY.getObjectScene(R2_SPENT_POWER_CAPSULE) == 100) - SceneItem::display(5, 3); + else if (R2_INVENTORY.getObjectScene(R2_SPENT_POWER_CAPSULE) != 100) + SceneItem::display2(5, 3); else { R2_GLOBALS._sound3.play(48); SceneItem::display2(5, 2); @@ -989,6 +990,8 @@ bool Ringworld2InvObjectList::SelectItem(int objectNumber) { SceneItem::display2(5, 8); else SceneItem::display2(5, 10); + + R2_GLOBALS._sound3.stop(); break; case R2_CHARGED_POWER_CAPSULE: if (R2_INVENTORY.getObjectScene(R2_SPENT_POWER_CAPSULE) == 1) { diff --git a/engines/tsage/ringworld2/ringworld2_scenes0.cpp b/engines/tsage/ringworld2/ringworld2_scenes0.cpp index 92e92ea578..8ccd94638b 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes0.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes0.cpp @@ -5364,7 +5364,7 @@ bool Scene600::Item4::startAction(CursorType action, Event &event) { return true; } - if (R2_GLOBALS.getFlag(5)) { + if (!R2_GLOBALS.getFlag(5)) { SceneItem::display(600, 30, SET_WIDTH, 280, SET_X, 160, SET_POS_MODE, ALIGN_CENTER, SET_Y, 20, SET_EXT_BGCOLOR, 7, LIST_END); return true; @@ -5382,7 +5382,7 @@ bool Scene600::Item4::startAction(CursorType action, Event &event) { scene->_actor2.postInit(); scene->_sceneMode = 612; - setAction(&scene->_sequenceManager1, this, 612, &scene->_actor3, &scene->_actor2, &R2_GLOBALS._player, NULL); + scene->setAction(&scene->_sequenceManager1, scene, 612, &scene->_actor3, &scene->_actor2, &R2_GLOBALS._player, NULL); return true; } |