aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/tsage/core.cpp18
-rw-r--r--engines/tsage/core.h20
-rw-r--r--engines/tsage/ringworld_scenes10.cpp40
-rw-r--r--engines/tsage/ringworld_scenes10.h238
-rw-r--r--engines/tsage/ringworld_scenes5.cpp41
-rw-r--r--engines/tsage/ringworld_scenes5.h18
6 files changed, 168 insertions, 207 deletions
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp
index c3e47af4e4..fd757c3066 100644
--- a/engines/tsage/core.cpp
+++ b/engines/tsage/core.cpp
@@ -1568,22 +1568,22 @@ void SceneHotspot::doAction(int action) {
/*--------------------------------------------------------------------------*/
-void SceneHotspot_3::doAction(int action) {
+void NamedHotspot::doAction(int action) {
switch (action) {
case CURSOR_WALK:
// Nothing
break;
case CURSOR_LOOK:
- if (_field28 == -1)
+ if (_lookLineNum == -1)
SceneHotspot::doAction(action);
else
- SceneItem::display(_field26, _field28, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END);
+ SceneItem::display(_resnum, _lookLineNum, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END);
break;
case CURSOR_USE:
- if (_field2A == -1)
+ if (_useLineNum == -1)
SceneHotspot::doAction(action);
else
- SceneItem::display(_field26, _field2A, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END);
+ SceneItem::display(_resnum, _useLineNum, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END);
break;
default:
SceneHotspot::doAction(action);
@@ -1591,11 +1591,11 @@ void SceneHotspot_3::doAction(int action) {
}
}
-void SceneHotspot_3::quickInit(const int ys, const int xe, const int ye, const int xs, const int val26, const int val28, const int val2A) {
+void NamedHotspot::quickInit(const int ys, const int xe, const int ye, const int xs, const int resnum, const int lookLineNum, const int useLineNum) {
setBounds(ys, xe, ye, xs);
- _field26 = val26;
- _field28 = val28;
- _field2A = val2A;
+ _resnum = resnum;
+ _lookLineNum = lookLineNum;
+ _useLineNum = useLineNum;
_globals->_sceneItems.addItems(this, NULL);
}
diff --git a/engines/tsage/core.h b/engines/tsage/core.h
index 79bf89145d..27079dd963 100644
--- a/engines/tsage/core.h
+++ b/engines/tsage/core.h
@@ -439,22 +439,22 @@ public:
virtual void doAction(int action);
};
-class SceneHotspot_2: public SceneHotspot {
+class NamedHotspot: public SceneHotspot {
public:
- int _field26, _field28;
- SceneHotspot_2(): SceneHotspot() {}
+ int _resnum, _lookLineNum, _useLineNum;
+ NamedHotspot(): SceneHotspot() {}
- virtual Common::String getClassName() { return "SceneHotspot_2"; }
+ void quickInit(const int ys, const int xe, const int ye, const int xs, const int resnum, const int lookLineNum, const int useLineNum);
+ virtual void doAction(int action);
+ virtual Common::String getClassName() { return "NamedHotspot"; }
};
-class SceneHotspot_3: public SceneHotspot_2 {
+class SceneHotspot_2: public SceneHotspot {
public:
- int _field2A;
- SceneHotspot_3(): SceneHotspot_2() {}
+ int _field26, _field28;
+ SceneHotspot_2(): SceneHotspot() {}
- void quickInit(const int ys, const int xe, const int ye, const int xs, const int val26, const int val28, const int val2A);
- virtual void doAction(int action);
- virtual Common::String getClassName() { return "SceneHotspot_3"; }
+ virtual Common::String getClassName() { return "SceneHotspot_2"; }
};
enum AnimateMode {ANIM_MODE_NONE = 0, ANIM_MODE_1 = 1, ANIM_MODE_2 = 2, ANIM_MODE_3 = 3,
diff --git a/engines/tsage/ringworld_scenes10.cpp b/engines/tsage/ringworld_scenes10.cpp
index 9bfa2e017c..12e69a7011 100644
--- a/engines/tsage/ringworld_scenes10.cpp
+++ b/engines/tsage/ringworld_scenes10.cpp
@@ -36,6 +36,8 @@ Scene2::Scene2() {
_sceneState = 0;
}
+/*--------------------------------------------------------------------------*/
+
void Object9350::postInit(SceneObjectList *OwnerList) {
_globals->_sceneManager.postInit(&_globals->_sceneManager._altSceneObjects);
}
@@ -67,7 +69,7 @@ void Scene9100::SceneHotspot1::doAction(int action) {
}
scene->setAction(&scene->_sequenceManager, scene, scene->_sceneMode, &_globals->_player, &scene->_object5, &scene->_object6, 0);
} else {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -318,7 +320,7 @@ void Scene9200::SceneHotspot1::doAction(int action) {
scene->_sceneState = 9214;
setAction(&scene->_sequenceManager, scene, 9214, &_globals->_player, &scene->_object2, 0);
} else {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -714,7 +716,7 @@ void Scene9400::SceneHotspot7::doAction(int action) {
scene->_sceneState = 1;
scene->setAction(&scene->_sequenceManager, scene, 9408, &_globals->_player, 0);
} else {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -726,7 +728,7 @@ void Scene9400::SceneHotspot8::doAction(int action) {
scene->_sceneState = 2;
scene->signal();
} else {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -842,7 +844,7 @@ void Scene9450::Hotspot1::doAction(int action) {
_globals->_player.disableControl();
setAction(&scene->_sequenceManager1, scene, 9459, &scene->_object2, &scene->_object1, &scene->_object3, &_globals->_player, 0);
} else {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -1012,7 +1014,7 @@ void Scene9500::Hotspot1::doAction(int action) {
scene->_hotspot2.quickInit(87, 294, 104, 314, 9400, 17, -1);
scene->setAction(&scene->_sequenceManager, scene, 9510, &_globals->_player, &scene->_object2, 0);
} else {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -1025,7 +1027,7 @@ void Scene9500::Hotspot2::doAction(int action) {
_globals->_sceneItems.remove(this);
scene->setAction(&scene->_sequenceManager, scene, 9511, &_globals->_player, &scene->_object2, 0);
} else {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -1038,7 +1040,7 @@ void Scene9500::Hotspot3::doAction(int action) {
_globals->_sceneItems.remove(this);
scene->setAction(&scene->_sequenceManager, scene, 9505, &_globals->_player, &scene->_candle, 0);
} else {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -1063,7 +1065,7 @@ void Scene9500::Hotspot4::doAction(int action) {
_globals->_inventory._straw._sceneNumber = 9500;
scene->setAction(&scene->_sequenceManager, scene, 9512, &_globals->_player, &scene->_object3, 0);
} else {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -1368,7 +1370,7 @@ void Scene9850::Hotspot12::doAction(int action) {
setAction(&scene->_sequenceManager, scene, 9861, &_globals->_player, &scene->_objTunic2, 0);
}
} else if ((action != CURSOR_LOOK) || (_globals->_inventory._tunic2._sceneNumber != 1)) {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
} else {
SceneItem::display(9850, 30, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END);
}
@@ -1390,7 +1392,7 @@ void Scene9850::Hotspot14::doAction(int action) {
setAction(&scene->_sequenceManager, scene, 9860, &_globals->_player, &scene->_objJacket, 0);
}
} else if ((action != CURSOR_LOOK) || (_globals->_inventory._jacket._sceneNumber != 1)) {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
} else {
SceneItem::display(9850, 30, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END);
}
@@ -1412,7 +1414,7 @@ void Scene9850::Hotspot16::doAction(int action) {
setAction(&scene->_sequenceManager, scene, 9859, &_globals->_player, &scene->_objCloak, 0);
}
} else if ((action != CURSOR_LOOK) || (_globals->_inventory._cloak._sceneNumber != 1)) {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
} else {
SceneItem::display(9850, 30, SET_Y, 20, SET_WIDTH, 200, SET_EXT_BGCOLOUR, 7, LIST_END);
}
@@ -1426,7 +1428,7 @@ void Scene9850::Hotspot17::doAction(int action) {
} else {
if (action == CURSOR_USE)
scene->_soundHandler.startSound(306, 0, 127);
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -1438,7 +1440,7 @@ void Scene9850::Hotspot18::doAction(int action) {
} else {
if (action == CURSOR_USE)
scene->_soundHandler.startSound(306, 0, 127);
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -1450,7 +1452,7 @@ void Scene9850::Hotspot19::doAction(int action) {
} else {
if (action == CURSOR_USE)
scene->_soundHandler.startSound(313, 0, 127);
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -1473,7 +1475,7 @@ void Scene9850::Hotspot20::doAction(int action) {
}
scene->_objSword._state ^= 1;
} else {
- SceneHotspot_3::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -1488,15 +1490,15 @@ void Scene9850::signal() {
_objSword.hide();
_globals->_sceneItems.remove(&_objScimitar);
_globals->_sceneItems.remove(&_objSword);
- _globals->_sceneItems.addItems(&_hotspot19);
+ _globals->_sceneItems.addItems(&_hotspot19, NULL);
_globals->_player.enableControl();
break;
case 11:
// Hidden closet opened
if (_globals->_inventory._scimitar._sceneNumber == 9850)
- _globals->_sceneItems.addItems(&_objScimitar);
+ _globals->_sceneItems.addItems(&_objScimitar, NULL);
if (_globals->_inventory._sword._sceneNumber == 9850)
- _globals->_sceneItems.addItems(&_objSword);
+ _globals->_sceneItems.addItems(&_objSword, NULL);
_globals->_sceneItems.remove(&_hotspot19);
_globals->_player.enableControl();
break;
diff --git a/engines/tsage/ringworld_scenes10.h b/engines/tsage/ringworld_scenes10.h
index 6a09773179..00b524f7c8 100644
--- a/engines/tsage/ringworld_scenes10.h
+++ b/engines/tsage/ringworld_scenes10.h
@@ -54,7 +54,7 @@ public:
class Scene9100: public Scene {
/* Items */
- class SceneHotspot1: public SceneHotspot_3 {
+ class SceneHotspot1: public NamedHotspot {
public:
virtual void doAction(int action);
};
@@ -67,11 +67,11 @@ public:
SceneObject _object5;
SceneObject _object6;
SceneHotspot1 _sceneHotspot1;
- SceneHotspot_3 _sceneHotspot2;
- SceneHotspot_3 _sceneHotspot3;
- SceneHotspot_3 _sceneHotspot4;
- SceneHotspot_3 _sceneHotspot5;
- SceneHotspot_3 _sceneHotspot6;
+ NamedHotspot _sceneHotspot2;
+ NamedHotspot _sceneHotspot3;
+ NamedHotspot _sceneHotspot4;
+ NamedHotspot _sceneHotspot5;
+ NamedHotspot _sceneHotspot6;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
@@ -90,16 +90,16 @@ public:
SceneObject _object1;
SceneObject _object2;
Object3 _object3;
- SceneHotspot_3 _sceneHotspot1;
- SceneHotspot_3 _sceneHotspot2;
- SceneHotspot_3 _sceneHotspot3;
- SceneHotspot_3 _sceneHotspot4;
- SceneHotspot_3 _sceneHotspot5;
- SceneHotspot_3 _sceneHotspot6;
- SceneHotspot_3 _sceneHotspot7;
- SceneHotspot_3 _sceneHotspot8;
- SceneHotspot_3 _sceneHotspot9;
- SceneHotspot_3 _sceneHotspot10;
+ NamedHotspot _sceneHotspot1;
+ NamedHotspot _sceneHotspot2;
+ NamedHotspot _sceneHotspot3;
+ NamedHotspot _sceneHotspot4;
+ NamedHotspot _sceneHotspot5;
+ NamedHotspot _sceneHotspot6;
+ NamedHotspot _sceneHotspot7;
+ NamedHotspot _sceneHotspot8;
+ NamedHotspot _sceneHotspot9;
+ NamedHotspot _sceneHotspot10;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
@@ -107,7 +107,7 @@ public:
};
class Scene9200: public Scene2 {
- class SceneHotspot1: public SceneHotspot_3{
+ class SceneHotspot1: public NamedHotspot{
public:
virtual void doAction(int action);
};
@@ -122,13 +122,13 @@ public:
SpeakerQText _speakerQText;
SoundHandler _soundHandler;
SceneHotspot1 _hotspot1;
- SceneHotspot_3 _hotspot2;
- SceneHotspot_3 _hotspot3;
- SceneHotspot_3 _hotspot4;
- SceneHotspot_3 _hotspot5;
- SceneHotspot_3 _hotspot6;
- SceneHotspot_3 _hotspot7;
- SceneHotspot_3 _hotspot8;
+ NamedHotspot _hotspot2;
+ NamedHotspot _hotspot3;
+ NamedHotspot _hotspot4;
+ NamedHotspot _hotspot5;
+ NamedHotspot _hotspot6;
+ NamedHotspot _hotspot7;
+ NamedHotspot _hotspot8;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
@@ -141,19 +141,19 @@ public:
SequenceManager _sequenceManager;
SceneObject _object1;
SceneObject _object2;
- SceneHotspot_3 _hotspot1;
- SceneHotspot_3 _hotspot2;
- SceneHotspot_3 _hotspot3;
- SceneHotspot_3 _hotspot4;
- SceneHotspot_3 _hotspot5;
- SceneHotspot_3 _hotspot6;
- SceneHotspot_3 _hotspot7;
- SceneHotspot_3 _hotspot8;
- SceneHotspot_3 _hotspot9;
- SceneHotspot_3 _hotspot10;
- SceneHotspot_3 _hotspot11;
- SceneHotspot_3 _hotspot12;
- SceneHotspot_3 _hotspot13;
+ NamedHotspot _hotspot1;
+ NamedHotspot _hotspot2;
+ NamedHotspot _hotspot3;
+ NamedHotspot _hotspot4;
+ NamedHotspot _hotspot5;
+ NamedHotspot _hotspot6;
+ NamedHotspot _hotspot7;
+ NamedHotspot _hotspot8;
+ NamedHotspot _hotspot9;
+ NamedHotspot _hotspot10;
+ NamedHotspot _hotspot11;
+ NamedHotspot _hotspot12;
+ NamedHotspot _hotspot13;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
@@ -165,11 +165,11 @@ public:
SequenceManager _sequenceManager;
Object9350 _object1;
SceneObject _object2;
- SceneHotspot_3 _sceneHotspot1;
- SceneHotspot_3 _sceneHotspot2;
- SceneHotspot_3 _sceneHotspot3;
- SceneHotspot_3 _sceneHotspot4;
- SceneHotspot_3 _sceneHotspot5;
+ NamedHotspot _sceneHotspot1;
+ NamedHotspot _sceneHotspot2;
+ NamedHotspot _sceneHotspot3;
+ NamedHotspot _sceneHotspot4;
+ NamedHotspot _sceneHotspot5;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
@@ -181,14 +181,14 @@ public:
SequenceManager _sequenceManager;
Action _action1;
Object9350 _object1;
- SceneHotspot_3 _hotspot1;
- SceneHotspot_3 _hotspot2;
- SceneHotspot_3 _hotspot3;
- SceneHotspot_3 _hotspot4;
- SceneHotspot_3 _hotspot5;
- SceneHotspot_3 _hotspot6;
- SceneHotspot_3 _hotspot7;
- SceneHotspot_3 _hotspot8;
+ NamedHotspot _hotspot1;
+ NamedHotspot _hotspot2;
+ NamedHotspot _hotspot3;
+ NamedHotspot _hotspot4;
+ NamedHotspot _hotspot5;
+ NamedHotspot _hotspot6;
+ NamedHotspot _hotspot7;
+ NamedHotspot _hotspot8;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
@@ -196,12 +196,12 @@ public:
};
class Scene9400: public Scene2 {
- class SceneHotspot7: public SceneHotspot_3{
+ class SceneHotspot7: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class SceneHotspot8: public SceneHotspot_3{
+ class SceneHotspot8: public NamedHotspot{
public:
virtual void doAction(int action);
};
@@ -215,12 +215,12 @@ public:
SpeakerOText _speakerOText;
SpeakerOR _speakerOR;
SpeakerQText _speakerQText;
- SceneHotspot_3 _hotspot1;
- SceneHotspot_3 _hotspot2;
- SceneHotspot_3 _hotspot3;
- SceneHotspot_3 _hotspot4;
- SceneHotspot_3 _hotspot5;
- SceneHotspot_3 _hotspot6;
+ NamedHotspot _hotspot1;
+ NamedHotspot _hotspot2;
+ NamedHotspot _hotspot3;
+ NamedHotspot _hotspot4;
+ NamedHotspot _hotspot5;
+ NamedHotspot _hotspot6;
SoundHandler _soundHandler;
int _field1032;
SceneHotspot7 _hotspot7;
@@ -242,12 +242,12 @@ class Scene9450: public Scene2 {
virtual void dispatch();
};
- class Hotspot1: public SceneHotspot_3{
+ class Hotspot1: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class Hotspot3: public SceneHotspot_3{
+ class Hotspot3: public NamedHotspot{
public:
virtual void doAction(int action);
};
@@ -259,21 +259,21 @@ public:
SequenceManager _sequenceManager3;
Object3 _object3;
Hotspot1 _hotspot1;
- SceneHotspot_3 _hotspot2;
+ NamedHotspot _hotspot2;
Hotspot3 _hotspot3;
- SceneHotspot_3 _hotspot4;
- SceneHotspot_3 _hotspot5;
- SceneHotspot_3 _hotspot6;
- SceneHotspot_3 _hotspot7;
- SceneHotspot_3 _hotspot8;
- SceneHotspot_3 _hotspot9;
- SceneHotspot_3 _hotspot10;
- SceneHotspot_3 _hotspot11;
- SceneHotspot_3 _hotspot12;
- SceneHotspot_3 _hotspot13;
- SceneHotspot_3 _hotspot14;
- SceneHotspot_3 _hotspot15;
- SceneHotspot_3 _hotspot16;
+ NamedHotspot _hotspot4;
+ NamedHotspot _hotspot5;
+ NamedHotspot _hotspot6;
+ NamedHotspot _hotspot7;
+ NamedHotspot _hotspot8;
+ NamedHotspot _hotspot9;
+ NamedHotspot _hotspot10;
+ NamedHotspot _hotspot11;
+ NamedHotspot _hotspot12;
+ NamedHotspot _hotspot13;
+ NamedHotspot _hotspot14;
+ NamedHotspot _hotspot15;
+ NamedHotspot _hotspot16;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
@@ -281,22 +281,22 @@ public:
};
class Scene9500: public Scene2 {
- class Hotspot1: public SceneHotspot_3{
+ class Hotspot1: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class Hotspot2: public SceneHotspot_3{
+ class Hotspot2: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class Hotspot3: public SceneHotspot_3{
+ class Hotspot3: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class Hotspot4: public SceneHotspot_3{
+ class Hotspot4: public NamedHotspot{
public:
virtual void doAction(int action);
};
@@ -311,21 +311,21 @@ public:
Hotspot3 _hotspot3;
Hotspot4 _hotspot4;
Hotspot4 _hotspot5;
- SceneHotspot_3 _hotspot6;
- SceneHotspot_3 _hotspot7;
- SceneHotspot_3 _hotspot8;
- SceneHotspot_3 _hotspot9;
- SceneHotspot_3 _hotspot10;
- SceneHotspot_3 _hotspot11;
- SceneHotspot_3 _hotspot12;
- SceneHotspot_3 _hotspot13;
- SceneHotspot_3 _hotspot14;
- SceneHotspot_3 _hotspot15;
- SceneHotspot_3 _hotspot16;
- SceneHotspot_3 _hotspot17;
- SceneHotspot_3 _hotspot18;
- SceneHotspot_3 _hotspot19;
- SceneHotspot_3 _hotspot20;
+ NamedHotspot _hotspot6;
+ NamedHotspot _hotspot7;
+ NamedHotspot _hotspot8;
+ NamedHotspot _hotspot9;
+ NamedHotspot _hotspot10;
+ NamedHotspot _hotspot11;
+ NamedHotspot _hotspot12;
+ NamedHotspot _hotspot13;
+ NamedHotspot _hotspot14;
+ NamedHotspot _hotspot15;
+ NamedHotspot _hotspot16;
+ NamedHotspot _hotspot17;
+ NamedHotspot _hotspot18;
+ NamedHotspot _hotspot19;
+ NamedHotspot _hotspot20;
virtual void postInit(SceneObjectList *OwnerList = NULL);
virtual void signal();
@@ -336,12 +336,12 @@ public:
class Scene9700: public Scene2 {
SequenceManager _sequenceManager;
SceneObject _object1;
- SceneHotspot_3 _sceneHotspot1;
- SceneHotspot_3 _sceneHotspot2;
- SceneHotspot_3 _sceneHotspot3;
- SceneHotspot_3 _sceneHotspot4;
- SceneHotspot_3 _sceneHotspot5;
- SceneHotspot_3 _sceneHotspot6;
+ NamedHotspot _sceneHotspot1;
+ NamedHotspot _sceneHotspot2;
+ NamedHotspot _sceneHotspot3;
+ NamedHotspot _sceneHotspot4;
+ NamedHotspot _sceneHotspot5;
+ NamedHotspot _sceneHotspot6;
GfxButton _gfxButton1;
virtual void postInit(SceneObjectList *OwnerList = NULL);
@@ -371,37 +371,37 @@ class Scene9850: public Scene {
virtual void doAction(int action);
};
- class Hotspot12: public SceneHotspot_3{
+ class Hotspot12: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class Hotspot14: public SceneHotspot_3{
+ class Hotspot14: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class Hotspot16: public SceneHotspot_3{
+ class Hotspot16: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class Hotspot17: public SceneHotspot_3{
+ class Hotspot17: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class Hotspot18: public SceneHotspot_3{
+ class Hotspot18: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class Hotspot19: public SceneHotspot_3{
+ class Hotspot19: public NamedHotspot{
public:
virtual void doAction(int action);
};
- class Hotspot20: public SceneHotspot_3{
+ class Hotspot20: public NamedHotspot{
public:
virtual void doAction(int action);
};
@@ -415,21 +415,21 @@ public:
Object6 _objScimitar;
Object7 _objSword;
SoundHandler _soundHandler;
- SceneHotspot_3 _hotspot1;
- SceneHotspot_3 _hotspot2;
- SceneHotspot_3 _hotspot3;
- SceneHotspot_3 _hotspot4;
- SceneHotspot_3 _hotspot5;
- SceneHotspot_3 _hotspot6;
- SceneHotspot_3 _hotspot7;
- SceneHotspot_3 _hotspot8;
- SceneHotspot_3 _hotspot9;
- SceneHotspot_3 _hotspot10;
- SceneHotspot_3 _hotspot11;
+ NamedHotspot _hotspot1;
+ NamedHotspot _hotspot2;
+ NamedHotspot _hotspot3;
+ NamedHotspot _hotspot4;
+ NamedHotspot _hotspot5;
+ NamedHotspot _hotspot6;
+ NamedHotspot _hotspot7;
+ NamedHotspot _hotspot8;
+ NamedHotspot _hotspot9;
+ NamedHotspot _hotspot10;
+ NamedHotspot _hotspot11;
Hotspot12 _hotspot12;
- SceneHotspot_3 _hotspot13;
+ NamedHotspot _hotspot13;
Hotspot14 _hotspot14;
- SceneHotspot_3 _hotspot15;
+ NamedHotspot _hotspot15;
Hotspot16 _hotspot16;
Hotspot17 _hotspot17;
Hotspot18 _hotspot18;
diff --git a/engines/tsage/ringworld_scenes5.cpp b/engines/tsage/ringworld_scenes5.cpp
index fad83cdcf8..d39029f6f8 100644
--- a/engines/tsage/ringworld_scenes5.cpp
+++ b/engines/tsage/ringworld_scenes5.cpp
@@ -3743,37 +3743,6 @@ void Scene4300::Action2::signal() {
/*--------------------------------------------------------------------------*/
-void HotspotBase4300::doAction(int action) {
- switch (action) {
- case CURSOR_WALK:
- break;
- case CURSOR_LOOK:
- if (_lookLine != -1)
- SceneItem::display2(_resNum, _lookLine);
- else
- SceneHotspot::doAction(action);
- break;
- case CURSOR_USE:
- if (_useLine != -1)
- SceneItem::display2(_resNum, _useLine);
- else
- SceneHotspot::doAction(action);
- break;
- default:
- SceneHotspot::doAction(action);
- break;
- }
-}
-
-void HotspotBase4300::setup(const Rect &bounds, int resNum, int lookLine, int useLine) {
- SceneHotspot::setBounds(bounds);
- _resNum = resNum;
- _lookLine = lookLine;
- _useLine = useLine;
-
- _globals->_sceneItems.push_back(this);
-}
-
void Scene4300::Hotspot8::doAction(int action) {
switch (action) {
case CURSOR_LOOK:
@@ -3829,7 +3798,7 @@ void Scene4300::Hotspot9::doAction(int action) {
SceneItem::display2(4300, 23);
break;
default:
- HotspotBase4300::doAction(action);
+ NamedHotspot::doAction(action);
break;
}
}
@@ -3981,7 +3950,7 @@ void Scene4300::postInit(SceneObjectList *OwnerList) {
_stripManager.addSpeaker(&_speakerMText);
_stripManager.addSpeaker(&_speakerFLText);
- _hotspot11.setup(Rect(76, 97, 102, 127), 4300, 5, 6);
+ _hotspot11.quickInit(76, 97, 102, 127, 4300, 5, 6);
_hotspot7.postInit();
_hotspot7.setPosition(Common::Point(90, 128));
@@ -3989,7 +3958,7 @@ void Scene4300::postInit(SceneObjectList *OwnerList) {
_hotspot7.setPriority2(250);
_globals->_sceneItems.push_back(&_hotspot7);
- _hotspot9.setup(Rect(120, 49, 174, 91), 4300, -1, -1);
+ _hotspot9.quickInit(120, 49, 174, 91, 4300, -1, -1);
_hotspot15.postInit();
_hotspot15.setVisage(4300);
@@ -4324,7 +4293,7 @@ void Scene4301::Hotspot4::doAction(int action) {
_globals->_player.disableControl();
scene->setAction(&scene->_action1);
} else {
- HotspotBase4300::doAction(action);
+ NamedHotspot::doAction(action);
}
}
@@ -4358,7 +4327,7 @@ void Scene4301::postInit(SceneObjectList *OwnerList) {
_field68E = false;
_globals->_inventory._stasisBox2._sceneNumber = 1;
- _hotspot4.setup(Rect(76, 97, 102, 127), 4300, 5, 6);
+ _hotspot4.quickInit(76, 97, 102, 127, 4300, 5, 6);
_hotspot1.postInit();
_hotspot1.setPosition(Common::Point(90, 128));
diff --git a/engines/tsage/ringworld_scenes5.h b/engines/tsage/ringworld_scenes5.h
index fd7751af27..e9ad5b62cb 100644
--- a/engines/tsage/ringworld_scenes5.h
+++ b/engines/tsage/ringworld_scenes5.h
@@ -574,16 +574,6 @@ public:
virtual void dispatch();
};
-class HotspotBase4300: public SceneObject {
-public:
- int _resNum;
- int _lookLine, _useLine;
-
- virtual void doAction(int action);
-
- void setup(const Rect &bounds, int resNum, int lookLine, int useLine);
-};
-
class Scene4300: public Scene {
/* Actions */
class Action1: public Action {
@@ -600,7 +590,7 @@ class Scene4300: public Scene {
public:
virtual void doAction(int action);
};
- class Hotspot9: public HotspotBase4300 {
+ class Hotspot9: public NamedHotspot {
public:
virtual void doAction(int action);
};
@@ -638,7 +628,7 @@ public:
Hotspot8 _hotspot8;
Hotspot9 _hotspot9;
Hotspot10 _hotspot10;
- HotspotBase4300 _hotspot11;
+ NamedHotspot _hotspot11;
SceneObject _hotspot12, _hotspot13, _hotspot14;
Hotspot15 _hotspot15;
Hotspot16 _hotspot16;
@@ -672,11 +662,11 @@ class Scene4301: public Scene {
};
/* Hotspots */
- class Hotspot4: public HotspotBase4300 {
+ class Hotspot4: public NamedHotspot {
public:
virtual void doAction(int action);
};
- class Hotspot5: public HotspotBase4300 {
+ class Hotspot5: public NamedHotspot {
public:
virtual void doAction(int action);
};