aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2013-07-20 23:26:25 -0400
committerPaul Gilbert2013-07-20 23:26:25 -0400
commit472618ffffa2a16f7879c28d1e8aa5b3b3110f7c (patch)
treeb073027893034522311b038586d956284063a435 /engines
parent4e9e2f4feadebbe34b54bbd56b2d34f5a2e165ac (diff)
downloadscummvm-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.cpp2
-rw-r--r--engines/tsage/ringworld2/ringworld2_logic.cpp13
-rw-r--r--engines/tsage/ringworld2/ringworld2_scenes0.cpp4
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;
}