TSAGE: Bugfixes for R2R drive room

This commit is contained in:
Paul Gilbert 2013-07-20 23:26:25 -04:00
parent 4e9e2f4fea
commit 472618ffff
3 changed files with 11 additions and 8 deletions

View file

@ -676,11 +676,12 @@ void SceneHandlerExt::setupPaletteMaps() {
} }
for (int palIndex = 0; palIndex < 224; ++palIndex) { for (int palIndex = 0; palIndex < 224; ++palIndex) {
int r = palP[palIndex * 3] >> 2; int r = palP[palIndex * 3] >> 4;
int g = palP[palIndex * 3 + 1] >> 2; int g = palP[palIndex * 3 + 1] >> 4;
int b = palP[palIndex * 3 + 2] >> 2; int b = palP[palIndex * 3 + 2] >> 4;
int v = (r << 8) | (g << 4) | b; int v = (r << 8) | (g << 4) | b;
assert(v < 0x1000);
R2_GLOBALS._paletteMap[v] = palIndex; R2_GLOBALS._paletteMap[v] = palIndex;
} }
@ -973,8 +974,8 @@ bool Ringworld2InvObjectList::SelectItem(int objectNumber) {
case R2_SENSOR_PROBE: case R2_SENSOR_PROBE:
if (R2_GLOBALS.getFlag(1)) if (R2_GLOBALS.getFlag(1))
SceneItem::display2(5, 1); SceneItem::display2(5, 1);
else if (R2_INVENTORY.getObjectScene(R2_SPENT_POWER_CAPSULE) == 100) else if (R2_INVENTORY.getObjectScene(R2_SPENT_POWER_CAPSULE) != 100)
SceneItem::display(5, 3); SceneItem::display2(5, 3);
else { else {
R2_GLOBALS._sound3.play(48); R2_GLOBALS._sound3.play(48);
SceneItem::display2(5, 2); SceneItem::display2(5, 2);
@ -989,6 +990,8 @@ bool Ringworld2InvObjectList::SelectItem(int objectNumber) {
SceneItem::display2(5, 8); SceneItem::display2(5, 8);
else else
SceneItem::display2(5, 10); SceneItem::display2(5, 10);
R2_GLOBALS._sound3.stop();
break; break;
case R2_CHARGED_POWER_CAPSULE: case R2_CHARGED_POWER_CAPSULE:
if (R2_INVENTORY.getObjectScene(R2_SPENT_POWER_CAPSULE) == 1) { if (R2_INVENTORY.getObjectScene(R2_SPENT_POWER_CAPSULE) == 1) {

View file

@ -5364,7 +5364,7 @@ bool Scene600::Item4::startAction(CursorType action, Event &event) {
return true; 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, SceneItem::display(600, 30, SET_WIDTH, 280, SET_X, 160, SET_POS_MODE, ALIGN_CENTER,
SET_Y, 20, SET_EXT_BGCOLOR, 7, LIST_END); SET_Y, 20, SET_EXT_BGCOLOR, 7, LIST_END);
return true; return true;
@ -5382,7 +5382,7 @@ bool Scene600::Item4::startAction(CursorType action, Event &event) {
scene->_actor2.postInit(); scene->_actor2.postInit();
scene->_sceneMode = 612; 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; return true;
} }