TSAGE: Implemented Blue Force scene 620
This commit is contained in:
parent
7aad29572d
commit
d85f0b7d45
3 changed files with 117 additions and 1 deletions
|
@ -147,7 +147,8 @@ Scene *BlueForceGame::createScene(int sceneNumber) {
|
|||
// Crash cut-scene
|
||||
return new Scene600();
|
||||
case 620:
|
||||
error("Scene group 6 not implemented");
|
||||
// Hospital cut-scene
|
||||
return new Scene620();
|
||||
case 666:
|
||||
// Death scene
|
||||
return new Scene666();
|
||||
|
|
|
@ -131,6 +131,110 @@ void Scene600::signal() {
|
|||
BF_GLOBALS._sceneManager.changeScene(620);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* Scene 620 - Hospital cut-scene
|
||||
*
|
||||
*--------------------------------------------------------------------------*/
|
||||
|
||||
void Scene620::postInit(SceneObjectList *OwnerList) {
|
||||
SceneExt::postInit();
|
||||
loadScene(999);
|
||||
|
||||
BF_GLOBALS._player.postInit();
|
||||
BF_GLOBALS._player.disableControl();
|
||||
BF_GLOBALS._player.setVisage(621);
|
||||
BF_GLOBALS._player.setPosition(Common::Point(47, 96));
|
||||
|
||||
static const uint32 black = 0;
|
||||
sub15DD6((const byte *)&black, 2, 621, this);
|
||||
}
|
||||
|
||||
void Scene620::signal() {
|
||||
static const uint32 black = 0;
|
||||
|
||||
switch (_sceneMode++) {
|
||||
case 0:
|
||||
case 3:
|
||||
case 9:
|
||||
case 12:
|
||||
_timer1.set(60, this);
|
||||
break;
|
||||
case 1:
|
||||
case 4:
|
||||
case 7:
|
||||
case 10:
|
||||
case 13:
|
||||
case 16:
|
||||
case 19:
|
||||
addFader((const byte *)&black, 2, this);
|
||||
break;
|
||||
case 2:
|
||||
BF_GLOBALS._player.remove();
|
||||
_object1.postInit();
|
||||
_object1.setVisage(622);
|
||||
_object1.setPosition(Common::Point(101, 41));
|
||||
addFader((const byte *)&black, 2, this);
|
||||
break;
|
||||
case 5:
|
||||
_object1.remove();
|
||||
|
||||
_object2.postInit();
|
||||
_object2.setVisage(623);
|
||||
_object2.setPosition(Common::Point(216, 4));
|
||||
sub15DD6((const byte *)&black, 2, 623, this);
|
||||
break;
|
||||
case 6:
|
||||
_object2.animate(ANIM_MODE_5, this);
|
||||
break;
|
||||
case 8:
|
||||
_object2.remove();
|
||||
|
||||
_object3.postInit();
|
||||
_object3.setVisage(624);
|
||||
_object3.setFrame(1);
|
||||
_object3.setPosition(Common::Point(28, 88));
|
||||
sub15DD6((const byte *)&black, 2, 624, this);
|
||||
break;
|
||||
case 11:
|
||||
_object3.remove();
|
||||
|
||||
_object4.postInit();
|
||||
_object4.setVisage(625);
|
||||
_object4.setPosition(Common::Point(168, 8));
|
||||
sub15DD6((const byte *)&black, 2, 625, this);
|
||||
break;
|
||||
case 14:
|
||||
_object4.remove();
|
||||
|
||||
_object5.postInit();
|
||||
_object5.setVisage(626);
|
||||
_object5.setPosition(Common::Point(249, 183));
|
||||
sub15DD6((const byte *)&black, 2, 626, this);
|
||||
break;
|
||||
case 15:
|
||||
_object5.animate(ANIM_MODE_5, this);
|
||||
break;
|
||||
case 17:
|
||||
_object5.remove();
|
||||
|
||||
_object6.postInit();
|
||||
_object6.setVisage(627);
|
||||
_object6.setPosition(Common::Point(65, 24));
|
||||
sub15DD6((const byte *)&black, 2, 627, this);
|
||||
break;
|
||||
case 18:
|
||||
_object6.animate(ANIM_MODE_5, this);
|
||||
break;
|
||||
case 20:
|
||||
_object6.remove();
|
||||
BF_GLOBALS._bookmark = bArrestedDrunk;
|
||||
BF_GLOBALS._v4CEB6 = 0;
|
||||
BF_GLOBALS._dayNumber = 3;
|
||||
BF_GLOBALS._sceneManager.changeScene(271);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* Scene 666 - Death Scene
|
||||
*
|
||||
|
|
|
@ -57,6 +57,17 @@ public:
|
|||
virtual void signal();
|
||||
};
|
||||
|
||||
class Scene620 : public PalettedScene {
|
||||
public:
|
||||
SequenceManager _sequenceManager;
|
||||
Timer _timer1;
|
||||
NamedObject _object1, _object2, _object3;
|
||||
NamedObject _object4, _object5, _object6;
|
||||
|
||||
virtual void postInit(SceneObjectList *OwnerList = NULL);
|
||||
virtual void signal();
|
||||
};
|
||||
|
||||
class Scene666 : public SceneExt {
|
||||
/* Actions */
|
||||
class Action1 : public Action {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue