TSAGE: Implement scene 7100.

There's a problem with _object1 and _action11: a NPC doesn't start
This commit is contained in:
strangerke 2011-03-20 23:48:22 +01:00
parent bdafdbd485
commit 3ed9e9f575
3 changed files with 567 additions and 0 deletions

View File

@ -104,6 +104,7 @@ Scene *SceneFactory::createScene(int sceneNumber) {
/* Scene group 8 */
case 7000: return new Scene7000();
case 7100: return new Scene7100();
case 7200: return new Scene7200();
case 7300: return new Scene7300();
case 7600: return new Scene7600();

View File

@ -633,6 +633,490 @@ void Scene7000::signal() {
}
/*--------------------------------------------------------------------------
* Scene 7100
*
*--------------------------------------------------------------------------*/
void Scene7100::Action3::signal() {
Scene7100 *scene = (Scene7100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
case 0:
setDelay(1);
break;
case 1: {
Common::Point pt(433, 308);
NpcMover *mover = new NpcMover();
scene->_object4.addMover(mover, &pt, this);
break;
}
case 2:
scene->_object4.remove();
remove();
break;
}
}
void Scene7100::Action4::signal() {
Scene7100 *scene = (Scene7100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
case 0:
setDelay(_globals->_randomSource.getRandomNumber(1) + 1);
break;
case 1: {
scene->_object5.setStrip(3);
Common::Point pt(85, 52);
NpcMover *mover = new NpcMover();
scene->_object5.addMover(mover, &pt, this);
break;
}
case 2: {
scene->_object5.setStrip(4);
Common::Point pt(20, 52);
NpcMover *mover = new NpcMover();
scene->_object5.addMover(mover, &pt, this);
break;
}
case 3:
_actionIndex = 0;
setDelay(1);
break;
}
}
void Scene7100::Action5::signal() {
Scene7100 *scene = (Scene7100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
case 0:
setDelay(1);
break;
case 1: {
Common::Point pt(59, 151);
NpcMover *mover = new NpcMover();
scene->_object9.addMover(mover, &pt, this);
break;
}
case 2: {
scene->_object9.setStrip2(1);
Common::Point pt(127, 144);
NpcMover *mover = new NpcMover();
scene->_object9.addMover(mover, &pt, this);
break;
}
case 3: {
scene->_object9.setStrip2(2);
scene->_object9.setPriority2(180);
Common::Point pt(8, 181);
NpcMover *mover = new NpcMover();
scene->_object9.addMover(mover, &pt, this);
break;
}
case 4: {
scene->_object9.remove();
remove();
}
}
}
void Scene7100::Action6::signal() {
Scene7100 *scene = (Scene7100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
case 0:
setDelay(1);
scene->_object10.setPriority2(8);
scene->_object10.setPosition(Common::Point(155, 187), 0);
scene->_object11.setPriority2(8);
scene->_object11.setPosition(Common::Point(155, 190), 0);
scene->_object12.setPriority2(8);
scene->_object12.setPosition(Common::Point(151, 193), 0);
break;
case 1: {
Common::Point pt1(167, 187);
NpcMover *mover1 = new NpcMover();
scene->_object10.addMover(mover1, &pt1, this);
Common::Point pt2(165, 185);
NpcMover *mover2 = new NpcMover();
scene->_object11.addMover(mover2, &pt2, 0);
Common::Point pt3(163, 183);
NpcMover *mover3 = new NpcMover();
scene->_object12.addMover(mover3, &pt3, 0);
break;
}
case 2: {
scene->_object10.setStrip2(6);
Common::Point pt1(91, 187);
NpcMover *mover1 = new NpcMover();
scene->_object10.addMover(mover1, &pt1, this);
scene->_object11.setStrip2(6);
scene->_object11.setPriority2(50);
Common::Point pt2(89, 185);
NpcMover *mover2 = new NpcMover();
scene->_object11.addMover(mover2, &pt2, 0);
scene->_object12.setStrip2(6);
scene->_object12.setPriority2(50);
Common::Point pt3(87, 183);
NpcMover *mover3 = new NpcMover();
scene->_object12.addMover(mover3, &pt3, 0);
break;
}
case 3:
_actionIndex = 0;
setDelay(1);
break;
}
}
void Scene7100::Action7::signal() {
Scene7100 *scene = (Scene7100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
case 0:
setDelay(1);
break;
case 1: {
scene->_object13.setStrip2(8);
Common::Point pt(324, 87);
NpcMover *mover = new NpcMover();
scene->_object13.addMover(mover, &pt, this);
break;
}
case 2: {
scene->_object13.setStrip2(2);
Common::Point pt(524, 104);
NpcMover *mover = new NpcMover();
scene->_object13.addMover(mover, &pt, 0);
break;
}
case 3:
_actionIndex = 0;
setDelay(1);
break;
}
}
void Scene7100::Action8::signal() {
Scene7100 *scene = (Scene7100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
case 0:
setDelay(1);
break;
case 1: {
scene->_object17.setStrip2(4);
scene->_object18.setStrip2(4);
scene->_object19.setStrip2(4);
Common::Point pt1(482, 153);
NpcMover *mover1 = new NpcMover();
scene->_object17.addMover(mover1, &pt1, this);
Common::Point pt2(480, 146);
NpcMover *mover2 = new NpcMover();
scene->_object18.addMover(mover2, &pt2, 0);
Common::Point pt3(470, 153);
NpcMover *mover3 = new NpcMover();
scene->_object19.addMover(mover3, &pt3, 0);
break;
}
case 2: {
scene->_object17.setStrip2(3);
scene->_object18.setStrip2(3);
scene->_object19.setStrip2(3);
Common::Point pt1(506, 186);
NpcMover *mover1 = new NpcMover();
scene->_object17.addMover(mover1, &pt1, this);
Common::Point pt2(502, 179);
NpcMover *mover2 = new NpcMover();
scene->_object18.addMover(mover2, &pt2, 0);
Common::Point pt3(495, 184);
NpcMover *mover3 = new NpcMover();
scene->_object19.addMover(mover3, &pt3, 0);
break;
}
case 3: {
scene->_object17.setStrip2(4);
scene->_object18.setStrip2(4);
scene->_object19.setStrip2(4);
Common::Point pt1(386, 167);
NpcMover *mover1 = new NpcMover();
scene->_object17.addMover(mover1, &pt1, this);
Common::Point pt2(379, 161);
NpcMover *mover2 = new NpcMover();
scene->_object18.addMover(mover2, &pt2, 0);
Common::Point pt3(373, 167);
NpcMover *mover3 = new NpcMover();
scene->_object19.addMover(mover3, &pt3, 0);
break;
}
case 4: {
scene->_object17.setStrip2(3);
scene->_object18.setStrip2(3);
scene->_object19.setStrip2(3);
Common::Point pt1(479, 193);
NpcMover *mover1 = new NpcMover();
scene->_object17.addMover(mover1, &pt1, this);
Common::Point pt2(473, 187);
NpcMover *mover2 = new NpcMover();
scene->_object18.addMover(mover2, &pt2, 0);
Common::Point pt3(466, 192);
NpcMover *mover3 = new NpcMover();
scene->_object19.addMover(mover3, &pt3, 0);
break;
}
case 5: {
Common::Point pt1(552, 183);
NpcMover *mover1 = new NpcMover();
scene->_object17.addMover(mover1, &pt1, this);
Common::Point pt2(552, 178);
NpcMover *mover2 = new NpcMover();
scene->_object18.addMover(mover2, &pt2, 0);
Common::Point pt3(541, 183);
NpcMover *mover3 = new NpcMover();
scene->_object19.addMover(mover3, &pt3, 0);
_actionIndex = 0;
break;
}
}
}
void Scene7100::Action9::signal() {
Scene7100 *scene = (Scene7100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
case 0:
setDelay(1);
break;
case 1: {
scene->_object24.setStrip2(1);
Common::Point pt(64, 159);
NpcMover *mover = new NpcMover();
scene->_object24.addMover(mover, &pt, this);
break;
}
case 2: {
scene->_object24.setStrip2(2);
scene->_object24.setPriority2(160);
Common::Point pt(34, 159);
NpcMover *mover = new NpcMover();
scene->_object24.addMover(mover, &pt, this);
break;
}
case 3: {
scene->_object24.setStrip2(1);
Common::Point pt(64, 159);
NpcMover *mover = new NpcMover();
scene->_object24.addMover(mover, &pt, this);
break;
}
case 4: {
scene->_object24.setStrip2(2);
scene->_object24.setPriority2(180);
Common::Point pt(-12, 182);
NpcMover *mover = new NpcMover();
scene->_object24.addMover(mover, &pt, this);
break;
}
case 5: {
_actionIndex = 0;
setDelay(1);
break;
}
}
}
void Scene7100::Action10::signal() {
Scene7100 *scene = (Scene7100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
case 0:
setDelay(1000);
break;
case 1: {
Common::Point pt(610, -60);
NpcMover *mover = new NpcMover();
scene->_object25.addMover(mover, &pt, this);
break;
}
case 2:
scene->_object25.remove();
remove();
break;
}
}
void Scene7100::Action11::signal() {
Scene7100 *scene = (Scene7100 *)_globals->_sceneManager._scene;
switch (_actionIndex++) {
case 0:
setDelay(30);
break;
case 1: {
Common::Point pt(154, 175);
NpcMover *mover = new NpcMover();
_globals->_player.addMover(mover, &pt, this);
ObjectMover2 *mover2 = new ObjectMover2();
scene->_object1.addMover(mover2, 25, 35, &_globals->_player);
break;
}
case 2: {
Common::Point pt(700, 155);
NpcMover *mover = new NpcMover();
_globals->_player.addMover(mover, &pt, this);
break;
}
case 3:
_globals->_sceneManager.changeScene(7200);
remove();
break;
}
}
void Scene7100::postInit(SceneObjectList *OwnerList) {
loadScene(7100);
Scene::postInit();
setZoomPercents(60, 85, 200, 100);
_object2.postInit();
_object2.setVisage(7161);
_object2.animate(ANIM_MODE_2, 0);
_object2.setPosition(Common::Point(10, 140), 0);
_object2._numFrames = 1;
_object2.setPriority2(180);
_object2.setAction(&_action1, 0);
_object3.postInit();
_object3.setVisage(7161);
_object3.animate(ANIM_MODE_2, 0);
_object3.setPosition(Common::Point(34, 115), 0);
_object3._numFrames = 1;
_object3.setPriority2(180);
_object3.setAction(&_action2, 0);
_object4.postInit();
_object4.setVisage(7164);
_object4.animate(ANIM_MODE_2, 0);
_object4.setPosition(Common::Point(-10, 159), 0);
_object4._numFrames = 2;
_object4.setPriority2(250);
_object4.setAction(&_action3, 0);
_object5.postInit();
_object5.setVisage(7162);
_object5.setStrip(3);
_object5.animate(ANIM_MODE_2, 0);
_object5.setPosition(Common::Point(20, 52), 0);
_object5.setAction(&_action4, 0);
_object9.postInit();
_object9.setVisage(7160);
_object5.setStrip(2);
_object9.animate(ANIM_MODE_2, 0);
_object9.setPosition(Common::Point(110, 168), 0);
_object9._numFrames = 2;
_object9.setPriority2(16);
_object9.setAction(&_action5, 0);
_object13.postInit();
_object13.setVisage(7161);
_object13.setStrip(8);
_object13.animate(ANIM_MODE_2, 0);
_object13.setPosition(Common::Point(524, 104), 0);
_object13._numFrames = 5;
_object13.setPriority2(250);
_object13.setAction(&_action7, 0);
_object17.postInit();
_object17.setVisage(7160);
_object17.setStrip(3);
_object17.animate(ANIM_MODE_2, 0);
_object17.setPosition(Common::Point(552, 183), 0);
_object17._numFrames = 4;
_object17._moveDiff.x = 12;
_object17._moveDiff.y = 12;
_object17.setAction(&_action8, 0);
_object18.postInit();
_object18.setVisage(7160);
_object18.setStrip(3);
_object18.animate(ANIM_MODE_2, 0);
_object18.setPosition(Common::Point(552, 178), 0);
_object18._numFrames = 4;
_object18._moveDiff.x = 12;
_object18._moveDiff.y = 12;
_object19.postInit();
_object19.setVisage(7160);
_object19.setStrip(3);
_object19.animate(ANIM_MODE_2, 0);
_object19.setPosition(Common::Point(541, 183), 0);
_object19._numFrames = 4;
_object19._moveDiff.x = 12;
_object19._moveDiff.y = 12;
_object24.postInit();
_object24.setVisage(7162);
_object24.setStrip(1);
_object24.animate(ANIM_MODE_2, 0);
_object24.setPosition(Common::Point(-12, 182), 0);
_object24._numFrames = 4;
_object24.setPriority2(180);
_object24.setAction(&_action9, 0);
_object25.postInit();
_object25.setVisage(7163);
_object25.animate(ANIM_MODE_2, 0);
_object25.setPosition(Common::Point(551, 145), 0);
_object25._numFrames = 5;
_object25.setPriority2(160);
_object25.setAction(&_action10, 0);
// Swimmer 1
_globals->_player.postInit();
_globals->_player.setVisage(7101);
_globals->_player.animate(ANIM_MODE_2, 0);
_globals->_player._moveDiff.x = 4;
_globals->_player._moveDiff.y = 2;
_globals->_player.setPosition(Common::Point(135, 135), 0);
_globals->_player.setPriority2(200);
_globals->_player.disableControl();
// Swimmer 2
_object1.postInit();
_object1.setVisage(7110);
_object1.animate(ANIM_MODE_1, 0);
_object1._moveDiff.x = 4;
_object1._moveDiff.y = 2;
_object1.setPosition(Common::Point(100, 100), 0);
setAction(&_action11);
_soundHandler1.startSound(270, 0, 127);
_soundHandler2.startSound(275, 0, 127);
_globals->_soundHandler.startSound(270, 0, 127);
}
/*--------------------------------------------------------------------------
* Scene 7200
*

View File

@ -111,6 +111,88 @@ public:
virtual void dispatch();
};
class Scene7100: public Scene {
/* Actions */
class Action3: public Action {
public:
virtual void signal();
};
class Action4: public Action {
public:
virtual void signal();
};
class Action5: public Action {
public:
virtual void signal();
};
class Action6: public Action {
public:
virtual void signal();
};
class Action7: public Action {
public:
virtual void signal();
};
class Action8: public Action {
public:
virtual void signal();
};
class Action9: public Action {
public:
virtual void signal();
};
class Action10: public Action {
public:
virtual void signal();
};
class Action11: public Action {
public:
virtual void signal();
};
public:
SoundHandler _soundHandler1;
SoundHandler _soundHandler2;
SceneObject _object1;
SceneObject _object2;
SceneObject _object3;
SceneObject _object4;
SceneObject _object5;
SceneObject _object6;
SceneObject _object7;
SceneObject _object8;
SceneObject _object9;
SceneObject _object10;
SceneObject _object11;
SceneObject _object12;
SceneObject _object13;
SceneObject _object14;
SceneObject _object15;
SceneObject _object16;
SceneObject _object17;
SceneObject _object18;
SceneObject _object19;
SceneObject _object20;
SceneObject _object21;
SceneObject _object22;
SceneObject _object23;
SceneObject _object24;
SceneObject _object25;
Action _action1;
Action _action2;
Action3 _action3;
Action4 _action4;
Action5 _action5;
Action6 _action6;
Action7 _action7;
Action8 _action8;
Action9 _action9;
Action10 _action10;
Action11 _action11;
virtual void postInit(SceneObjectList *OwnerList = NULL);
};
class Scene7200: public Scene {
/* Actions */
class Action1: public Action {