diff options
author | Strangerke | 2011-12-30 12:08:41 +0100 |
---|---|---|
committer | Strangerke | 2011-12-30 16:56:18 +0100 |
commit | 211eb00e8725e36b8c802a9b7b9b9812e9c3053e (patch) | |
tree | 563fb105428389da6dda05ef82683c4cb3bcea6d /engines | |
parent | a473934abd2dc4d402963c6f43cec4147ab71e82 (diff) | |
download | scummvm-rg350-211eb00e8725e36b8c802a9b7b9b9812e9c3053e.tar.gz scummvm-rg350-211eb00e8725e36b8c802a9b7b9b9812e9c3053e.tar.bz2 scummvm-rg350-211eb00e8725e36b8c802a9b7b9b9812e9c3053e.zip |
TSAGE: R2R - Cleanup: reorganise speakers, add ancestor classes where speaker declaration is common to several speakers.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_scenes2.h | 11 | ||||
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_scenes3.h | 4 | ||||
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_speakers.cpp | 2102 | ||||
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_speakers.h | 425 |
4 files changed, 1055 insertions, 1487 deletions
diff --git a/engines/tsage/ringworld2/ringworld2_scenes2.h b/engines/tsage/ringworld2/ringworld2_scenes2.h index d007f7e9f5..281d1da366 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes2.h +++ b/engines/tsage/ringworld2/ringworld2_scenes2.h @@ -106,8 +106,8 @@ class Scene2350 : public SceneExt { }; public: - SpeakerQuinn2350 _quinnSpeaker; - SpeakerPharisha2350 _pharishaSpeaker; + SpeakerQuinn _quinnSpeaker; + SpeakerPharisha _pharishaSpeaker; NamedHotspot _item1; SceneActor _actor1; Actor2 _actor2; @@ -368,9 +368,9 @@ class Scene2500 : public SceneExt { virtual void changeScene(); }; public: - SpeakerQuinn2500 _quinnSpeaker; - SpeakerSeeker2500 _seekerSpeaker; - SpeakerMiranda2500 _mirandaSpeaker; + SpeakerQuinn _quinnSpeaker; + SpeakerSeeker _seekerSpeaker; + SpeakerMiranda _mirandaSpeaker; SpeakerWebbster2500 _webbsterSpeaker; NamedHotspot _item1; SceneActor _actor1; @@ -665,6 +665,7 @@ public: virtual void postInit(SceneObjectList *OwnerList = NULL); virtual void signal(); }; + } // End of namespace Ringworld2 } // End of namespace TsAGE diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.h b/engines/tsage/ringworld2/ringworld2_scenes3.h index 558acf62e9..812ab800cc 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.h +++ b/engines/tsage/ringworld2/ringworld2_scenes3.h @@ -47,7 +47,7 @@ class Scene3100 : public SceneExt { public: int _field412; - SpeakerGuard3100 _guardSpeaker; + SpeakerGuard _guardSpeaker; NamedHotspot _item1; NamedHotspot _item2; SceneActor _actor1; @@ -241,7 +241,7 @@ class Scene3240 : public SceneExt { public: SpeakerTeal3240 _tealSpeaker; SpeakerWebbster3240 _webbsterSpeaker; - SpeakerMiranda2500 _mirandaSpeaker; + SpeakerMiranda _mirandaSpeaker; SceneActor _actor1; SceneActor _actor2; SequenceManager _sequenceManager; diff --git a/engines/tsage/ringworld2/ringworld2_speakers.cpp b/engines/tsage/ringworld2/ringworld2_speakers.cpp index b8773192b0..7f5cdc1328 100644 --- a/engines/tsage/ringworld2/ringworld2_speakers.cpp +++ b/engines/tsage/ringworld2/ringworld2_speakers.cpp @@ -191,11 +191,13 @@ void VisualSpeaker::setDelay(int delay) { _frameNumber = R2_GLOBALS._events.getFrameNumber(); } -/*--------------------------------------------------------------------------*/ +//---------------------------------------------------------------------------- +// Classes related to CAPTAIN +//---------------------------------------------------------------------------- -SpeakerMiranda300::SpeakerMiranda300(): VisualSpeaker() { - _speakerName = "MIRANDA"; - _color1 = 154; +SpeakerCaptain3210::SpeakerCaptain3210() { + _speakerName = "Captain"; + _color1 = 5; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -205,17 +207,12 @@ SpeakerMiranda300::SpeakerMiranda300(): VisualSpeaker() { _numFrames = 0; } -void SpeakerMiranda300::proc15() { +void SpeakerCaptain3210::proc15() { int v = _fieldF6; + Scene3210 *scene = (Scene3210 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 3) { - _object2 = &R2_GLOBALS._player; - } else { - Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene; - _object2 = &scene->_miranda; - } - + _object2 = &scene->_actor1; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); @@ -226,30 +223,20 @@ void SpeakerMiranda300::proc15() { if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - } else if (v == 100) { - _numFrames = 0; - ((SceneItem *)_action)->_sceneRegionId = 0; - - _object1.setStrip(_object1._strip - 1); - _object1.setFrame(_object1.getFrameCount()); - _object1.animate(ANIM_MODE_6, this); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - - if (v == 4) { - _object1.setup(304, 5, 1); - } else { - _object1.setup(305, v * 2 - 1, 1); - } + _object1.setup(4060, (_object2->_strip * 2) - 1, 1); _object1.animate(ANIM_MODE_5, this); } } -/*--------------------------------------------------------------------------*/ +//---------------------------------------------------------------------------- +// Classes related to CARETAKER +//---------------------------------------------------------------------------- -SpeakerSeeker300::SpeakerSeeker300(): VisualSpeaker() { - _speakerName = "SEEKER"; - _color1 = 35; +SpeakerCaretaker2450::SpeakerCaretaker2450() { + _speakerName = "CARETAKER"; + _color1 = 43; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -259,20 +246,30 @@ SpeakerSeeker300::SpeakerSeeker300(): VisualSpeaker() { _numFrames = 0; } -void SpeakerSeeker300::proc15() { +//---------------------------------------------------------------------------- +// Classes related to GUARD +//---------------------------------------------------------------------------- + +SpeakerGuard::SpeakerGuard() { + _speakerName = "GUARD"; + _color1 = 5; + _color2 = 0; + _fieldF6 = 0; + _textWidth = 300; + _hideObjects = false; + _object2 = NULL; + _displayMode = 1; + _numFrames = 0; +} + +void SpeakerGuard2800::proc15() { int v = _fieldF6; + Scene2750 *scene = (Scene2750 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 3) { - _object2 = &R2_GLOBALS._player; - } else { - Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene; - _object2 = &scene->_seeker; - } - + _object2 = &scene->_actor1; _object2->hide(); _object1.postInit(); - _object1.fixPriority(140); _object1.setPosition(_object2->_position); if (_object2->_mover) @@ -281,55 +278,21 @@ void SpeakerSeeker300::proc15() { if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - } else if (v == 100) { - _numFrames = 0; - ((SceneItem *)_action)->_sceneRegionId = 0; - - _object1.setStrip(_object1._strip - 1); - _object1.setFrame(_object1.getFrameCount()); - _object1.animate(ANIM_MODE_6, this); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(306, v * 2 - 1, 1); + _object1.setZoom(75); + _object1.setup(4060, 3, 1); _object1.animate(ANIM_MODE_5, this); } } -/*--------------------------------------------------------------------------*/ +//---------------------------------------------------------------------------- +// Classes related to JOCKO +//---------------------------------------------------------------------------- -SpeakerSeekerL::SpeakerSeekerL(): VisualSpeaker() { - _speakerName = "SEEKERL"; - _color1 = 35; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; - _fontNumber = 10; -} - -/*--------------------------------------------------------------------------*/ - -SpeakerQuinnL::SpeakerQuinnL(): VisualSpeaker() { - _speakerName = "QUINNL"; - _color1 = 35; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; - _fontNumber = 10; -} - -/*--------------------------------------------------------------------------*/ - -SpeakerQuinn300::SpeakerQuinn300(): VisualSpeaker() { - _speakerName = "QUINN"; - _color1 = 60; +SpeakerJocko::SpeakerJocko() { + _speakerName = "Jocko"; + _color1 = 45; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -339,17 +302,12 @@ SpeakerQuinn300::SpeakerQuinn300(): VisualSpeaker() { _numFrames = 0; } -void SpeakerQuinn300::proc15() { +void SpeakerJocko3200::proc15() { int v = _fieldF6; + Scene3200 *scene = (Scene3200 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 3) { - _object2 = &R2_GLOBALS._player; - } else { - Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene; - _object2 = &scene->_quinn; - } - + _object2 = &scene->_actor2; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); @@ -360,54 +318,20 @@ void SpeakerQuinn300::proc15() { if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - } else if (v == 100) { - _numFrames = 0; - ((SceneItem *)_action)->_sceneRegionId = 0; - - _object1.setStrip(_object1._strip - 1); - _object1.setFrame(_object1.getFrameCount()); - _object1.animate(ANIM_MODE_6, this); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - - switch (_object2->_visage) { - case 10: - _object1.setup((v - 1) / 4 + 4010, ((v - ((v - 1) / 4 * 4) - 1) % 8) * 2 + 1, 1); - break; - case 302: - _object1.setup(308, (v - 1) % 8 + 1, 1); - break; - case 308: - _object1.setup(308, 5, 1); - break; - } - + _object1.setup(4060, (_object2->_strip * 2) - 1, 1); _object1.animate(ANIM_MODE_5, this); } } -/*--------------------------------------------------------------------------*/ - -SpeakerTeal300::SpeakerTeal300(): VisualSpeaker() { - _speakerName = "TEAL"; - _color1 = 22; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerTeal300::proc15() { +void SpeakerJocko3220::proc15() { int v = _fieldF6; + Scene3220 *scene = (Scene3220 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene; - _object2 = &scene->_teal; + _object2 = &scene->_actor2; _object2->hide(); - _object1.postInit(); _object1.setPosition(_object2->_position); @@ -419,34 +343,18 @@ void SpeakerTeal300::proc15() { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(303, 1, 1); + _object1.setup(4060, (_object2->_strip * 2) - 1, 1); _object1.animate(ANIM_MODE_5, this); } } - -/*--------------------------------------------------------------------------*/ - -SpeakerSoldier300::SpeakerSoldier300(): VisualSpeaker() { - _speakerName = "SOLDIER"; - _color1 = 60; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerSoldier300::proc15() { +void SpeakerJocko3230::proc15() { int v = _fieldF6; + Scene3230 *scene = (Scene3230 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene; - _object2 = &scene->_teal; + _object2 = &scene->_actor2; _object2->hide(); - _object1.postInit(); _object1.setPosition(_object2->_position); @@ -458,28 +366,18 @@ void SpeakerSoldier300::proc15() { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(303, 3, 1); + _object1.setup(4060, (_object2->_strip * 2) - 1, 1); _object1.animate(ANIM_MODE_5, this); } } -/*--------------------------------------------------------------------------*/ +//---------------------------------------------------------------------------- +// Classes related to MIRANDA +//---------------------------------------------------------------------------- -SpeakerQuinn2350::SpeakerQuinn2350(): VisualSpeaker() { - _speakerName = "QUINN"; - _color1 = 60; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -SpeakerPharisha2350::SpeakerPharisha2350(): VisualSpeaker() { - _speakerName = "PHARISHA"; - _color1 = 151; +SpeakerMiranda::SpeakerMiranda(): VisualSpeaker() { + _speakerName = "MIRANDA"; + _color1 = 154; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -489,70 +387,55 @@ SpeakerPharisha2350::SpeakerPharisha2350(): VisualSpeaker() { _numFrames = 0; } -/*--------------------------------------------------------------------------*/ - -SpeakerQuinn2435::SpeakerQuinn2435() { - _speakerName = "QUINN"; - _color1 = 60; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} -void SpeakerQuinn2435::proc15() { +void SpeakerMiranda300::proc15() { int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 1) { + if (R2_GLOBALS._player._characterIndex == 3) { _object2 = &R2_GLOBALS._player; } else { - Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene; - _object2 = &scene->_actor1; + Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene; + _object2 = &scene->_miranda; } _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); + + if (_object2->_mover) + _object2->addMover(NULL); } if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); + } else if (v == 100) { + _numFrames = 0; + ((SceneItem *)_action)->_sceneRegionId = 0; + + _object1.setStrip(_object1._strip - 1); + _object1.setFrame(_object1.getFrameCount()); + _object1.animate(ANIM_MODE_6, this); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object2->setStrip(7); - _object1.setup(2020, 5, 1); + + if (v == 4) { + _object1.setup(304, 5, 1); + } else { + _object1.setup(305, v * 2 - 1, 1); + } _object1.animate(ANIM_MODE_5, this); } } -SpeakerSeeker2435::SpeakerSeeker2435() { - _speakerName = "SEEKER"; - _color1 = 35; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerSeeker2435::proc15() { +void SpeakerMiranda3255::proc15() { int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 2) { - _object2 = &R2_GLOBALS._player; - } else { - Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene; - _object2 = &scene->_actor1; - } - + _object2 = &R2_GLOBALS._player; _object2->hide(); _object1.postInit(); + _object1._effect = _object2->_effect; + _object1._shade = _object2->_shade; _object1.setPosition(_object2->_position); } @@ -560,230 +443,211 @@ void SpeakerSeeker2435::proc15() { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object2->setStrip(7); - _object1.setup(4099, 1, 1); + _object1.setup(3257, 5, 1); _object1.animate(ANIM_MODE_5, this); } } -SpeakerPharisha2435::SpeakerPharisha2435() { - _speakerName = "PHARISHA"; - _color1 = 151; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} +void SpeakerMiranda3375::proc15() { + Scene3375 *scene = (Scene3375 *)R2_GLOBALS._sceneManager._scene; -void SpeakerPharisha2435::proc15() { int v = _fieldF6; - Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor2; + if (R2_GLOBALS._player._characterIndex == 3) + _object2 = &R2_GLOBALS._player; + else + _object2 = &scene->_actor2; + _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); + _object1._numFrames = 7; + _object1._effect = 1; + _object1.changeZoom(-1); + + if (scene->_actor1._position.y != 163) + R2_GLOBALS._player.setStrip(8); + else + R2_GLOBALS._player.setStrip(2); + + R2_GLOBALS._player.disableControl(); + + if (R2_GLOBALS._player._mover) + R2_GLOBALS._player.addMover(NULL); + + R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); + + if (_object2->_mover) + _object2->addMover(NULL); } + - if (v == 0) { + switch (v) { + case 0: _object1.animate(ANIM_MODE_2, NULL); - } else { + break; + case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4098, 5, 1); + _object1.setup(4051, 5, 1); _object1.animate(ANIM_MODE_5, this); + break; + default: + signal(); + break; } } -/*--------------------------------------------------------------------------*/ +void SpeakerMiranda3385::proc15() { + Scene3385 *scene = (Scene3385 *)R2_GLOBALS._sceneManager._scene; -SpeakerQuinn2450::SpeakerQuinn2450() { - _speakerName = "QUINN"; - _color1 = 60; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} -void SpeakerQuinn2450::proc15() { int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 1) { + if (R2_GLOBALS._player._characterIndex == 3) _object2 = &R2_GLOBALS._player; - } else { - Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene; - _object2 = &scene->_actor1; - } + else + _object2 = &scene->_actor2; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); + _object1._numFrames = 7; + _object1._effect = 1; + _object1.changeZoom(-1); + + if (R2_GLOBALS._sceneManager._previousScene == 3375) + R2_GLOBALS._player.setStrip(4); + else + R2_GLOBALS._player.setStrip(3); + + if (R2_GLOBALS._player._mover) + R2_GLOBALS._player.addMover(NULL); + + R2_GLOBALS._player.disableControl(CURSOR_TALK); + R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); + + if (_object2->_mover) + _object2->addMover(NULL); } + - if (v == 0) { + switch (v) { + case 0: _object1.animate(ANIM_MODE_2, NULL); - } else { + break; + case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - if (R2_GLOBALS.getFlag(61)) - _object1.setup(2020, 3, 1); - else - _object1.setup(2020, 1, 1); + _object1.setup(4051, 5, 1); _object1.animate(ANIM_MODE_5, this); + break; + default: + signal(); + break; } } -SpeakerSeeker2450::SpeakerSeeker2450() { - _speakerName = "SEEKER"; - _color1 = 35; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} +void SpeakerMiranda3400::proc15() { + Scene3400 *scene = (Scene3400 *)R2_GLOBALS._sceneManager._scene; -void SpeakerSeeker2450::proc15() { int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 2) { + if (R2_GLOBALS._player._characterIndex == 3) _object2 = &R2_GLOBALS._player; - } else { - Scene2450 *scene = (Scene2450 *)R2_GLOBALS._sceneManager._scene; - _object2 = &scene->_actor1; - } + else + _object2 = &scene->_actor2; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); + _object1._numFrames = 7; + _object1._effect = 1; + _object1.changeZoom(-1); + R2_GLOBALS._player.disableControl(); + R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); + + if (_object2->_mover) + _object2->addMover(NULL); } - if (v == 0) { + switch (v) { + case 0: _object1.animate(ANIM_MODE_2, NULL); - } else { + break; + case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4099, 3, 1); - _object1.animate(ANIM_MODE_5, this); + _object1.setup(4051, 5, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 2: + ((SceneItem *)_action)->_sceneRegionId = 0; + _object1.setup(4050, 3, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + default: + signal(); + break; } } -SpeakerCaretaker2450::SpeakerCaretaker2450() { - _speakerName = "CARETAKER"; - _color1 = 43; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -/*--------------------------------------------------------------------------*/ - -SpeakerQuinn2500::SpeakerQuinn2500() { - _speakerName = "QUINN"; - _color1 = 60; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -SpeakerSeeker2500::SpeakerSeeker2500() { - _speakerName = "SEEKER"; - _color1 = 35; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -SpeakerMiranda2500::SpeakerMiranda2500() { - // Not in uppercase in the original - _speakerName = "Miranda"; - _color1 = 154; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -SpeakerWebbster2500::SpeakerWebbster2500() { - // Not in uppercase in the original - _speakerName = "Webbster"; - _color1 = 27; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -SpeakerQuinn2700::SpeakerQuinn2700() { - _speakerName = "QUINN"; - _color1 = 60; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} +void SpeakerMiranda3700::proc15() { + Scene3700 *scene = (Scene3700 *)R2_GLOBALS._sceneManager._scene; -void SpeakerQuinn2700::proc15() { int v = _fieldF6; if (!_object2) { - _object2 = &R2_GLOBALS._player; + _object2 = &scene->_actor3; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); + _object1._numFrames = 7; + R2_GLOBALS._player.disableControl(); + R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); - if (_object2->_mover) + if (_object2->_mover) _object2->addMover(NULL); } - if (v == 0) { + _object1.setPosition(_object2->_position); + + switch (v) { + case 0: _object1.animate(ANIM_MODE_2, NULL); - } else { + break; + case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - switch (_object2->_visage) { - case 19: - _object1.setup(4022, 5, 1); - break; - case 2701: - _object1.setup(4022, 1, 1); - break; - default: - break; - } - _object1.animate(ANIM_MODE_5, this); + scene->_actor1.setup(10, 6, 1); + scene->_actor2.setup(20, 5, 1); + _object2->setup(30, 1, 1); + scene->_actor4.setup(40, 1, 1); + _object1.setup(4050, 5, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 2: + ((SceneItem *)_action)->_sceneRegionId = 0; + scene->_actor3.setup(30, 8, 1); + _object1.setup(4052, 3, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 3: + ((SceneItem *)_action)->_sceneRegionId = 0; + scene->_actor2.setup(20, 1, 1); + scene->_actor3.setup(30, 1, 1); + _object1.setup(4051, 7, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + default: + signal(); + break; } } -SpeakerNej2700::SpeakerNej2700() { +//---------------------------------------------------------------------------- +// Classes related to NEJ +//---------------------------------------------------------------------------- + +SpeakerNej::SpeakerNej() { _speakerName = "NEJ"; _color1 = 171; _color2 = 0; @@ -830,23 +694,12 @@ void SpeakerNej2700::proc15() { } } -SpeakerQuinn2750::SpeakerQuinn2750() { - _speakerName = "QUINN"; - _color1 = 60; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerQuinn2750::proc15() { +void SpeakerNej2750::proc15() { int v = _fieldF6; + Scene2750 *scene = (Scene2750 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &R2_GLOBALS._player; + _object2 = &scene->_actor1; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); @@ -860,8 +713,8 @@ void SpeakerQuinn2750::proc15() { } else { ((SceneItem *)_action)->_sceneRegionId = 0; switch (_object2->_visage) { - case 19: - _object1.setup(4022, 5, 1); + case 2705: + _object1.setup(4022, 7, 1); break; case 2752: _object1.setup(2752, 1, 1); @@ -873,24 +726,12 @@ void SpeakerQuinn2750::proc15() { } } -SpeakerNej2750::SpeakerNej2750() { - _speakerName = "NEJ"; - _color1 = 171; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerNej2750::proc15() { +void SpeakerNej2800::proc15() { int v = _fieldF6; Scene2750 *scene = (Scene2750 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor1; + _object2 = &scene->_actor2; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); @@ -903,23 +744,20 @@ void SpeakerNej2750::proc15() { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - switch (_object2->_visage) { - case 2705: - _object1.setup(4022, 7, 1); - break; - case 2752: - _object1.setup(2752, 1, 1); - break; - default: - break; - } + _object1.setup(4023, 3, 1); + if (_object2->_visage == 2801) + _object1.setPosition(Common::Point(R2_GLOBALS._player._position.x - 12, R2_GLOBALS._player._position.y)); _object1.animate(ANIM_MODE_5, this); } } -SpeakerQuinn2800::SpeakerQuinn2800() { - _speakerName = "QUINN"; - _color1 = 60; +//---------------------------------------------------------------------------- +// Classes related to PHARISHA +//---------------------------------------------------------------------------- + +SpeakerPharisha::SpeakerPharisha(): VisualSpeaker() { + _speakerName = "PHARISHA"; + _color1 = 151; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -929,48 +767,33 @@ SpeakerQuinn2800::SpeakerQuinn2800() { _numFrames = 0; } -void SpeakerQuinn2800::proc15() { +void SpeakerPharisha2435::proc15() { int v = _fieldF6; + Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &R2_GLOBALS._player; + _object2 = &scene->_actor2; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); - - if (_object2->_mover) - _object2->addMover(NULL); } if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - switch (_object2->_visage) { - case 16: - _object1.setZoom(75); - _object1.setup(4023, 5, 1); - break; - case 19: - _object1.setup(4023, 1, 1); - break; - case 3110: - _object1.setZoom(75); - if (_object2->_strip == 1) - _object1.setup(4061 , 1, 1); - else - _object1.setup(4061 , 3, 1); - break; - default: - break; - } + _object1.setup(4098, 5, 1); _object1.animate(ANIM_MODE_5, this); } } -SpeakerNej2800::SpeakerNej2800() { - _speakerName = "NEJ"; - _color1 = 171; +//---------------------------------------------------------------------------- +// Classes related to PRIVATE +//---------------------------------------------------------------------------- + +SpeakerPrivate3210::SpeakerPrivate3210() { + _speakerName = "Private"; + _color1 = 45; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -980,9 +803,9 @@ SpeakerNej2800::SpeakerNej2800() { _numFrames = 0; } -void SpeakerNej2800::proc15() { +void SpeakerPrivate3210::proc15() { int v = _fieldF6; - Scene2750 *scene = (Scene2750 *)R2_GLOBALS._sceneManager._scene; + Scene3210 *scene = (Scene3210 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { _object2 = &scene->_actor2; @@ -998,16 +821,18 @@ void SpeakerNej2800::proc15() { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4023, 3, 1); - if (_object2->_visage == 2801) - _object1.setPosition(Common::Point(R2_GLOBALS._player._position.x - 12, R2_GLOBALS._player._position.y)); + _object1.setup(4060, (_object2->_strip * 2) - 1, 1); _object1.animate(ANIM_MODE_5, this); } } -SpeakerGuard2800::SpeakerGuard2800() { - _speakerName = "GUARD"; - _color1 = 5; +//---------------------------------------------------------------------------- +// Classes related to QUINN +//---------------------------------------------------------------------------- + +SpeakerQuinn::SpeakerQuinn(): VisualSpeaker() { + _speakerName = "QUINN"; + _color1 = 60; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -1017,12 +842,17 @@ SpeakerGuard2800::SpeakerGuard2800() { _numFrames = 0; } -void SpeakerGuard2800::proc15() { +void SpeakerQuinn300::proc15() { int v = _fieldF6; - Scene2750 *scene = (Scene2750 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor1; + if (R2_GLOBALS._player._characterIndex == 3) { + _object2 = &R2_GLOBALS._player; + } else { + Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene; + _object2 = &scene->_quinn; + } + _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); @@ -1033,114 +863,91 @@ void SpeakerGuard2800::proc15() { if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); + } else if (v == 100) { + _numFrames = 0; + ((SceneItem *)_action)->_sceneRegionId = 0; + + _object1.setStrip(_object1._strip - 1); + _object1.setFrame(_object1.getFrameCount()); + _object1.animate(ANIM_MODE_6, this); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setZoom(75); - _object1.setup(4060, 3, 1); + + switch (_object2->_visage) { + case 10: + _object1.setup((v - 1) / 4 + 4010, ((v - ((v - 1) / 4 * 4) - 1) % 8) * 2 + 1, 1); + break; + case 302: + _object1.setup(308, (v - 1) % 8 + 1, 1); + break; + case 308: + _object1.setup(308, 5, 1); + break; + } + _object1.animate(ANIM_MODE_5, this); } } -SpeakerGuard3100::SpeakerGuard3100() { - _speakerName = "GUARD"; - _color1 = 5; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -SpeakerRocko3200::SpeakerRocko3200() { - _speakerName = "Rocko"; - _color1 = 5; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerRocko3200::proc15() { +void SpeakerQuinn2435::proc15() { int v = _fieldF6; - Scene3200 *scene = (Scene3200 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor1; + if (R2_GLOBALS._player._characterIndex == 1) { + _object2 = &R2_GLOBALS._player; + } else { + Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene; + _object2 = &scene->_actor1; + } + _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); - - if (_object2->_mover) - _object2->addMover(NULL); } if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4060, (_object2->_strip * 2) - 1, 1); + _object2->setStrip(7); + _object1.setup(2020, 5, 1); _object1.animate(ANIM_MODE_5, this); } } -SpeakerJocko3200::SpeakerJocko3200() { - _speakerName = "Jocko"; - _color1 = 45; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerJocko3200::proc15() { +void SpeakerQuinn2450::proc15() { int v = _fieldF6; - Scene3200 *scene = (Scene3200 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor2; + if (R2_GLOBALS._player._characterIndex == 1) { + _object2 = &R2_GLOBALS._player; + } else { + Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene; + _object2 = &scene->_actor1; + } + _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); - - if (_object2->_mover) - _object2->addMover(NULL); } if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4060, (_object2->_strip * 2) - 1, 1); + if (R2_GLOBALS.getFlag(61)) + _object1.setup(2020, 3, 1); + else + _object1.setup(2020, 1, 1); _object1.animate(ANIM_MODE_5, this); } } -SpeakerSocko3200::SpeakerSocko3200() { - _speakerName = "Socko"; - _color1 = 10; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerSocko3200::proc15() { +void SpeakerQuinn2700::proc15() { int v = _fieldF6; - Scene3200 *scene = (Scene3200 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor3; + _object2 = &R2_GLOBALS._player; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); @@ -1153,29 +960,25 @@ void SpeakerSocko3200::proc15() { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4060, (_object2->_strip * 2) - 1, 1); + switch (_object2->_visage) { + case 19: + _object1.setup(4022, 5, 1); + break; + case 2701: + _object1.setup(4022, 1, 1); + break; + default: + break; + } _object1.animate(ANIM_MODE_5, this); } } -SpeakerCaptain3210::SpeakerCaptain3210() { - _speakerName = "Captain"; - _color1 = 5; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerCaptain3210::proc15() { +void SpeakerQuinn2750::proc15() { int v = _fieldF6; - Scene3210 *scene = (Scene3210 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor1; + _object2 = &R2_GLOBALS._player; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); @@ -1188,29 +991,25 @@ void SpeakerCaptain3210::proc15() { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4060, (_object2->_strip * 2) - 1, 1); + switch (_object2->_visage) { + case 19: + _object1.setup(4022, 5, 1); + break; + case 2752: + _object1.setup(2752, 1, 1); + break; + default: + break; + } _object1.animate(ANIM_MODE_5, this); } } -SpeakerPrivate3210::SpeakerPrivate3210() { - _speakerName = "Private"; - _color1 = 45; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerPrivate3210::proc15() { +void SpeakerQuinn2800::proc15() { int v = _fieldF6; - Scene3210 *scene = (Scene3210 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor2; + _object2 = &R2_GLOBALS._player; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); @@ -1223,189 +1022,283 @@ void SpeakerPrivate3210::proc15() { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4060, (_object2->_strip * 2) - 1, 1); + switch (_object2->_visage) { + case 16: + _object1.setZoom(75); + _object1.setup(4023, 5, 1); + break; + case 19: + _object1.setup(4023, 1, 1); + break; + case 3110: + _object1.setZoom(75); + if (_object2->_strip == 1) + _object1.setup(4061 , 1, 1); + else + _object1.setup(4061 , 3, 1); + break; + default: + break; + } _object1.animate(ANIM_MODE_5, this); } } -SpeakerRocko3220::SpeakerRocko3220() { - _speakerName = "Rocko"; - _color1 = 5; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} +void SpeakerQuinn3255::proc15() { + Scene3255 *scene = (Scene3255 *)R2_GLOBALS._sceneManager._scene; -void SpeakerRocko3220::proc15() { int v = _fieldF6; - Scene3220 *scene = (Scene3220 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor1; + _object2 = &scene->_actor4; _object2->hide(); _object1.postInit(); + _object1._effect = _object2->_effect; + _object1._shade = _object2->_shade; _object1.setPosition(_object2->_position); - - if (_object2->_mover) - _object2->addMover(NULL); } if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4060, (_object2->_strip * 2) - 1, 1); + _object1.setup(3257, 3, 1); _object1.animate(ANIM_MODE_5, this); } } -SpeakerJocko3220::SpeakerJocko3220() { - _speakerName = "Jocko"; - _color1 = 45; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} +void SpeakerQuinn3375::proc15() { + Scene3375 *scene = (Scene3375 *)R2_GLOBALS._sceneManager._scene; -void SpeakerJocko3220::proc15() { int v = _fieldF6; - Scene3220 *scene = (Scene3220 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor2; + if (R2_GLOBALS._player._characterIndex == 1) + _object2 = &R2_GLOBALS._player; + else if (R2_GLOBALS._player._characterIndex == 2) + _object2 = &scene->_actor1; + else + _object2 = &scene->_actor2; + _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); + _object1._numFrames = 7; + _object1._effect = 1; + _object1.changeZoom(-1); + + if (scene->_actor1._position.y != 163) + R2_GLOBALS._player.setStrip(8); + else + R2_GLOBALS._player.setStrip(2); - if (_object2->_mover) + if (R2_GLOBALS._player._mover) + R2_GLOBALS._player.addMover(NULL); + + R2_GLOBALS._player.disableControl(CURSOR_TALK); + R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); + + if (_object2->_mover) _object2->addMover(NULL); } + - if (v == 0) { + switch (v) { + case 0: _object1.animate(ANIM_MODE_2, NULL); - } else { + break; + case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4060, (_object2->_strip * 2) - 1, 1); + _object1.setup(4010, 5, 1); _object1.animate(ANIM_MODE_5, this); + break; + default: + signal(); + break; } } -SpeakerRocko3230::SpeakerRocko3230() { - _speakerName = "Rocko"; - _color1 = 5; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} +void SpeakerQuinn3385::proc15() { + Scene3385 *scene = (Scene3385 *)R2_GLOBALS._sceneManager._scene; -void SpeakerRocko3230::proc15() { int v = _fieldF6; - Scene3230 *scene = (Scene3230 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor1; + if (R2_GLOBALS._player._characterIndex == 1) + _object2 = &R2_GLOBALS._player; + else if (R2_GLOBALS._player._characterIndex == 2) + _object2 = &scene->_actor1; + else + _object2 = &scene->_actor2; + _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); + _object1._numFrames = 7; + _object1._effect = 1; + _object1.changeZoom(-1); + + if (R2_GLOBALS._sceneManager._previousScene == 3375) + R2_GLOBALS._player.setStrip(4); + else + R2_GLOBALS._player.setStrip(3); - if (_object2->_mover) + if (R2_GLOBALS._player._mover) + R2_GLOBALS._player.addMover(NULL); + + R2_GLOBALS._player.disableControl(CURSOR_TALK); + R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); + + if (_object2->_mover) _object2->addMover(NULL); } + - if (v == 0) { + switch (v) { + case 0: _object1.animate(ANIM_MODE_2, NULL); - } else { + break; + case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4111, (_object2->_strip * 2) - 1, 1); + if (R2_GLOBALS._player._characterIndex == 2) + _object1.setup(4010, 3, 1); + else + _object1.setup(4010, 5, 1); + _object1.animate(ANIM_MODE_5, this); + break; + default: + signal(); + break; } } -SpeakerJocko3230::SpeakerJocko3230() { - _speakerName = "Jocko"; - _color1 = 45; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} +void SpeakerQuinn3400::proc15() { + Scene3400 *scene = (Scene3400 *)R2_GLOBALS._sceneManager._scene; -void SpeakerJocko3230::proc15() { int v = _fieldF6; - Scene3230 *scene = (Scene3230 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor2; + if (R2_GLOBALS._player._characterIndex == 1) + _object2 = &R2_GLOBALS._player; + else if (R2_GLOBALS._player._characterIndex == 2) + _object2 = &scene->_actor1; + else + _object2 = &scene->_actor2; + _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); - - if (_object2->_mover) + _object1._numFrames = 7; + _object1._effect = 1; + _object1.changeZoom(-1); + R2_GLOBALS._player.disableControl(); + if (_object2->_mover) _object2->addMover(NULL); } - if (v == 0) { + switch (v) { + case 0: _object1.animate(ANIM_MODE_2, NULL); - } else { + break; + case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4060, (_object2->_strip * 2) - 1, 1); - _object1.animate(ANIM_MODE_5, this); + _object1.setup(4010, 5, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 2: + ((SceneItem *)_action)->_sceneRegionId = 0; + _object1.setup(4010, 3, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 3: + ((SceneItem *)_action)->_sceneRegionId = 0; + _object1.setup(4012, 3, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + default: + signal(); + break; } } -SpeakerTeal3240::SpeakerTeal3240() { - _speakerName = "Teal"; - _color1 = 22; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; +void SpeakerQuinn3700::setText(const Common::String &msg) { + Scene3700 *scene = (Scene3700 *)R2_GLOBALS._sceneManager._scene; + + switch (_fieldF6) { + case 2: + scene->_actor3.setup(30, 1, 1); + R2_GLOBALS._sound2.play(44); + break; + case 3: + scene->_actor3.setup(30, 1, 1); + break; + default: + scene->_actor3.setup(30, 7, 1); + break; + } + VisualSpeaker::setText(msg); } -void SpeakerTeal3240::proc15() { +void SpeakerQuinn3700::proc15() { + Scene3700 *scene = (Scene3700 *)R2_GLOBALS._sceneManager._scene; + int v = _fieldF6; - Scene3240 *scene = (Scene3240 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { _object2 = &scene->_actor1; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); + _object1._numFrames = 7; + R2_GLOBALS._player.disableControl(); + R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); - if (_object2->_mover) + if (_object2->_mover) _object2->addMover(NULL); } - if (v == 0) { + _object1.setPosition(_object2->_position); + + switch (v) { + case 0: _object1.animate(ANIM_MODE_2, NULL); - } else { + break; + case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4070, (_object2->_strip * 2) - 1, 1); - _object1.animate(ANIM_MODE_5, this); + R2_GLOBALS._sound2.stop(); + scene->_actor1.setup(10, 4, 1); + scene->_actor3.setup(30, 7, 1); + _object1.setup(3701, 1, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 2: + ((SceneItem *)_action)->_sceneRegionId = 0; + scene->_actor2.setup(20, 1, 1); + scene->_actor3.setup(30, 1, 1); + _object1.setup(3701, 2, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 3: + ((SceneItem *)_action)->_sceneRegionId = 0; + scene->_actor1.setup(10, 2, 1); + scene->_actor3.setup(30, 1, 1); + _object1.setup(4011, 1, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + default: + signal(); + break; } } -SpeakerWebbster3240::SpeakerWebbster3240() { - _speakerName = "Webbster"; - _color1 = 10; +//---------------------------------------------------------------------------- +// Classes related to QUINNL +//---------------------------------------------------------------------------- + +SpeakerQuinnL::SpeakerQuinnL(): VisualSpeaker() { + _speakerName = "QUINNL"; + _color1 = 35; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -1413,30 +1306,12 @@ SpeakerWebbster3240::SpeakerWebbster3240() { _object2 = NULL; _displayMode = 1; _numFrames = 0; + _fontNumber = 10; } -void SpeakerWebbster3240::proc15() { - int v = _fieldF6; - Scene3240 *scene = (Scene3240 *)R2_GLOBALS._sceneManager._scene; - - if (!_object2) { - _object2 = &scene->_actor2; - _object2->hide(); - _object1.postInit(); - _object1.setPosition(_object2->_position); - - if (_object2->_mover) - _object2->addMover(NULL); - } - - if (v == 0) { - _object1.animate(ANIM_MODE_2, NULL); - } else { - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4110, 5, 1); - _object1.animate(ANIM_MODE_5, this); - } -} +//---------------------------------------------------------------------------- +// Classes related to RALF +//---------------------------------------------------------------------------- SpeakerRalf3245::SpeakerRalf3245() { _speakerName = "Ralf"; @@ -1486,9 +1361,13 @@ void SpeakerRalf3245::proc15() { } } -SpeakerTomko3245::SpeakerTomko3245() { - _speakerName = "Tomko"; - _color1 = 10; +//---------------------------------------------------------------------------- +// Classes related to ROCKO +//---------------------------------------------------------------------------- + +SpeakerRocko::SpeakerRocko() { + _speakerName = "Rocko"; + _color1 = 5; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -1498,12 +1377,12 @@ SpeakerTomko3245::SpeakerTomko3245() { _numFrames = 0; } -void SpeakerTomko3245::proc15() { +void SpeakerRocko3200::proc15() { int v = _fieldF6; - Scene3245 *scene = (Scene3245 *)R2_GLOBALS._sceneManager._scene; + Scene3200 *scene = (Scene3200 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor2; + _object2 = &scene->_actor1; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); @@ -1516,95 +1395,64 @@ void SpeakerTomko3245::proc15() { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - switch (_object2->_visage) { - case 3100: - _object1.setup(4105, (_object2->_strip * 2) - 1, 1); - break; - case 3101: - _object1.setup(4108, (_object2->_strip * 2) - 1, 1); - break; - case 3102: - _object1.setup(4109, (_object2->_strip * 2) - 1, 1); - break; - default: - break; - } - + _object1.setup(4060, (_object2->_strip * 2) - 1, 1); _object1.animate(ANIM_MODE_5, this); } } -SpeakerQuinn3255::SpeakerQuinn3255() { - _speakerName = "QUINN"; - _color1 = 60; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerQuinn3255::proc15() { - Scene3255 *scene = (Scene3255 *)R2_GLOBALS._sceneManager._scene; - +void SpeakerRocko3220::proc15() { int v = _fieldF6; + Scene3220 *scene = (Scene3220 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor4; + _object2 = &scene->_actor1; _object2->hide(); _object1.postInit(); - _object1._effect = _object2->_effect; - _object1._shade = _object2->_shade; _object1.setPosition(_object2->_position); + + if (_object2->_mover) + _object2->addMover(NULL); } if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(3257, 3, 1); + _object1.setup(4060, (_object2->_strip * 2) - 1, 1); _object1.animate(ANIM_MODE_5, this); } } -SpeakerMiranda3255::SpeakerMiranda3255() { - _speakerName = "MIRANDA"; - _color1 = 154; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerMiranda3255::proc15() { +void SpeakerRocko3230::proc15() { int v = _fieldF6; + Scene3230 *scene = (Scene3230 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &R2_GLOBALS._player; + _object2 = &scene->_actor1; _object2->hide(); _object1.postInit(); - _object1._effect = _object2->_effect; - _object1._shade = _object2->_shade; _object1.setPosition(_object2->_position); + + if (_object2->_mover) + _object2->addMover(NULL); } if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(3257, 5, 1); + _object1.setup(4111, (_object2->_strip * 2) - 1, 1); _object1.animate(ANIM_MODE_5, this); } } -SpeakerQuinn3375::SpeakerQuinn3375() { - _speakerName = "QUINN"; - _color1 = 60; +//---------------------------------------------------------------------------- +// Classes related to SEEKER +//---------------------------------------------------------------------------- + +SpeakerSeeker::SpeakerSeeker(): VisualSpeaker() { + _speakerName = "SEEKER"; + _color1 = 35; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -1614,199 +1462,104 @@ SpeakerQuinn3375::SpeakerQuinn3375() { _numFrames = 0; } -void SpeakerQuinn3375::proc15() { - Scene3375 *scene = (Scene3375 *)R2_GLOBALS._sceneManager._scene; - +void SpeakerSeeker300::proc15() { int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 1) + if (R2_GLOBALS._player._characterIndex == 3) { _object2 = &R2_GLOBALS._player; - else if (R2_GLOBALS._player._characterIndex == 2) - _object2 = &scene->_actor1; - else - _object2 = &scene->_actor2; + } else { + Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene; + _object2 = &scene->_seeker; + } _object2->hide(); _object1.postInit(); + _object1.fixPriority(140); _object1.setPosition(_object2->_position); - _object1._numFrames = 7; - _object1._effect = 1; - _object1.changeZoom(-1); - - if (scene->_actor1._position.y != 163) - R2_GLOBALS._player.setStrip(8); - else - R2_GLOBALS._player.setStrip(2); - if (R2_GLOBALS._player._mover) - R2_GLOBALS._player.addMover(NULL); - - R2_GLOBALS._player.disableControl(CURSOR_TALK); - R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); - - if (_object2->_mover) + if (_object2->_mover) _object2->addMover(NULL); } - - switch (v) { - case 0: + if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - break; - case 1: + } else if (v == 100) { + _numFrames = 0; ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4010, 5, 1); + + _object1.setStrip(_object1._strip - 1); + _object1.setFrame(_object1.getFrameCount()); + _object1.animate(ANIM_MODE_6, this); + } else { + ((SceneItem *)_action)->_sceneRegionId = 0; + _object1.setup(306, v * 2 - 1, 1); _object1.animate(ANIM_MODE_5, this); - break; - default: - signal(); - break; } } -SpeakerSeeker3375::SpeakerSeeker3375() { - _speakerName = "SEEKER"; - _color1 = 35; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerSeeker3375::proc15() { - Scene3375 *scene = (Scene3375 *)R2_GLOBALS._sceneManager._scene; - +void SpeakerSeeker2435::proc15() { int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 2) + if (R2_GLOBALS._player._characterIndex == 2) { _object2 = &R2_GLOBALS._player; - else + } else { + Scene2435 *scene = (Scene2435 *)R2_GLOBALS._sceneManager._scene; _object2 = &scene->_actor1; + } _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); - _object1._numFrames = 7; - _object1._effect = 1; - _object1.changeZoom(-1); - - if (scene->_actor1._position.y != 163) - R2_GLOBALS._player.setStrip(8); - else - R2_GLOBALS._player.setStrip(2); - - if (R2_GLOBALS._player._mover) - R2_GLOBALS._player.addMover(NULL); - - R2_GLOBALS._player.disableControl(CURSOR_TALK); - R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); - - if (_object2->_mover) - _object2->addMover(NULL); } - - switch (v) { - case 0: + if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - break; - case 1: + } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4031, 1, 1); + _object2->setStrip(7); + _object1.setup(4099, 1, 1); _object1.animate(ANIM_MODE_5, this); - break; - default: - signal(); - break; } } -SpeakerMiranda3375::SpeakerMiranda3375() { - _speakerName = "MIRANDA"; - _color1 = 154; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerMiranda3375::proc15() { - Scene3375 *scene = (Scene3375 *)R2_GLOBALS._sceneManager._scene; - +void SpeakerSeeker2450::proc15() { int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 3) + if (R2_GLOBALS._player._characterIndex == 2) { _object2 = &R2_GLOBALS._player; - else - _object2 = &scene->_actor2; + } else { + Scene2450 *scene = (Scene2450 *)R2_GLOBALS._sceneManager._scene; + _object2 = &scene->_actor1; + } _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); - _object1._numFrames = 7; - _object1._effect = 1; - _object1.changeZoom(-1); - - if (scene->_actor1._position.y != 163) - R2_GLOBALS._player.setStrip(8); - else - R2_GLOBALS._player.setStrip(2); - - R2_GLOBALS._player.disableControl(); - - if (R2_GLOBALS._player._mover) - R2_GLOBALS._player.addMover(NULL); - - R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); - - if (_object2->_mover) - _object2->addMover(NULL); } - - switch (v) { - case 0: + if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - break; - case 1: + } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4051, 5, 1); + _object1.setup(4099, 3, 1); _object1.animate(ANIM_MODE_5, this); - break; - default: - signal(); - break; } } -SpeakerWebbster3375::SpeakerWebbster3375() { - _speakerName = "WEBBSTER"; - _color1 = 60; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerWebbster3375::proc15() { +void SpeakerSeeker3375::proc15() { Scene3375 *scene = (Scene3375 *)R2_GLOBALS._sceneManager._scene; int v = _fieldF6; if (!_object2) { - _object2 = &scene->_actor3; + if (R2_GLOBALS._player._characterIndex == 2) + _object2 = &R2_GLOBALS._player; + else + _object2 = &scene->_actor1; + _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); @@ -1822,7 +1575,7 @@ void SpeakerWebbster3375::proc15() { if (R2_GLOBALS._player._mover) R2_GLOBALS._player.addMover(NULL); - R2_GLOBALS._player.disableControl(); + R2_GLOBALS._player.disableControl(CURSOR_TALK); R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); if (_object2->_mover) @@ -1836,7 +1589,7 @@ void SpeakerWebbster3375::proc15() { break; case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4110, 5, 1); + _object1.setup(4031, 1, 1); _object1.animate(ANIM_MODE_5, this); break; default: @@ -1845,29 +1598,16 @@ void SpeakerWebbster3375::proc15() { } } -SpeakerQuinn3385::SpeakerQuinn3385() { - _speakerName = "QUINN"; - _color1 = 60; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} -void SpeakerQuinn3385::proc15() { +void SpeakerSeeker3385::proc15() { Scene3385 *scene = (Scene3385 *)R2_GLOBALS._sceneManager._scene; int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 1) + if (R2_GLOBALS._player._characterIndex == 2) _object2 = &R2_GLOBALS._player; - else if (R2_GLOBALS._player._characterIndex == 2) - _object2 = &scene->_actor1; else - _object2 = &scene->_actor2; + _object2 = &scene->_actor1; _object2->hide(); _object1.postInit(); @@ -1898,11 +1638,7 @@ void SpeakerQuinn3385::proc15() { break; case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - if (R2_GLOBALS._player._characterIndex == 2) - _object1.setup(4010, 3, 1); - else - _object1.setup(4010, 5, 1); - + _object1.setup(4031, 3, 1); _object1.animate(ANIM_MODE_5, this); break; default: @@ -1911,20 +1647,8 @@ void SpeakerQuinn3385::proc15() { } } -SpeakerSeeker3385::SpeakerSeeker3385() { - _speakerName = "SEEKER"; - _color1 = 35; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerSeeker3385::proc15() { - Scene3385 *scene = (Scene3385 *)R2_GLOBALS._sceneManager._scene; +void SpeakerSeeker3400::proc15() { + Scene3400 *scene = (Scene3400 *)R2_GLOBALS._sceneManager._scene; int v = _fieldF6; @@ -1940,22 +1664,12 @@ void SpeakerSeeker3385::proc15() { _object1._numFrames = 7; _object1._effect = 1; _object1.changeZoom(-1); - - if (R2_GLOBALS._sceneManager._previousScene == 3375) - R2_GLOBALS._player.setStrip(4); - else - R2_GLOBALS._player.setStrip(3); - - if (R2_GLOBALS._player._mover) - R2_GLOBALS._player.addMover(NULL); - - R2_GLOBALS._player.disableControl(CURSOR_TALK); + R2_GLOBALS._player.disableControl(); R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); if (_object2->_mover) _object2->addMover(NULL); } - switch (v) { case 0: @@ -1963,8 +1677,28 @@ void SpeakerSeeker3385::proc15() { break; case 1: ((SceneItem *)_action)->_sceneRegionId = 0; + _object1.setup(4031, 1, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 2: + ((SceneItem *)_action)->_sceneRegionId = 0; _object1.setup(4031, 3, 1); - _object1.animate(ANIM_MODE_5, this); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 3: + ((SceneItem *)_action)->_sceneRegionId = 0; + _object1.setup(4030, 3, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 4: + ((SceneItem *)_action)->_sceneRegionId = 0; + _object1.setup(4031, 7, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 5: + ((SceneItem *)_action)->_sceneRegionId = 0; + _object1.setup(4033, 1, 1); + _object1.animate(ANIM_MODE_5, NULL); break; default: signal(); @@ -1972,51 +1706,37 @@ void SpeakerSeeker3385::proc15() { } } -SpeakerMiranda3385::SpeakerMiranda3385() { - _speakerName = "MIRANDA"; - _color1 = 154; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; +void SpeakerSeeker3700::setText(const Common::String &msg) { + Scene3700 *scene = (Scene3700 *)R2_GLOBALS._sceneManager._scene; + + if (_fieldF6 == 1) { + R2_GLOBALS._sound2.play(44); + scene->_actor3.setup(30, 8, 1); + } else { + scene->_actor3.setup(30, 2, 1); + } + VisualSpeaker::setText(msg); } -void SpeakerMiranda3385::proc15() { - Scene3385 *scene = (Scene3385 *)R2_GLOBALS._sceneManager._scene; +void SpeakerSeeker3700::proc15() { + Scene3700 *scene = (Scene3700 *)R2_GLOBALS._sceneManager._scene; int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 3) - _object2 = &R2_GLOBALS._player; - else - _object2 = &scene->_actor2; - + _object2 = &scene->_actor2; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); _object1._numFrames = 7; - _object1._effect = 1; - _object1.changeZoom(-1); - - if (R2_GLOBALS._sceneManager._previousScene == 3375) - R2_GLOBALS._player.setStrip(4); - else - R2_GLOBALS._player.setStrip(3); - - if (R2_GLOBALS._player._mover) - R2_GLOBALS._player.addMover(NULL); - - R2_GLOBALS._player.disableControl(CURSOR_TALK); + R2_GLOBALS._player.disableControl(); R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); if (_object2->_mover) _object2->addMover(NULL); } - + + _object1.setPosition(_object2->_position); switch (v) { case 0: @@ -2024,8 +1744,20 @@ void SpeakerMiranda3385::proc15() { break; case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4051, 5, 1); - _object1.animate(ANIM_MODE_5, this); + R2_GLOBALS._sound2.stop(); + scene->_actor1.setup(10, 8, 1); + scene->_actor2.setup(20, 7, 1); + scene->_actor3.setup(30, 8, 1); + _object1.setup(3701, 3, 1); + _object1.animate(ANIM_MODE_5, NULL); + break; + case 2: + ((SceneItem *)_action)->_sceneRegionId = 0; + scene->_actor1.setup(10, 2, 1); + scene->_actor2.setup(20, 1, 1); + scene->_actor3.setup(30, 1, 1); + _object1.setup(4031, 1, 1); + _object1.animate(ANIM_MODE_5, NULL); break; default: signal(); @@ -2033,9 +1765,13 @@ void SpeakerMiranda3385::proc15() { } } -SpeakerWebbster3385::SpeakerWebbster3385() { - _speakerName = "WEBBSTER"; - _color1 = 60; +//---------------------------------------------------------------------------- +// Classes related to SEEKERL +//---------------------------------------------------------------------------- + +SpeakerSeekerL::SpeakerSeekerL(): VisualSpeaker() { + _speakerName = "SEEKERL"; + _color1 = 35; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -2043,55 +1779,16 @@ SpeakerWebbster3385::SpeakerWebbster3385() { _object2 = NULL; _displayMode = 1; _numFrames = 0; + _fontNumber = 10; } -void SpeakerWebbster3385::proc15() { - Scene3385 *scene = (Scene3385 *)R2_GLOBALS._sceneManager._scene; - - int v = _fieldF6; - - if (!_object2) { - _object2 = &scene->_actor3; - _object2->hide(); - _object1.postInit(); - _object1.setPosition(_object2->_position); - _object1._numFrames = 7; - _object1._effect = 1; - _object1.changeZoom(-1); - - if (R2_GLOBALS._sceneManager._previousScene == 3375) - R2_GLOBALS._player.setStrip(4); - else - R2_GLOBALS._player.setStrip(3); - - if (R2_GLOBALS._player._mover) - R2_GLOBALS._player.addMover(NULL); - - R2_GLOBALS._player.disableControl(CURSOR_TALK); - R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); +//---------------------------------------------------------------------------- +// Classes related to SOCKO +//---------------------------------------------------------------------------- - if (_object2->_mover) - _object2->addMover(NULL); - } - - switch (v) { - case 0: - _object1.animate(ANIM_MODE_2, NULL); - break; - case 1: - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4110, 5, 1); - _object1.animate(ANIM_MODE_5, this); - break; - default: - signal(); - break; - } -} - -SpeakerQuinn3400::SpeakerQuinn3400() { - _speakerName = "QUINN"; - _color1 = 60; +SpeakerSocko3200::SpeakerSocko3200() { + _speakerName = "Socko"; + _color1 = 10; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -2100,58 +1797,37 @@ SpeakerQuinn3400::SpeakerQuinn3400() { _displayMode = 1; _numFrames = 0; } -void SpeakerQuinn3400::proc15() { - Scene3400 *scene = (Scene3400 *)R2_GLOBALS._sceneManager._scene; +void SpeakerSocko3200::proc15() { int v = _fieldF6; + Scene3200 *scene = (Scene3200 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 1) - _object2 = &R2_GLOBALS._player; - else if (R2_GLOBALS._player._characterIndex == 2) - _object2 = &scene->_actor1; - else - _object2 = &scene->_actor2; - + _object2 = &scene->_actor3; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); - _object1._numFrames = 7; - _object1._effect = 1; - _object1.changeZoom(-1); - R2_GLOBALS._player.disableControl(); - if (_object2->_mover) + + if (_object2->_mover) _object2->addMover(NULL); } - switch (v) { - case 0: + if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - break; - case 1: - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4010, 5, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 2: - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4010, 3, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 3: + } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4012, 3, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - default: - signal(); - break; + _object1.setup(4060, (_object2->_strip * 2) - 1, 1); + _object1.animate(ANIM_MODE_5, this); } } -SpeakerSeeker3400::SpeakerSeeker3400() { - _speakerName = "SEEKER"; - _color1 = 35; +//---------------------------------------------------------------------------- +// Classes related to SOLDIER +//---------------------------------------------------------------------------- + +SpeakerSoldier300::SpeakerSoldier300(): VisualSpeaker() { + _speakerName = "SOLDIER"; + _color1 = 60; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -2161,68 +1837,37 @@ SpeakerSeeker3400::SpeakerSeeker3400() { _numFrames = 0; } -void SpeakerSeeker3400::proc15() { - Scene3400 *scene = (Scene3400 *)R2_GLOBALS._sceneManager._scene; - +void SpeakerSoldier300::proc15() { int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 2) - _object2 = &R2_GLOBALS._player; - else - _object2 = &scene->_actor1; - + Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene; + _object2 = &scene->_teal; _object2->hide(); + _object1.postInit(); _object1.setPosition(_object2->_position); - _object1._numFrames = 7; - _object1._effect = 1; - _object1.changeZoom(-1); - R2_GLOBALS._player.disableControl(); - R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); - if (_object2->_mover) + if (_object2->_mover) _object2->addMover(NULL); } - switch (v) { - case 0: + if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - break; - case 1: - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4031, 1, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 2: - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4031, 3, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 3: - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4030, 3, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 4: - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4031, 7, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 5: + } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4033, 1, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - default: - signal(); - break; + _object1.setup(303, 3, 1); + _object1.animate(ANIM_MODE_5, this); } } -SpeakerMiranda3400::SpeakerMiranda3400() { - _speakerName = "MIRANDA"; - _color1 = 154; +//---------------------------------------------------------------------------- +// Classes related to TEAL +//---------------------------------------------------------------------------- + +SpeakerTeal::SpeakerTeal(): VisualSpeaker() { + _speakerName = "TEAL"; + _color1 = 22; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -2232,119 +1877,53 @@ SpeakerMiranda3400::SpeakerMiranda3400() { _numFrames = 0; } -void SpeakerMiranda3400::proc15() { - Scene3400 *scene = (Scene3400 *)R2_GLOBALS._sceneManager._scene; - +void SpeakerTeal300::proc15() { int v = _fieldF6; if (!_object2) { - if (R2_GLOBALS._player._characterIndex == 3) - _object2 = &R2_GLOBALS._player; - else - _object2 = &scene->_actor2; - + Scene300 *scene = (Scene300 *)R2_GLOBALS._sceneManager._scene; + _object2 = &scene->_teal; _object2->hide(); + _object1.postInit(); _object1.setPosition(_object2->_position); - _object1._numFrames = 7; - _object1._effect = 1; - _object1.changeZoom(-1); - R2_GLOBALS._player.disableControl(); - R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); - if (_object2->_mover) + if (_object2->_mover) _object2->addMover(NULL); } - switch (v) { - case 0: + if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - break; - case 1: - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4051, 5, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 2: + } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4050, 3, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - default: - signal(); - break; + _object1.setup(303, 1, 1); + _object1.animate(ANIM_MODE_5, this); } } -SpeakerWebbster3400::SpeakerWebbster3400() { - _speakerName = "WEBBSTER"; - _color1 = 27; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - -void SpeakerWebbster3400::proc15() { - Scene3400 *scene = (Scene3400 *)R2_GLOBALS._sceneManager._scene; - +void SpeakerTeal3240::proc15() { int v = _fieldF6; + Scene3240 *scene = (Scene3240 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor3; + _object2 = &scene->_actor1; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); - _object1._numFrames = 7; - _object1._effect = 1; - _object1.changeZoom(-1); - R2_GLOBALS._player.disableControl(); - R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); - if (_object2->_mover) + if (_object2->_mover) _object2->addMover(NULL); } - switch (v) { - case 0: + if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - break; - case 1: - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4110, 5, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 2: - ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4110, 7, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 3: + } else { ((SceneItem *)_action)->_sceneRegionId = 0; - _object1.setup(4110, 3, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - default: - signal(); - break; + _object1.setup(4070, (_object2->_strip * 2) - 1, 1); + _object1.animate(ANIM_MODE_5, this); } } -SpeakerTeal3400::SpeakerTeal3400() { - _speakerName = "TEAL"; - _color1 = 22; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; -} - void SpeakerTeal3400::proc15() { Scene3400 *scene = (Scene3400 *)R2_GLOBALS._sceneManager._scene; @@ -2402,9 +1981,13 @@ void SpeakerTeal3400::proc15() { } } -SpeakerQuinn3700::SpeakerQuinn3700() { - _speakerName = "QUINN"; - _color1 = 60; +//---------------------------------------------------------------------------- +// Classes related to TOMKO +//---------------------------------------------------------------------------- + +SpeakerTomko3245::SpeakerTomko3245() { + _speakerName = "Tomko"; + _color1 = 10; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -2414,79 +1997,49 @@ SpeakerQuinn3700::SpeakerQuinn3700() { _numFrames = 0; } -void SpeakerQuinn3700::setText(const Common::String &msg) { - Scene3700 *scene = (Scene3700 *)R2_GLOBALS._sceneManager._scene; - - switch (_fieldF6) { - case 2: - scene->_actor3.setup(30, 1, 1); - R2_GLOBALS._sound2.play(44); - break; - case 3: - scene->_actor3.setup(30, 1, 1); - break; - default: - scene->_actor3.setup(30, 7, 1); - break; - } - VisualSpeaker::setText(msg); -} - -void SpeakerQuinn3700::proc15() { - Scene3700 *scene = (Scene3700 *)R2_GLOBALS._sceneManager._scene; - +void SpeakerTomko3245::proc15() { int v = _fieldF6; + Scene3245 *scene = (Scene3245 *)R2_GLOBALS._sceneManager._scene; if (!_object2) { - _object2 = &scene->_actor1; + _object2 = &scene->_actor2; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); - _object1._numFrames = 7; - R2_GLOBALS._player.disableControl(); - R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); - if (_object2->_mover) + if (_object2->_mover) _object2->addMover(NULL); } - _object1.setPosition(_object2->_position); - - switch (v) { - case 0: + if (v == 0) { _object1.animate(ANIM_MODE_2, NULL); - break; - case 1: - ((SceneItem *)_action)->_sceneRegionId = 0; - R2_GLOBALS._sound2.stop(); - scene->_actor1.setup(10, 4, 1); - scene->_actor3.setup(30, 7, 1); - _object1.setup(3701, 1, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 2: - ((SceneItem *)_action)->_sceneRegionId = 0; - scene->_actor2.setup(20, 1, 1); - scene->_actor3.setup(30, 1, 1); - _object1.setup(3701, 2, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 3: + } else { ((SceneItem *)_action)->_sceneRegionId = 0; - scene->_actor1.setup(10, 2, 1); - scene->_actor3.setup(30, 1, 1); - _object1.setup(4011, 1, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - default: - signal(); - break; + switch (_object2->_visage) { + case 3100: + _object1.setup(4105, (_object2->_strip * 2) - 1, 1); + break; + case 3101: + _object1.setup(4108, (_object2->_strip * 2) - 1, 1); + break; + case 3102: + _object1.setup(4109, (_object2->_strip * 2) - 1, 1); + break; + default: + break; + } + + _object1.animate(ANIM_MODE_5, this); } } -SpeakerSeeker3700::SpeakerSeeker3700() { - _speakerName = "SEEKER"; - _color1 = 35; +//---------------------------------------------------------------------------- +// Classes related to WEBBSTER +//---------------------------------------------------------------------------- + +SpeakerWebbster::SpeakerWebbster(int colour) { + _speakerName = "WEBBSTER"; + _color1 = colour; _color2 = 0; _fieldF6 = 0; _textWidth = 300; @@ -2496,29 +2049,51 @@ SpeakerSeeker3700::SpeakerSeeker3700() { _numFrames = 0; } -void SpeakerSeeker3700::setText(const Common::String &msg) { - Scene3700 *scene = (Scene3700 *)R2_GLOBALS._sceneManager._scene; +void SpeakerWebbster3240::proc15() { + int v = _fieldF6; + Scene3240 *scene = (Scene3240 *)R2_GLOBALS._sceneManager._scene; - if (_fieldF6 == 1) { - R2_GLOBALS._sound2.play(44); - scene->_actor3.setup(30, 8, 1); + if (!_object2) { + _object2 = &scene->_actor2; + _object2->hide(); + _object1.postInit(); + _object1.setPosition(_object2->_position); + + if (_object2->_mover) + _object2->addMover(NULL); + } + + if (v == 0) { + _object1.animate(ANIM_MODE_2, NULL); } else { - scene->_actor3.setup(30, 2, 1); + ((SceneItem *)_action)->_sceneRegionId = 0; + _object1.setup(4110, 5, 1); + _object1.animate(ANIM_MODE_5, this); } - VisualSpeaker::setText(msg); } -void SpeakerSeeker3700::proc15() { - Scene3700 *scene = (Scene3700 *)R2_GLOBALS._sceneManager._scene; +void SpeakerWebbster3375::proc15() { + Scene3375 *scene = (Scene3375 *)R2_GLOBALS._sceneManager._scene; int v = _fieldF6; if (!_object2) { - _object2 = &scene->_actor2; + _object2 = &scene->_actor3; _object2->hide(); _object1.postInit(); _object1.setPosition(_object2->_position); _object1._numFrames = 7; + _object1._effect = 1; + _object1.changeZoom(-1); + + if (scene->_actor1._position.y != 163) + R2_GLOBALS._player.setStrip(8); + else + R2_GLOBALS._player.setStrip(2); + + if (R2_GLOBALS._player._mover) + R2_GLOBALS._player.addMover(NULL); + R2_GLOBALS._player.disableControl(); R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); @@ -2526,28 +2101,14 @@ void SpeakerSeeker3700::proc15() { _object2->addMover(NULL); } - _object1.setPosition(_object2->_position); - switch (v) { case 0: _object1.animate(ANIM_MODE_2, NULL); break; case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - R2_GLOBALS._sound2.stop(); - scene->_actor1.setup(10, 8, 1); - scene->_actor2.setup(20, 7, 1); - scene->_actor3.setup(30, 8, 1); - _object1.setup(3701, 3, 1); - _object1.animate(ANIM_MODE_5, NULL); - break; - case 2: - ((SceneItem *)_action)->_sceneRegionId = 0; - scene->_actor1.setup(10, 2, 1); - scene->_actor2.setup(20, 1, 1); - scene->_actor3.setup(30, 1, 1); - _object1.setup(4031, 1, 1); - _object1.animate(ANIM_MODE_5, NULL); + _object1.setup(4110, 5, 1); + _object1.animate(ANIM_MODE_5, this); break; default: signal(); @@ -2555,20 +2116,52 @@ void SpeakerSeeker3700::proc15() { } } -SpeakerMiranda3700::SpeakerMiranda3700() { - _speakerName = "MIRANDA"; - _color1 = 154; - _color2 = 0; - _fieldF6 = 0; - _textWidth = 300; - _hideObjects = false; - _object2 = NULL; - _displayMode = 1; - _numFrames = 0; +void SpeakerWebbster3385::proc15() { + Scene3385 *scene = (Scene3385 *)R2_GLOBALS._sceneManager._scene; + + int v = _fieldF6; + + if (!_object2) { + _object2 = &scene->_actor3; + _object2->hide(); + _object1.postInit(); + _object1.setPosition(_object2->_position); + _object1._numFrames = 7; + _object1._effect = 1; + _object1.changeZoom(-1); + + if (R2_GLOBALS._sceneManager._previousScene == 3375) + R2_GLOBALS._player.setStrip(4); + else + R2_GLOBALS._player.setStrip(3); + + if (R2_GLOBALS._player._mover) + R2_GLOBALS._player.addMover(NULL); + + R2_GLOBALS._player.disableControl(CURSOR_TALK); + R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); + + if (_object2->_mover) + _object2->addMover(NULL); + } + + switch (v) { + case 0: + _object1.animate(ANIM_MODE_2, NULL); + break; + case 1: + ((SceneItem *)_action)->_sceneRegionId = 0; + _object1.setup(4110, 5, 1); + _object1.animate(ANIM_MODE_5, this); + break; + default: + signal(); + break; + } } -void SpeakerMiranda3700::proc15() { - Scene3700 *scene = (Scene3700 *)R2_GLOBALS._sceneManager._scene; +void SpeakerWebbster3400::proc15() { + Scene3400 *scene = (Scene3400 *)R2_GLOBALS._sceneManager._scene; int v = _fieldF6; @@ -2578,6 +2171,8 @@ void SpeakerMiranda3700::proc15() { _object1.postInit(); _object1.setPosition(_object2->_position); _object1._numFrames = 7; + _object1._effect = 1; + _object1.changeZoom(-1); R2_GLOBALS._player.disableControl(); R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS); @@ -2585,32 +2180,23 @@ void SpeakerMiranda3700::proc15() { _object2->addMover(NULL); } - _object1.setPosition(_object2->_position); - switch (v) { case 0: _object1.animate(ANIM_MODE_2, NULL); break; case 1: ((SceneItem *)_action)->_sceneRegionId = 0; - scene->_actor1.setup(10, 6, 1); - scene->_actor2.setup(20, 5, 1); - _object2->setup(30, 1, 1); - scene->_actor4.setup(40, 1, 1); - _object1.setup(4050, 5, 1); + _object1.setup(4110, 5, 1); _object1.animate(ANIM_MODE_5, NULL); break; case 2: ((SceneItem *)_action)->_sceneRegionId = 0; - scene->_actor3.setup(30, 8, 1); - _object1.setup(4052, 3, 1); + _object1.setup(4110, 7, 1); _object1.animate(ANIM_MODE_5, NULL); break; case 3: ((SceneItem *)_action)->_sceneRegionId = 0; - scene->_actor2.setup(20, 1, 1); - scene->_actor3.setup(30, 1, 1); - _object1.setup(4051, 7, 1); + _object1.setup(4110, 3, 1); _object1.animate(ANIM_MODE_5, NULL); break; default: diff --git a/engines/tsage/ringworld2/ringworld2_speakers.h b/engines/tsage/ringworld2/ringworld2_speakers.h index c3de6a68a8..3020b19431 100644 --- a/engines/tsage/ringworld2/ringworld2_speakers.h +++ b/engines/tsage/ringworld2/ringworld2_speakers.h @@ -63,461 +63,442 @@ public: void setDelay(int delay); }; -class SpeakerMiranda300 : public VisualSpeaker { +// Classes related to Captain + +class SpeakerCaptain3210 : public VisualSpeaker { public: - SpeakerMiranda300(); + SpeakerCaptain3210(); - virtual Common::String getClassName() { return "SpeakerMiranda300"; } + virtual Common::String getClassName() { return "SpeakerCaptain3210"; } virtual void proc15(); }; -class SpeakerSeeker300 : public VisualSpeaker { +// Classes related to Caretaker + +class SpeakerCaretaker2450 : public VisualSpeaker { public: - SpeakerSeeker300(); + SpeakerCaretaker2450(); - virtual Common::String getClassName() { return "SpeakerSeeker300"; } - virtual void proc15(); + virtual Common::String getClassName() { return "SpeakerCaretaker2450"; } }; -class SpeakerSeekerL : public VisualSpeaker { -public: - SpeakerSeekerL(); +// Classes related to Guard - virtual Common::String getClassName() { return "SpeakerSeekerL"; } +class SpeakerGuard : public VisualSpeaker { +public: + SpeakerGuard(); + virtual Common::String getClassName() { return "SpeakerGuard"; } }; -class SpeakerQuinnL : public VisualSpeaker { +class SpeakerGuard2800 : public SpeakerGuard { public: - SpeakerQuinnL(); - - virtual Common::String getClassName() { return "SpeakerQuinnL"; } + virtual Common::String getClassName() { return "SpeakerGuard2800"; } + virtual void proc15(); }; -class SpeakerQuinn300 : public VisualSpeaker { +// Classes related to Jocko + +class SpeakerJocko : public VisualSpeaker { public: - SpeakerQuinn300(); + SpeakerJocko(); + virtual Common::String getClassName() { return "SpeakerJocko"; } +}; - virtual Common::String getClassName() { return "SpeakerQuinn300"; } +class SpeakerJocko3200 : public SpeakerJocko { +public: + virtual Common::String getClassName() { return "SpeakerJocko3200"; } virtual void proc15(); }; -class SpeakerTeal300 : public VisualSpeaker { +class SpeakerJocko3220 : public SpeakerJocko { public: - SpeakerTeal300(); - - virtual Common::String getClassName() { return "SpeakerTeal300"; } + virtual Common::String getClassName() { return "SpeakerJocko3220"; } virtual void proc15(); }; -class SpeakerSoldier300 : public VisualSpeaker { +class SpeakerJocko3230 : public SpeakerJocko { public: - SpeakerSoldier300(); - - virtual Common::String getClassName() { return "SpeakerSoldier300"; } + virtual Common::String getClassName() { return "SpeakerJocko3230"; } virtual void proc15(); }; -class SpeakerQuinn2350 : public VisualSpeaker { -public: - SpeakerQuinn2350(); +// Classes related to Miranda - virtual Common::String getClassName() { return "SpeakerQuinn2350"; } +class SpeakerMiranda : public VisualSpeaker { +public: + SpeakerMiranda(); + virtual Common::String getClassName() { return "SpeakerMiranda"; } }; -class SpeakerPharisha2350 : public VisualSpeaker { +class SpeakerMiranda300 : public SpeakerMiranda { public: - SpeakerPharisha2350(); - - virtual Common::String getClassName() { return "SpeakerPharisha2350"; } + virtual Common::String getClassName() { return "SpeakerMiranda300"; } + virtual void proc15(); }; -class SpeakerQuinn2435 : public VisualSpeaker { +class SpeakerMiranda3255 : public SpeakerMiranda { public: - SpeakerQuinn2435(); - - virtual Common::String getClassName() { return "SpeakerQuinn2435"; } + virtual Common::String getClassName() { return "SpeakerMiranda3255"; } virtual void proc15(); }; -class SpeakerSeeker2435 : public VisualSpeaker { +class SpeakerMiranda3375 : public SpeakerMiranda { public: - SpeakerSeeker2435(); - - virtual Common::String getClassName() { return "SpeakerSeeker2435"; } + virtual Common::String getClassName() { return "SpeakerMiranda3375"; } virtual void proc15(); }; -class SpeakerPharisha2435 : public VisualSpeaker { +class SpeakerMiranda3385 : public SpeakerMiranda { public: - SpeakerPharisha2435(); - - virtual Common::String getClassName() { return "SpeakerPharisha2435"; } + virtual Common::String getClassName() { return "SpeakerMiranda3385"; } virtual void proc15(); }; -class SpeakerQuinn2450 : public VisualSpeaker { +class SpeakerMiranda3400 : public SpeakerMiranda { public: - SpeakerQuinn2450(); - - virtual Common::String getClassName() { return "SpeakerQuinn2450"; } + virtual Common::String getClassName() { return "SpeakerMiranda3400"; } virtual void proc15(); }; -class SpeakerSeeker2450 : public VisualSpeaker { +class SpeakerMiranda3700 : public SpeakerMiranda { public: - SpeakerSeeker2450(); - - virtual Common::String getClassName() { return "SpeakerSeeker2450"; } + virtual Common::String getClassName() { return "SpeakerMiranda3700"; } virtual void proc15(); }; -class SpeakerCaretaker2450 : public VisualSpeaker { -public: - SpeakerCaretaker2450(); +// Classes related to Nej - virtual Common::String getClassName() { return "SpeakerCaretaker2450"; } +class SpeakerNej : public VisualSpeaker { +public: + SpeakerNej(); + virtual Common::String getClassName() { return "SpeakerNej"; } }; -class SpeakerQuinn2500 : public VisualSpeaker { +class SpeakerNej2700 : public SpeakerNej { public: - SpeakerQuinn2500(); - - virtual Common::String getClassName() { return "SpeakerQuinn2500"; } + virtual Common::String getClassName() { return "SpeakerNej2700"; } + virtual void proc15(); }; -class SpeakerSeeker2500 : public VisualSpeaker { +class SpeakerNej2750 : public SpeakerNej { public: - SpeakerSeeker2500(); - - virtual Common::String getClassName() { return "SpeakerSeeker2500"; } + virtual Common::String getClassName() { return "SpeakerNej2750"; } + virtual void proc15(); }; -class SpeakerMiranda2500 : public VisualSpeaker { +class SpeakerNej2800 : public SpeakerNej { public: - SpeakerMiranda2500(); - - virtual Common::String getClassName() { return "SpeakerMiranda2500"; } + virtual Common::String getClassName() { return "SpeakerNej2800"; } + virtual void proc15(); }; -class SpeakerWebbster2500 : public VisualSpeaker { +// Classes related to Pharisha + +class SpeakerPharisha : public VisualSpeaker { public: - SpeakerWebbster2500(); + SpeakerPharisha(); - virtual Common::String getClassName() { return "SpeakerWebbster2500"; } + virtual Common::String getClassName() { return "SpeakerPharisha"; } }; -class SpeakerQuinn2700 : public VisualSpeaker { +class SpeakerPharisha2435 : public SpeakerPharisha { public: - SpeakerQuinn2700(); - - virtual Common::String getClassName() { return "SpeakerQuinn2700"; } + virtual Common::String getClassName() { return "SpeakerPharisha2435"; } virtual void proc15(); }; -class SpeakerNej2700 : public VisualSpeaker { +// Classes related to Private + +class SpeakerPrivate3210 : public VisualSpeaker { public: - SpeakerNej2700(); + SpeakerPrivate3210(); - virtual Common::String getClassName() { return "SpeakerNej2700"; } + virtual Common::String getClassName() { return "SpeakerPrivate3210"; } virtual void proc15(); }; -class SpeakerQuinn2750 : public VisualSpeaker { -public: - SpeakerQuinn2750(); +// Classes related to Quinn - virtual Common::String getClassName() { return "SpeakerQuinn2750"; } - virtual void proc15(); +class SpeakerQuinn : public VisualSpeaker { +public: + SpeakerQuinn(); + virtual Common::String getClassName() { return "SpeakerQuinn"; } }; -class SpeakerNej2750 : public VisualSpeaker { +class SpeakerQuinn300 : public SpeakerQuinn { public: - SpeakerNej2750(); - - virtual Common::String getClassName() { return "SpeakerNej2750"; } + virtual Common::String getClassName() { return "SpeakerQuinn300"; } virtual void proc15(); }; -class SpeakerQuinn2800 : public VisualSpeaker { +class SpeakerQuinn2435 : public SpeakerQuinn { public: - SpeakerQuinn2800(); - - virtual Common::String getClassName() { return "SpeakerQuinn2800"; } + virtual Common::String getClassName() { return "SpeakerQuinn2435"; } virtual void proc15(); }; -class SpeakerNej2800 : public VisualSpeaker { +class SpeakerQuinn2450 : public SpeakerQuinn { public: - SpeakerNej2800(); - - virtual Common::String getClassName() { return "SpeakerNej2800"; } + virtual Common::String getClassName() { return "SpeakerQuinn2450"; } virtual void proc15(); }; -class SpeakerGuard2800 : public VisualSpeaker { +class SpeakerQuinn2700 : public SpeakerQuinn { public: - SpeakerGuard2800(); - - virtual Common::String getClassName() { return "SpeakerGuard2800"; } + virtual Common::String getClassName() { return "SpeakerQuinn2700"; } virtual void proc15(); }; -class SpeakerGuard3100 : public VisualSpeaker { +class SpeakerQuinn2750 : public SpeakerQuinn { public: - SpeakerGuard3100(); - - virtual Common::String getClassName() { return "SpeakerGuard3100"; } + virtual Common::String getClassName() { return "SpeakerQuinn2750"; } + virtual void proc15(); }; -class SpeakerRocko3200 : public VisualSpeaker { +class SpeakerQuinn2800 : public SpeakerQuinn { public: - SpeakerRocko3200(); - - virtual Common::String getClassName() { return "SpeakerRocko3200"; } + virtual Common::String getClassName() { return "SpeakerQuinn2800"; } virtual void proc15(); }; -class SpeakerJocko3200 : public VisualSpeaker { +class SpeakerQuinn3255 : public SpeakerQuinn { public: - SpeakerJocko3200(); - - virtual Common::String getClassName() { return "SpeakerJocko3200"; } + virtual Common::String getClassName() { return "SpeakerQuinn3255"; } virtual void proc15(); }; -class SpeakerSocko3200 : public VisualSpeaker { +class SpeakerQuinn3375 : public SpeakerQuinn { public: - SpeakerSocko3200(); - - virtual Common::String getClassName() { return "SpeakerSocko3200"; } + virtual Common::String getClassName() { return "SpeakerQuinn3375"; } virtual void proc15(); }; -class SpeakerCaptain3210 : public VisualSpeaker { +class SpeakerQuinn3385 : public SpeakerQuinn { public: - SpeakerCaptain3210(); - - virtual Common::String getClassName() { return "SpeakerCaptain3210"; } + virtual Common::String getClassName() { return "SpeakerQuinn3385"; } virtual void proc15(); }; -class SpeakerPrivate3210 : public VisualSpeaker { +class SpeakerQuinn3400 : public SpeakerQuinn { public: - SpeakerPrivate3210(); - - virtual Common::String getClassName() { return "SpeakerPrivate3210"; } + virtual Common::String getClassName() { return "SpeakerQuinn3400"; } virtual void proc15(); }; -class SpeakerRocko3220 : public VisualSpeaker { +class SpeakerQuinn3700 : public SpeakerQuinn { public: - SpeakerRocko3220(); - - virtual Common::String getClassName() { return "SpeakerRocko3220"; } + virtual Common::String getClassName() { return "SpeakerQuinn3700"; } + virtual void setText(const Common::String &msg); virtual void proc15(); }; -class SpeakerJocko3220 : public VisualSpeaker { +// Classes related to QuinnL + +class SpeakerQuinnL : public VisualSpeaker { public: - SpeakerJocko3220(); + SpeakerQuinnL(); - virtual Common::String getClassName() { return "SpeakerJocko3220"; } - virtual void proc15(); + virtual Common::String getClassName() { return "SpeakerQuinnL"; } }; -class SpeakerRocko3230 : public VisualSpeaker { +// Classes related to Ralf + +class SpeakerRalf3245 : public VisualSpeaker { public: - SpeakerRocko3230(); + SpeakerRalf3245(); - virtual Common::String getClassName() { return "SpeakerRocko3230"; } + virtual Common::String getClassName() { return "SpeakerRalf3245"; } virtual void proc15(); }; -class SpeakerJocko3230 : public VisualSpeaker { -public: - SpeakerJocko3230(); +// Classes related to Rocko - virtual Common::String getClassName() { return "SpeakerJocko3230"; } - virtual void proc15(); +class SpeakerRocko : public VisualSpeaker { +public: + SpeakerRocko(); + virtual Common::String getClassName() { return "SpeakerRocko"; } }; -class SpeakerTeal3240 : public VisualSpeaker { +class SpeakerRocko3200 : public SpeakerRocko { public: - SpeakerTeal3240(); - - virtual Common::String getClassName() { return "SpeakerTeal3240"; } + virtual Common::String getClassName() { return "SpeakerRocko3200"; } virtual void proc15(); }; -class SpeakerWebbster3240 : public VisualSpeaker { +class SpeakerRocko3220 : public SpeakerRocko { public: - SpeakerWebbster3240(); - - virtual Common::String getClassName() { return "SpeakerWebbster3240"; } + virtual Common::String getClassName() { return "SpeakerRocko3220"; } virtual void proc15(); }; -class SpeakerRalf3245 : public VisualSpeaker { +class SpeakerRocko3230 : public SpeakerRocko { public: - SpeakerRalf3245(); - - virtual Common::String getClassName() { return "SpeakerRalf3245"; } + virtual Common::String getClassName() { return "SpeakerRocko3230"; } virtual void proc15(); }; -class SpeakerTomko3245 : public VisualSpeaker { -public: - SpeakerTomko3245(); +// Classes related to Seeker - virtual Common::String getClassName() { return "SpeakerTomko3245"; } - virtual void proc15(); +class SpeakerSeeker : public VisualSpeaker { +public: + SpeakerSeeker(); + virtual Common::String getClassName() { return "SpeakerSeeker"; } }; -class SpeakerQuinn3255 : public VisualSpeaker { +class SpeakerSeeker300 : public SpeakerSeeker { public: - SpeakerQuinn3255(); - - virtual Common::String getClassName() { return "SpeakerQuinn3255"; } + virtual Common::String getClassName() { return "SpeakerSeeker300"; } virtual void proc15(); }; -class SpeakerMiranda3255 : public VisualSpeaker { +class SpeakerSeeker2435 : public SpeakerSeeker { public: - SpeakerMiranda3255(); - - virtual Common::String getClassName() { return "SpeakerMiranda3255"; } + virtual Common::String getClassName() { return "SpeakerSeeker2435"; } virtual void proc15(); }; -class SpeakerQuinn3375 : public VisualSpeaker { +class SpeakerSeeker2450 : public SpeakerSeeker { public: - SpeakerQuinn3375(); - - virtual Common::String getClassName() { return "SpeakerQuinn3375"; } + virtual Common::String getClassName() { return "SpeakerSeeker2450"; } virtual void proc15(); }; -class SpeakerSeeker3375 : public VisualSpeaker { +class SpeakerSeeker3375 : public SpeakerSeeker { public: - SpeakerSeeker3375(); - virtual Common::String getClassName() { return "SpeakerSeeker3375"; } virtual void proc15(); }; -class SpeakerMiranda3375 : public VisualSpeaker { +class SpeakerSeeker3385 : public SpeakerSeeker { public: - SpeakerMiranda3375(); - - virtual Common::String getClassName() { return "SpeakerMiranda3375"; } + virtual Common::String getClassName() { return "SpeakerSeeker3385"; } virtual void proc15(); }; -class SpeakerWebbster3375 : public VisualSpeaker { +class SpeakerSeeker3400 : public SpeakerSeeker { public: - SpeakerWebbster3375(); - - virtual Common::String getClassName() { return "SpeakerWebbster3375"; } + virtual Common::String getClassName() { return "SpeakerSeeker3400"; } virtual void proc15(); }; -class SpeakerQuinn3385 : public VisualSpeaker { +class SpeakerSeeker3700 : public SpeakerSeeker { public: - SpeakerQuinn3385(); - - virtual Common::String getClassName() { return "SpeakerQuinn3385"; } + virtual Common::String getClassName() { return "SpeakerSeeker3700"; } + virtual void setText(const Common::String &msg); virtual void proc15(); }; -class SpeakerSeeker3385 : public VisualSpeaker { +// Classes related to SeekerL + +class SpeakerSeekerL : public VisualSpeaker { public: - SpeakerSeeker3385(); + SpeakerSeekerL(); - virtual Common::String getClassName() { return "SpeakerSeeker3385"; } - virtual void proc15(); + virtual Common::String getClassName() { return "SpeakerSeekerL"; } }; -class SpeakerMiranda3385 : public VisualSpeaker { +// Classes related to Socko + +class SpeakerSocko3200 : public VisualSpeaker { public: - SpeakerMiranda3385(); + SpeakerSocko3200(); - virtual Common::String getClassName() { return "SpeakerMiranda3385"; } + virtual Common::String getClassName() { return "SpeakerSocko3200"; } virtual void proc15(); }; -class SpeakerWebbster3385 : public VisualSpeaker { +// Classes related to Soldier + +class SpeakerSoldier300 : public VisualSpeaker { public: - SpeakerWebbster3385(); + SpeakerSoldier300(); - virtual Common::String getClassName() { return "SpeakerWebbster3385"; } + virtual Common::String getClassName() { return "SpeakerSoldier300"; } virtual void proc15(); }; -class SpeakerQuinn3400 : public VisualSpeaker { +// Classes related to Teal + +class SpeakerTeal : public VisualSpeaker { public: - SpeakerQuinn3400(); + SpeakerTeal(); + virtual Common::String getClassName() { return "SpeakerTeal"; } +}; - virtual Common::String getClassName() { return "SpeakerQuinn3400"; } +class SpeakerTeal300 : public SpeakerTeal { +public: + virtual Common::String getClassName() { return "SpeakerTeal300"; } virtual void proc15(); }; -class SpeakerSeeker3400 : public VisualSpeaker { +class SpeakerTeal3240 : public SpeakerTeal { public: - SpeakerSeeker3400(); + virtual Common::String getClassName() { return "SpeakerTeal3240"; } + virtual void proc15(); +}; - virtual Common::String getClassName() { return "SpeakerSeeker3400"; } +class SpeakerTeal3400 : public SpeakerTeal { +public: + virtual Common::String getClassName() { return "SpeakerTeal3400"; } virtual void proc15(); }; -class SpeakerMiranda3400 : public VisualSpeaker { +// Classes related to Tomko + +class SpeakerTomko3245 : public VisualSpeaker { public: - SpeakerMiranda3400(); + SpeakerTomko3245(); - virtual Common::String getClassName() { return "SpeakerMiranda3400"; } + virtual Common::String getClassName() { return "SpeakerTomko3245"; } virtual void proc15(); }; -class SpeakerWebbster3400 : public VisualSpeaker { +// Classes related to Webbster + +class SpeakerWebbster : public VisualSpeaker { public: - SpeakerWebbster3400(); + SpeakerWebbster(int colour); + virtual Common::String getClassName() { return "SpeakerWebbster"; } +}; - virtual Common::String getClassName() { return "SpeakerWebbster3400"; } - virtual void proc15(); +class SpeakerWebbster2500 : public SpeakerWebbster { +public: + SpeakerWebbster2500() : SpeakerWebbster(27) {} + virtual Common::String getClassName() { return "SpeakerWebbster2500"; } }; -class SpeakerTeal3400 : public VisualSpeaker { +class SpeakerWebbster3240 : public SpeakerWebbster { public: - SpeakerTeal3400(); + SpeakerWebbster3240() : SpeakerWebbster(10) {}; - virtual Common::String getClassName() { return "SpeakerTeal3400"; } + virtual Common::String getClassName() { return "SpeakerWebbster3240"; } virtual void proc15(); }; -class SpeakerQuinn3700 : public VisualSpeaker { +class SpeakerWebbster3375 : public SpeakerWebbster { public: - SpeakerQuinn3700(); + SpeakerWebbster3375() : SpeakerWebbster(60) {}; - virtual Common::String getClassName() { return "SpeakerQuinn3700"; } - virtual void setText(const Common::String &msg); + virtual Common::String getClassName() { return "SpeakerWebbster3375"; } virtual void proc15(); }; -class SpeakerSeeker3700 : public VisualSpeaker { +class SpeakerWebbster3385 : public SpeakerWebbster { public: - SpeakerSeeker3700(); + SpeakerWebbster3385() : SpeakerWebbster(60) {}; - virtual Common::String getClassName() { return "SpeakerSeeker3700"; } - virtual void setText(const Common::String &msg); + virtual Common::String getClassName() { return "SpeakerWebbster3385"; } virtual void proc15(); }; -class SpeakerMiranda3700 : public VisualSpeaker { +class SpeakerWebbster3400 : public SpeakerWebbster { public: - SpeakerMiranda3700(); + SpeakerWebbster3400() : SpeakerWebbster(27) {}; - virtual Common::String getClassName() { return "SpeakerMiranda3700"; } + virtual Common::String getClassName() { return "SpeakerWebbster3400"; } virtual void proc15(); }; + } // End of namespace Ringworld2 } // End of namespace TsAGE |