aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/ringworld_scenes6.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tsage/ringworld_scenes6.cpp')
-rw-r--r--engines/tsage/ringworld_scenes6.cpp173
1 files changed, 94 insertions, 79 deletions
diff --git a/engines/tsage/ringworld_scenes6.cpp b/engines/tsage/ringworld_scenes6.cpp
index 3ea4d7b279..973104a952 100644
--- a/engines/tsage/ringworld_scenes6.cpp
+++ b/engines/tsage/ringworld_scenes6.cpp
@@ -36,6 +36,7 @@ namespace tSage {
*--------------------------------------------------------------------------*/
void Scene5000::Action1::signal() {
+ // Ship landing
Scene5000 *scene = (Scene5000 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -127,7 +128,7 @@ void Scene5000::Action2::signal() {
case 2:
if (!_globals->getFlag(59))
setAction(&scene->_action3, this);
- _globals->_player.setPriority2(15);
+ _globals->_player.fixPriority(15);
ADD_MOVER(_globals->_player, 208, 100);
break;
case 3:
@@ -145,7 +146,7 @@ void Scene5000::Action2::signal() {
break;
case 7:
_globals->_player.changeZoom(-1);
- _globals->_player.setPriority2(35);
+ _globals->_player.fixPriority(35);
ADD_MOVER(_globals->_player, 201, 166);
break;
case 8:
@@ -154,7 +155,7 @@ void Scene5000::Action2::signal() {
break;
case 9:
_globals->_player.changeZoom(-1);
- _globals->_player.setPriority2(50);
+ _globals->_player.fixPriority(50);
ADD_MOVER(_globals->_player, 220, 182);
break;
case 10:
@@ -164,7 +165,7 @@ void Scene5000::Action2::signal() {
case 11:
_globals->_player.changeZoom(-1);
_globals->_player.setStrip2(-1);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
ADD_MOVER(_globals->_player, 208, 175);
break;
case 12:
@@ -200,7 +201,7 @@ void Scene5000::Action3::signal() {
scene->_hotspot7.setPosition(Common::Point(217, 76));
scene->_hotspot7.changeZoom(10);
scene->_hotspot7.setStrip2(3);
- scene->_hotspot7.setPriority2(200);
+ scene->_hotspot7.fixPriority(200);
scene->_hotspot7._moveDiff.y = 2;
scene->_hotspot7.animate(ANIM_MODE_1, NULL);
ADD_MOVER(scene->_hotspot7, 214, 89);
@@ -209,14 +210,14 @@ void Scene5000::Action3::signal() {
break;
case 2:
scene->_hotspot7.changeZoom(-1);
- scene->_hotspot7.setPriority2(14);
+ scene->_hotspot7.fixPriority(14);
ADD_MOVER(scene->_hotspot7, 208, 100);
break;
case 3:
ADD_MOVER(scene->_hotspot7, 213, 98);
break;
case 4:
- scene->_hotspot7.setPriority2(19);
+ scene->_hotspot7.fixPriority(19);
ADD_MOVER(scene->_hotspot7, 213, 98);
break;
case 5:
@@ -228,7 +229,7 @@ void Scene5000::Action3::signal() {
break;
case 7:
scene->_hotspot7.changeZoom(-1);
- scene->_hotspot7.setPriority2(34);
+ scene->_hotspot7.fixPriority(34);
ADD_MOVER(scene->_hotspot7, 201, 166);
break;
case 8:
@@ -237,7 +238,7 @@ void Scene5000::Action3::signal() {
break;
case 9:
scene->_hotspot7.changeZoom(-1);
- scene->_hotspot7.setPriority2(49);
+ scene->_hotspot7.fixPriority(49);
ADD_MOVER(scene->_hotspot7, 210, 182);
break;
case 10:
@@ -247,7 +248,7 @@ void Scene5000::Action3::signal() {
case 11:
scene->_hotspot7.changeZoom(-1);
scene->_hotspot7.setStrip2(-1);
- scene->_hotspot7.setPriority2(-1);
+ scene->_hotspot7.fixPriority(-1);
ADD_MOVER(scene->_hotspot7, 175, 166);
break;
case 12:
@@ -268,7 +269,7 @@ void Scene5000::Action4::signal() {
setDelay(1);
break;
case 1:
- _globals->_player.setPriority2(50);
+ _globals->_player.fixPriority(50);
_globals->_player.setStrip2(4);
ADD_MOVER(_globals->_player, 210, 182);
break;
@@ -276,14 +277,14 @@ void Scene5000::Action4::signal() {
ADD_MOVER(_globals->_player, 205, 146);
break;
case 3:
- _globals->_player.setPriority2(35);
+ _globals->_player.fixPriority(35);
ADD_MOVER(_globals->_player, 201, 166);
break;
case 4:
ADD_MOVER(_globals->_player, 229, 115);
break;
case 5:
- _globals->_player.setPriority2(20);
+ _globals->_player.fixPriority(20);
_globals->_player.changeZoom(47);
ADD_MOVER(_globals->_player, 220, 125);
break;
@@ -295,7 +296,7 @@ void Scene5000::Action4::signal() {
ADD_MOVER(_globals->_player, 213, 98);
break;
case 8:
- _globals->_player.setPriority2(15);
+ _globals->_player.fixPriority(15);
ADD_MOVER(_globals->_player, 208, 100);
break;
case 9:
@@ -345,6 +346,7 @@ void Scene5000::Action5::signal() {
}
void Scene5000::Action6::signal() {
+ // Discussion between the hero and Seeker, then the hero goes back to the lander
Scene5000 *scene = (Scene5000 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -364,7 +366,7 @@ void Scene5000::Action6::signal() {
ADD_PLAYER_MOVER(208, 163);
break;
case 4:
- _globals->_player.setPriority2(50);
+ _globals->_player.fixPriority(50);
_globals->_player.setStrip2(4);
ADD_MOVER(_globals->_player, 210, 182);
break;
@@ -384,7 +386,7 @@ void Scene5000::Hotspot7::doAction(int action) {
SceneItem::display2(5000, 12);
break;
case CURSOR_TALK:
- setAction(&scene->_action6);
+ scene->setAction(&scene->_action6);
break;
default:
SceneHotspot::doAction(action);
@@ -393,6 +395,7 @@ void Scene5000::Hotspot7::doAction(int action) {
}
void Scene5000::Hotspot8::doAction(int action) {
+ // Cave
Scene5000 *scene = (Scene5000 *)_globals->_sceneManager._scene;
switch (action) {
@@ -403,7 +406,7 @@ void Scene5000::Hotspot8::doAction(int action) {
SceneItem::display2(5000, 14);
break;
case OBJECT_SCANNER:
- setAction(&scene->_action5);
+ scene->setAction(&scene->_action5);
break;
default:
SceneHotspot::doAction(action);
@@ -455,14 +458,14 @@ void Scene5000::postInit(SceneObjectList *OwnerList) {
_hotspot1.setVisage(5001);
_hotspot1.setFrame2(1);
_hotspot1._moveDiff = Common::Point(5, 5);
- _hotspot1.setPriority2(10);
+ _hotspot1.fixPriority(10);
_hotspot1.changeZoom(10);
_hotspot4.postInit();
_hotspot4.setVisage(5001);
_hotspot4.setStrip2(2);
_hotspot4._moveDiff = Common::Point(5, 1);
- _hotspot4.setPriority2(10);
+ _hotspot4.fixPriority(10);
_hotspot4.changeZoom(100);
_hotspot4.animate(ANIM_MODE_8, 0, NULL);
_hotspot4.hide();
@@ -484,13 +487,13 @@ void Scene5000::postInit(SceneObjectList *OwnerList) {
_hotspot5.setVisage(5001);
_hotspot5.setStrip2(4);
_hotspot5._numFrames = 5;
- _hotspot5.setPriority2(15);
+ _hotspot5.fixPriority(15);
_hotspot5.setPosition(Common::Point(218, 76));
_hotspot5.hide();
_hotspot9.postInit();
_hotspot9.setVisage(5002);
- _hotspot9.setPriority2(80);
+ _hotspot9.fixPriority(80);
_hotspot9.setPosition(Common::Point(71, 174));
_hotspot10.postInit();
@@ -512,7 +515,7 @@ void Scene5000::postInit(SceneObjectList *OwnerList) {
_hotspot13.setBounds(Rect(0, 164, 135, 200));
_hotspot14.setBounds(Rect(0, 0, 105, 140));
_hotspot15.setBounds(Rect(266, 70, 291, 85));
- _hotspot16.setBounds(Rect(0, 86, 3219, 200));
+ _hotspot16.setBounds(Rect(0, 86, 319, 200));
_hotspot12.setBounds(Rect(230, 143, 244, 150));
_globals->_sceneItems.addItems(&_hotspot9, &_hotspot10, &_hotspot11, &_hotspot8, &_hotspot13,
@@ -644,7 +647,7 @@ void Scene5100::Action1::signal() {
scene->_hotspot5.setPosition(Common::Point(1160, 34));
scene->_hotspot5.setStrip2(2);
scene->_hotspot5.animate(ANIM_MODE_1, NULL);
- scene->_hotspot5.setPriority2(10);
+ scene->_hotspot5.fixPriority(10);
_globals->_sceneItems.push_front(&scene->_hotspot5);
ADD_MOVER(scene->_hotspot5, 999, 14);
@@ -689,9 +692,9 @@ void Scene5100::Action2::signal() {
break;
case 3:
if (_globals->_player._position.x >= 966) {
- ADD_PLAYER_MOVER(1215, 155);
+ ADD_PLAYER_MOVER_NULL(scene->_hotspot8, 1215, 155);
} else {
- ADD_PLAYER_MOVER_THIS(scene->_hotspot8, 966, 185);
+ ADD_PLAYER_MOVER_NULL(scene->_hotspot8, 966, 185);
}
if (_globals->_player._position.x >= 966) {
@@ -701,7 +704,7 @@ void Scene5100::Action2::signal() {
}
break;
case 4:
- ADD_PLAYER_MOVER_THIS(scene->_hotspot8, 1215, 155);
+ ADD_PLAYER_MOVER_NULL(scene->_hotspot8, 1215, 155);
ADD_PLAYER_MOVER(1215, 155);
break;
case 5:
@@ -829,6 +832,7 @@ void Scene5100::Action5::signal() {
/*--------------------------------------------------------------------------*/
void Scene5100::HotspotGroup1::doAction(int action) {
+ // Flesh Eaters
Scene5100 *scene = (Scene5100 *)_globals->_sceneManager._scene;
switch (action) {
@@ -881,11 +885,12 @@ void Scene5100::Hotspot4::doAction(int action) {
}
void Scene5100::HotspotGroup2::doAction(int action) {
+ // Bat
Scene5100 *scene = (Scene5100 *)_globals->_sceneManager._scene;
switch (action) {
case CURSOR_LOOK:
- SceneItem::display2(5100, _globals->getFlag(62) ? 47 : 23);
+ SceneItem::display2(5100, _globals->getFlag(108) ? 47 : 23);
break;
case CURSOR_USE:
SceneItem::display2(5100, 29);
@@ -909,6 +914,7 @@ void Scene5100::HotspotGroup2::doAction(int action) {
}
void Scene5100::Hotspot9::doAction(int action) {
+ // Rope
Scene5100 *scene = (Scene5100 *)_globals->_sceneManager._scene;
switch (action) {
@@ -929,7 +935,7 @@ void Scene5100::Hotspot9::doAction(int action) {
case OBJECT_BONE:
_globals->_player.disableControl();
scene->_sceneMode = 5116;
- scene->setAction(&scene->_sequenceManager, scene, 5116, &_globals->_player, &scene->_hotspot10,
+ scene->setAction(&scene->_sequenceManager, scene, 5116, &_globals->_player, this, &scene->_hotspot10,
&scene->_hotspot4, NULL);
break;
default:
@@ -1004,6 +1010,7 @@ void Scene5100::Hotspot18::doAction(int action) {
}
void Scene5100::Hotspot19::doAction(int action) {
+ // Pillar
Scene5100 *scene = (Scene5100 *)_globals->_sceneManager._scene;
switch (action) {
@@ -1082,14 +1089,14 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
_hotspot14.postInit();
_hotspot14.setVisage(5101);
_hotspot14.setPosition(Common::Point(498, 147));
- _hotspot14.setPriority2(200);
+ _hotspot14.fixPriority(200);
_hotspot14._moveDiff.y = 10;
}
_hotspot17.postInit();
_hotspot17.setVisage(5101);
_hotspot17._strip = 2;
- _hotspot17.setPriority2(200);
+ _hotspot17.fixPriority(200);
if (_globals->getFlag(67))
_hotspot17.setPosition(Common::Point(554, 192));
@@ -1158,7 +1165,7 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
}
}
- if (_globals->getFlag(60) && (_globals->_inventory._stasisBox._sceneNumber == 1) &&
+ if (_globals->getFlag(60) && (RING_INVENTORY._stasisBox._sceneNumber == 1) &&
_globals->getFlag(107) && _globals->getFlag(67)) {
_hotspot8.postInit();
_hotspot8.setVisage(2806);
@@ -1178,7 +1185,7 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
case 5200:
if (_globals->_stripNum == 5200) {
_globals->_player.setVisage(5101);
- _globals->_player.setPriority2(200);
+ _globals->_player.fixPriority(200);
_globals->_player.setStrip(5);
_globals->_player.setFrame(1);
_globals->_player.setPosition(Common::Point(513, 199));
@@ -1227,7 +1234,7 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
_globals->_player.setVisage(5101);
_globals->_player.setStrip(6);
- _globals->_player.setPriority2(170);
+ _globals->_player.fixPriority(170);
_globals->_player.setPosition(Common::Point(1168, 110));
setAction(&_sequenceManager, this, 5111, &_globals->_player, NULL);
@@ -1256,11 +1263,11 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
_hotspot6.setStrip(6);
_hotspot6.setFrame(1);
_globals->_sceneItems.push_back(&_hotspot6);
- } else if (_globals->_inventory._vial._sceneNumber != 5100) {
+ } else if (RING_INVENTORY._vial._sceneNumber != 5100) {
_hotspot6.postInit();
_hotspot6.setVisage(5362);
_hotspot6.setPosition(Common::Point(1152, 70));
- _hotspot6.setPriority2(170);
+ _hotspot6.fixPriority(170);
_hotspot6.setStrip(6);
_hotspot6.setFrame(1);
_globals->_sceneItems.push_back(&_hotspot6);
@@ -1275,9 +1282,9 @@ void Scene5100::postInit(SceneObjectList *OwnerList) {
_hotspot15.setVisage(5140);
_hotspot15.setStrip(3);
_hotspot15.setPosition(Common::Point(977, 173));
- _hotspot15.setPriority2(1);
+ _hotspot15.fixPriority(1);
- _globals->_sceneManager._scene->_sceneBounds.centre(_globals->_player._position);
+ _globals->_sceneManager._scene->_sceneBounds.center(_globals->_player._position);
loadScene(5100);
_globals->_soundHandler.startSound(205);
}
@@ -1312,7 +1319,7 @@ void Scene5100::signal() {
case 5108:
if (!_globals->getFlag(60))
_globals->_player.enableControl();
- else if (_globals->_inventory._stasisBox._sceneNumber == 1)
+ else if (RING_INVENTORY._stasisBox._sceneNumber == 1)
setAction(&_action2);
else
setAction(&_action5);
@@ -1324,12 +1331,12 @@ void Scene5100::signal() {
break;
case 5111:
_globals->_player.setObjectWrapper(new SceneObjectWrapper());
- _globals->_player.setVisage(6);
+ _globals->_player.setVisage(0);
_globals->_player.setStrip(6);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.animate(ANIM_MODE_1, NULL);
- if ((_globals->_inventory._vial._sceneNumber != 5100) && !_globals->getFlag(108)) {
+ if ((RING_INVENTORY._vial._sceneNumber != 5100) && !_globals->getFlag(108)) {
_globals->setFlag(108);
_sceneMode = 5130;
_globals->_player.disableControl();
@@ -1344,14 +1351,14 @@ void Scene5100::signal() {
break;
case 5116:
_globals->setFlag(105);
- _globals->_inventory._bone._sceneNumber = 0;
+ RING_INVENTORY._bone._sceneNumber = 0;
_globals->_player.setObjectWrapper(new SceneObjectWrapper());
_globals->_player.setVisage(0);
_globals->_player.setStrip(6);
- _globals->_player.setPriority2(-1);
+ _globals->_player.fixPriority(-1);
_globals->_player.animate(ANIM_MODE_1, NULL);
- break;
+ // No break on purpose
case 5117:
_globals->_player.enableControl();
break;
@@ -1370,6 +1377,7 @@ void Scene5100::signal() {
}
void Scene5100::dispatch() {
+ // Flesheater trap
if (_hotspot15._bounds.contains(_globals->_player._position) && !_globals->_player._visage) {
_globals->_player.disableControl();
_globals->_player.addMover(NULL);
@@ -1388,7 +1396,7 @@ void Scene5100::dispatch() {
_sceneMode = 5150;
_soundHandler.startSound(208);
- if (_globals->_inventory._vial._sceneNumber == 5100) {
+ if (RING_INVENTORY._vial._sceneNumber == 5100) {
_globals->_player.addMover(NULL);
_globals->_player.disableControl();
SceneItem::display2(5100, 39);
@@ -1398,9 +1406,9 @@ void Scene5100::dispatch() {
_hotspot3.setStrip2(2);
ObjectMover3 *mover1 = new ObjectMover3();
- _hotspot2.addMover(mover1, 20, this);
+ _hotspot2.addMover(mover1, &_globals->_player, 20, this);
ObjectMover3 *mover2 = new ObjectMover3();
- _hotspot3.addMover(mover2, 20, this);
+ _hotspot3.addMover(mover2, &_globals->_player, 20, this);
}
if (!_action) {
@@ -1408,8 +1416,9 @@ void Scene5100::dispatch() {
_globals->_player._canWalk = false;
_globals->_player.addMover(NULL);
+ Common::Point pt(20, 25);
PlayerMover2 *mover = new PlayerMover2();
- _hotspot3.addMover(mover, 20, 25, &_globals->_player);
+ _hotspot3.addMover(mover, &pt, &_globals->_player);
setAction(&_action4);
}
@@ -1445,6 +1454,7 @@ void Scene5200::Action1::signal() {
}
void Scene5200::Action2::signal() {
+ // Quinn obtains the stasis box from the flesheater throne room
Scene5200 *scene = (Scene5200 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
@@ -1462,7 +1472,7 @@ void Scene5200::Action2::signal() {
scene->_soundHandler.proc3();
scene->_hotspot14.remove();
- _globals->_inventory._stasisBox._sceneNumber = 1;
+ RING_INVENTORY._stasisBox._sceneNumber = 1;
_globals->_player.animate(ANIM_MODE_5, this);
break;
case 3:
@@ -1489,6 +1499,7 @@ void Scene5200::Action2::signal() {
void Scene5200::Action3::signal() {
switch (_actionIndex++) {
+ case 0:
_globals->_player.disableControl();
setDelay(5);
break;
@@ -1563,7 +1574,7 @@ void Scene5200::Hotspot10::doAction(int action) {
}
break;
default:
- SceneItem::doAction(action);
+ SceneObject::doAction(action);
break;
}
}
@@ -1578,9 +1589,6 @@ void Scene5200::Hotspot14::doAction(int action) {
case CURSOR_USE:
scene->setAction(&scene->_action2);
break;
- default:
- SceneItem::doAction(action);
- break;
}
}
@@ -1611,7 +1619,7 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
_speakerFLText._textPos.x = 160;
_speakerQText._textPos.x = 20;
- if (_globals->_inventory._stasisBox._sceneNumber == 5200) {
+ if (RING_INVENTORY._stasisBox._sceneNumber == 5200) {
_soundHandler.startSound(216);
_soundHandler.proc5(true);
@@ -1619,17 +1627,20 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
_hotspot14.setVisage(5202);
_hotspot14._strip = 3;
_hotspot14.setPosition(Common::Point(105, 52));
- _hotspot14.setPriority2(90);
+ _hotspot14.fixPriority(90);
_hotspot8.postInit();
_hotspot8.setVisage(5202);
_hotspot8._strip = 1;
_hotspot8.setPosition(Common::Point(96, 53));
- _hotspot8.setPriority2(90);
+ _hotspot8.fixPriority(90);
_globals->_sceneItems.push_back(&_hotspot14);
}
- if (_globals->_stripNum == 1111) {
+ if (_globals->_stripNum == 5111) {
+ // Happens when the player enters the throne room via the secret passage,
+ // after talking with the bat. No NPCs are around and the player can
+ // obtain the stasis box.
_globals->_soundHandler.startSound(205);
_globals->_player.disableControl();
@@ -1644,6 +1655,7 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
setAction(&_action3);
} else {
+ // Happens when the player is captured by the flesh eaters the first time.
_globals->_player.postInit();
_globals->_player.setVisage(2640);
_globals->_player._strip = 1;
@@ -1665,7 +1677,7 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
_hotspot7.setVisage(5210);
_hotspot7._frame = 1;
_hotspot7._strip = 4;
- _hotspot7.setPriority2(168);
+ _hotspot7.fixPriority(168);
_hotspot7.setPosition(Common::Point(186, 106));
_hotspot1.postInit();
@@ -1677,20 +1689,20 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
_hotspot2.setVisage(5212);
_hotspot2._strip = 3;
_hotspot2.setPosition(Common::Point(148, 141));
- _hotspot2.setPriority2(90);
+ _hotspot2.fixPriority(90);
_hotspot3.postInit();
_hotspot3.setVisage(5212);
_hotspot3._strip = 2;
_hotspot3.setPosition(Common::Point(62, 109));
- _hotspot3.setPriority2(138);
+ _hotspot3.fixPriority(138);
_hotspot3.setAction(&_action1);
_hotspot4.postInit();
_hotspot4.setVisage(5212);
_hotspot4._strip = 4;
_hotspot4.setPosition(Common::Point(146, 110));
- _hotspot4.setPriority2(90);
+ _hotspot4.fixPriority(90);
_globals->_player.disableControl();
_globals->setFlag(61);
@@ -1701,9 +1713,11 @@ void Scene5200::postInit(SceneObjectList *OwnerList) {
_hotspot11.setBounds(Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT));
_hotspot9._sceneRegionId = 11;
_hotspot10._sceneRegionId = 9;
+ _hotspot12._sceneRegionId = 10;
+ _hotspot13._sceneRegionId = 8;
_globals->_sceneItems.addItems(&_hotspot12, &_hotspot13, &_hotspot9, &_hotspot10, &_hotspot11, NULL);
- _globals->_sceneManager._scene->_sceneBounds.centre(_globals->_player._position);
+ _globals->_sceneManager._scene->_sceneBounds.center(_globals->_player._position);
loadScene(5200);
}
@@ -1754,7 +1768,7 @@ void Scene5300::Action1::signal() {
ADD_MOVER(_globals->_player, 85, 170);
break;
case 3:
- scene->_hotspot2.setPriority2(-1);
+ scene->_hotspot2.fixPriority(-1);
_globals->_player.checkAngle(&scene->_hotspot2);
setAction(&scene->_sequenceManager, this, 5305, &scene->_hotspot2, NULL);
break;
@@ -1762,7 +1776,7 @@ void Scene5300::Action1::signal() {
scene->_stripManager.start(5316, this);
break;
case 5:
- if (!_globals->getFlag(106) || !_globals->getFlag(107) || (_globals->_inventory._stasisBox._sceneNumber != 1)) {
+ if (!_globals->getFlag(106) || !_globals->getFlag(107) || (RING_INVENTORY._stasisBox._sceneNumber != 1)) {
_globals->_player.enableControl();
remove();
} else {
@@ -1793,7 +1807,7 @@ void Scene5300::Action2::signal() {
scene->_stripManager.start(5328, this);
break;
case 2:
- if (_globals->_inventory._stasisBox._sceneNumber == 1) {
+ if (RING_INVENTORY._stasisBox._sceneNumber == 1) {
_globals->_stripNum = 5303;
setDelay(5);
} else {
@@ -1871,7 +1885,7 @@ void Scene5300::Hotspot2::doAction(int action) {
} else {
_globals->_player.disableControl();
- if (_globals->_inventory._stasisBox._sceneNumber != 1) {
+ if (RING_INVENTORY._stasisBox._sceneNumber != 1) {
scene->setAction(&scene->_sequenceManager, scene, 5316, NULL);
} else {
_globals->setFlag(60);
@@ -1898,7 +1912,7 @@ void Scene5300::Hotspot2::doAction(int action) {
if (_globals->getFlag(107)) {
SceneItem::display2(5300, 8);
} else {
- _globals->_inventory._vial._sceneNumber = 5300;
+ RING_INVENTORY._vial._sceneNumber = 5300;
_globals->setFlag(107);
_globals->_player.disableControl();
scene->_sceneMode = 5304;
@@ -1920,7 +1934,7 @@ void Scene5300::Hotspot5::doAction(int action) {
SceneItem::display2(5300, 27);
break;
case CURSOR_USE:
- _globals->_inventory._bone._sceneNumber = 1;
+ RING_INVENTORY._bone._sceneNumber = 1;
_globals->_player.disableControl();
scene->_sceneMode = 5309;
@@ -1933,24 +1947,25 @@ void Scene5300::Hotspot5::doAction(int action) {
}
void Scene5300::Hotspot6::doAction(int action) {
+ // Left Hole
Scene5300 *scene = (Scene5300 *)_globals->_sceneManager._scene;
switch (action) {
case CURSOR_LOOK:
- if (!_globals->getFlag(105) || (_globals->_inventory._vial._sceneNumber == 1))
+ if (!_globals->getFlag(105) || (RING_INVENTORY._vial._sceneNumber == 1))
SceneItem::display2(5300, 4);
else
SceneItem::display2(5300, 26);
break;
case CURSOR_USE:
- if (!_globals->getFlag(105) || (_globals->_inventory._vial._sceneNumber != 5100)) {
+ if (!_globals->getFlag(105) || (RING_INVENTORY._vial._sceneNumber != 5100)) {
_globals->_player.disableControl();
scene->_sceneMode = 5301;
scene->setAction(&scene->_sequenceManager, scene, 5301, &_globals->_player, NULL);
} else {
_globals->_player.disableControl();
scene->_sceneMode = 5307;
- _globals->_inventory._vial._sceneNumber = 1;
+ RING_INVENTORY._vial._sceneNumber = 1;
scene->setAction(&scene->_sequenceManager, scene, 5307, &scene->_hotspot1, &_globals->_player,
&scene->_hotspot4, NULL);
@@ -2033,7 +2048,7 @@ void Scene5300::postInit(SceneObjectList *OwnerList) {
_hotspot2.setVisage(5310);
_hotspot2.setPosition(Common::Point(63, 170));
_hotspot2.animate(ANIM_MODE_1, NULL);
- _hotspot2.setPriority2(98);
+ _hotspot2.fixPriority(98);
}
_hotspot1.postInit();
@@ -2075,7 +2090,7 @@ void Scene5300::postInit(SceneObjectList *OwnerList) {
_hotspot3.postInit();
_hotspot3.setVisage(5301);
_hotspot3.setPosition(Common::Point(172, 32));
- _hotspot3.setPriority2(1);
+ _hotspot3.fixPriority(1);
_hotspot3.animate(ANIM_MODE_NONE, NULL);
_globals->_player.postInit();
@@ -2091,7 +2106,7 @@ void Scene5300::postInit(SceneObjectList *OwnerList) {
}
_field1B0A = 1;
- if (_globals->_inventory._bone._sceneNumber == 5300) {
+ if (RING_INVENTORY._bone._sceneNumber == 5300) {
_hotspot5.postInit();
_hotspot5.setVisage(5301);
_hotspot5.setStrip(2);
@@ -2113,6 +2128,9 @@ void Scene5300::signal() {
_globals->_stripNum = 5300;
_globals->_sceneManager.changeScene(5100);
break;
+ case 5307:
+ _soundHandler.proc1(NULL);
+ // No break on purpose
case 5302:
case 5308:
case 5316:
@@ -2143,21 +2161,18 @@ void Scene5300::signal() {
_globals->clearFlag(67);
_globals->_player.setStrip2(-1);
- if ((_globals->_inventory._vial._sceneNumber == 1) || (_globals->_inventory._vial._sceneNumber == 5300))
+ if ((RING_INVENTORY._vial._sceneNumber == 1) || (RING_INVENTORY._vial._sceneNumber == 5300))
_stripManager.start(5303, this);
else
_stripManager.start(5302, this);
_sceneMode = 5302;
break;
- case 5307:
- _soundHandler.proc1(NULL);
- break;
case 5309:
_hotspot5.remove();
_globals->_player.enableControl();
break;
case 5310:
- _hotspot2.setPriority2(41);
+ _hotspot2.fixPriority(41);
_sceneMode = 5315;
setAction(&_sequenceManager, this, 5315, &_hotspot2, NULL);