mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-18 16:03:05 +00:00
TSAGE: Implemented Blue Force scene 355 - Future Wave exterior
This commit is contained in:
parent
e663e7874e
commit
12b553c084
@ -106,7 +106,8 @@ Scene *BlueForceGame::createScene(int sceneNumber) {
|
||||
// Marina, Outside Boat
|
||||
return new Scene350();
|
||||
case 355:
|
||||
error("Scene group 3 not implemented");
|
||||
// Future Wave Exterior
|
||||
return new Scene355();
|
||||
case 360:
|
||||
// Future Wave Interior
|
||||
return new Scene360();
|
||||
|
@ -93,6 +93,19 @@ public:
|
||||
virtual void signal();
|
||||
};
|
||||
|
||||
|
||||
class SceneHotspotExt: public SceneHotspot {
|
||||
public:
|
||||
int _state;
|
||||
|
||||
SceneHotspotExt() { _state = 0; }
|
||||
virtual Common::String getClassName() { return "SceneHotspotExt"; }
|
||||
virtual void synchronize(Serializer &s) {
|
||||
SceneHotspot::synchronize(s);
|
||||
s.syncAsSint16LE(_state);
|
||||
}
|
||||
};
|
||||
|
||||
class SceneItemType2: public SceneHotspot {
|
||||
public:
|
||||
virtual void startMove(SceneObject *sceneObj, va_list va);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -490,6 +490,122 @@ public:
|
||||
virtual void checkGun();
|
||||
};
|
||||
|
||||
class Scene355: public PalettedScene {
|
||||
/* Objects */
|
||||
class Object2: public NamedObject {
|
||||
public:
|
||||
int _v1, _v2, _v3;
|
||||
|
||||
Object2() { _v1 = _v2 = _v3 = 0; }
|
||||
virtual Common::String getClassName() { return "Scene355_Object2"; }
|
||||
virtual void synchronize(Serializer &s);
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Object3: public NamedObject {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Object4: public NamedObject {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Object5: public NamedObject {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Object6: public NamedObjectExt {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Object7: public NamedObjectExt {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Object8: public NamedObject {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
|
||||
/* Items */
|
||||
class Item1: public SceneHotspot {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Item2: public NamedHotspot {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Item3: public SceneHotspotExt {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Item4: public SceneHotspot {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Item5: public NamedHotspot {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Item11: public NamedHotspot {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
class Item12: public NamedHotspot {
|
||||
public:
|
||||
virtual bool startAction(CursorType action, Event &event);
|
||||
};
|
||||
|
||||
/* Actions */
|
||||
class Action1: public Action {
|
||||
public:
|
||||
virtual void signal();
|
||||
};
|
||||
class Action2: public Action {
|
||||
public:
|
||||
virtual void signal();
|
||||
};
|
||||
public:
|
||||
SequenceManager _sequenceManager;
|
||||
SpeakerGameText _gameTextSpeaker;
|
||||
SpeakerJakeUniform _jakeUniformSpeaker;
|
||||
SpeakerJakeJacket _jakeJacketSpeaker;
|
||||
SpeakerHarrison _harrisonSpeaker;
|
||||
SpeakerLyleHat _lyleHatSpeaker;
|
||||
SpeakerGreen _greenSpeaker;
|
||||
NamedObject _object1;
|
||||
Object2 _object2;
|
||||
Object3 _object3;
|
||||
Object4 _object4;
|
||||
Object5 _object5;
|
||||
Object6 _object6;
|
||||
Object7 _object7;
|
||||
Object8 _object8;
|
||||
NamedObject _object9, _object10, _object11;
|
||||
Item1 _item1;
|
||||
Item2 _item2;
|
||||
Item3 _item3;
|
||||
Item4 _item4;
|
||||
Item5 _item5;
|
||||
NamedHotspot _item6, _item7, _item8;
|
||||
NamedHotspot _item9, _item10;
|
||||
Item11 _item11;
|
||||
Item12 _item12;
|
||||
ASoundExt _sound1, _sound2, _sound3;
|
||||
Action1 _action1;
|
||||
Action2 _action2;
|
||||
int _fieldB0E, _fieldB10;
|
||||
|
||||
Scene355();
|
||||
virtual void synchronize(Serializer &s);
|
||||
virtual void postInit(SceneObjectList *OwnerList = NULL);
|
||||
virtual void signal();
|
||||
virtual void process(Event &event);
|
||||
virtual void dispatch();
|
||||
|
||||
void proc1(int v1, int v2);
|
||||
};
|
||||
|
||||
class Scene360: public SceneExt {
|
||||
/* Objects */
|
||||
class SlidingDoor: public NamedObject {
|
||||
@ -540,8 +656,6 @@ class Scene360: public SceneExt {
|
||||
public:
|
||||
virtual void signal();
|
||||
};
|
||||
private:
|
||||
void setup();
|
||||
public:
|
||||
SequenceManager _sequenceManager1, _sequenceManager2;
|
||||
SpeakerGameText _gameTextSpeaker;
|
||||
|
@ -193,6 +193,7 @@ void BlueForceGlobals::synchronize(Serializer &s) {
|
||||
s.syncAsSint16LE(_v4CEA4);
|
||||
s.syncAsSint16LE(_v4CEB4);
|
||||
s.syncAsSint16LE(_v4CEB6);
|
||||
s.syncAsSint16LE(_v4CEC2);
|
||||
s.syncAsSint16LE(_deziTopic);
|
||||
s.syncAsSint16LE(_deathReason);
|
||||
s.syncAsSint16LE(_driveFromScene);
|
||||
@ -231,6 +232,7 @@ void BlueForceGlobals::reset() {
|
||||
_v4CEA4 = 0;
|
||||
_v4CEB4 = 0;
|
||||
_v4CEB6 = 0;
|
||||
_v4CEC2 = 0;
|
||||
_deziTopic = 0;
|
||||
_deathReason = 0;
|
||||
_v501FC = 0;
|
||||
|
@ -171,6 +171,7 @@ public:
|
||||
int _v4CEA4;
|
||||
int _v4CEB4;
|
||||
int _v4CEB6;
|
||||
int _v4CEC2;
|
||||
int _deziTopic;
|
||||
int _deathReason;
|
||||
int _driveFromScene;
|
||||
|
Loading…
x
Reference in New Issue
Block a user