diff options
Diffstat (limited to 'engines/bladerunner/scene.h')
-rw-r--r-- | engines/bladerunner/scene.h | 49 |
1 files changed, 18 insertions, 31 deletions
diff --git a/engines/bladerunner/scene.h b/engines/bladerunner/scene.h index c90258ce53..65ad5bf431 100644 --- a/engines/bladerunner/scene.h +++ b/engines/bladerunner/scene.h @@ -23,16 +23,22 @@ #ifndef BLADERUNNER_SCENE_H #define BLADERUNNER_SCENE_H -#include "bladerunner/bladerunner.h" - -#include "bladerunner/regions.h" -#include "bladerunner/set.h" -#include "bladerunner/view.h" -#include "bladerunner/vqa_player.h" +#include "bladerunner/vector.h" namespace BladeRunner { class BladeRunnerEngine; +class BoundingBox; +class Regions; +class Set; +class VQAPlayer; + +enum SceneLoopMode { + kSceneLoopModeLoseControl = 0, + kSceneLoopModeChangeSet = 1, + kSceneLoopMode2 = 2, + kSceneLoopModeSpinner = 3 +}; class Scene { BladeRunnerEngine *_vm; @@ -58,42 +64,23 @@ private: public: Set *_set; - Regions* _regions; - Regions* _exits; + Regions *_regions; + Regions *_exits; // _default_loop_id = 0; // _scene_vqa_frame_number = -1; public: - Scene(BladeRunnerEngine *vm) - : _vm(vm), - _setId(-1), - _sceneId(-1), - _vqaPlayer(nullptr), - _defaultLoop(0), - _introFinished(false), - _nextSetId(-1), - _nextSceneId(-1), - _playerWalkedIn(false), - _set(new Set(vm)), - _regions(new Regions()), - _exits(new Regions()) - {} - - ~Scene() { - delete _set; - delete _regions; - delete _exits; - delete _vqaPlayer; - } + Scene(BladeRunnerEngine *vm); + ~Scene(); bool open(int setId, int sceneId, bool isLoadingGame); bool close(bool isLoadingGame); int advanceFrame(); void setActorStart(Vector3 position, int facing); - void loopSetDefault(int a); - void loopStartSpecial(int a, int b, int c); + void loopSetDefault(int loopId); + void loopStartSpecial(int specialLoopMode, int loopId, bool immediately); int getSetId() const { return _setId; } int getSceneId() const { return _sceneId; } |