aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/scene.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/scene.h')
-rw-r--r--engines/bladerunner/scene.h49
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; }