aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/scene.h
diff options
context:
space:
mode:
authorPeter Kohaut2016-09-10 18:16:17 +0200
committerEugene Sandulenko2016-09-29 22:33:40 +0200
commitb67bca20b5db7f3d6473341efd7fabfa6532f465 (patch)
tree6fbbd28dc707dac1c3cacde2e8622cceea6d1b0f /engines/bladerunner/scene.h
parent2888d0b3460cdca2dd52f8d6aa94b429d46345ad (diff)
downloadscummvm-rg350-b67bca20b5db7f3d6473341efd7fabfa6532f465.tar.gz
scummvm-rg350-b67bca20b5db7f3d6473341efd7fabfa6532f465.tar.bz2
scummvm-rg350-b67bca20b5db7f3d6473341efd7fabfa6532f465.zip
BLADERUNNER: Pull in changes from madmoose
Diffstat (limited to 'engines/bladerunner/scene.h')
-rw-r--r--engines/bladerunner/scene.h36
1 files changed, 29 insertions, 7 deletions
diff --git a/engines/bladerunner/scene.h b/engines/bladerunner/scene.h
index cabd912b0d..1a3c9f38bf 100644
--- a/engines/bladerunner/scene.h
+++ b/engines/bladerunner/scene.h
@@ -25,10 +25,10 @@
#include "bladerunner/bladerunner.h"
+#include "bladerunner/regions.h"
#include "bladerunner/set.h"
-//#include "bladerunner/view.h"
+#include "bladerunner/view.h"
#include "bladerunner/vqa_player.h"
-#include "bladerunner/regions.h"
namespace BladeRunner {
@@ -42,27 +42,41 @@ public:
int _setId;
int _sceneId;
VQAPlayer _vqaPlayer;
+
int _defaultLoop;
+ int _defaultLoopSet;
+ int _field_20_loop_stuff;
+ int _specialLoopMode;
+ int _specialLoop;
+ int _introFinished;
int _nextSetId;
int _nextSceneId;
int _frame;
+
Vector3 _actorStartPosition;
int _actorStartFacing;
bool _playerWalkedIn;
+ View _view;
+
Regions* _regions;
Regions* _exits;
+ // _default_loop_id = 0;
+ // _scene_vqa_frame_number = -1;
+
+
public:
Scene(BladeRunnerEngine *vm)
: _vm(vm),
_set(new Set(vm)),
_setId(-1),
_sceneId(-1),
- _vqaPlayer(vm, vm->_view),
+ _vqaPlayer(vm),
_defaultLoop(0),
_nextSetId(-1),
_nextSceneId(-1),
_playerWalkedIn(false),
+ _introFinished(false),
_regions(new Regions()),
_exits(new Regions())
{}
@@ -76,15 +90,23 @@ public:
bool open(int setId, int sceneId, bool isLoadingGame);
int advanceFrame(Graphics::Surface &surface, uint16 *&zBuffer);
void setActorStart(Vector3 position, int facing);
- int getSetId();
- int getSceneId();
- int findObject(char *objectName);
+
+ void loopSetDefault(int a);
+ void loopStartSpecial(int a, int b, int c);
+
+ int getSetId() { return _setId; }
+ int getSceneId() { return _sceneId; }
+
+ bool didPlayerWalkIn() { bool r = _playerWalkedIn; _playerWalkedIn = false; return r; }
+
+ int findObject(const char *objectName);
bool objectSetHotMouse(int objectId);
bool objectGetBoundingBox(int objectId, BoundingBox *boundingBox);
void objectSetIsClickable(int objectId, bool isClickable, bool sceneLoaded);
void objectSetIsObstacle(int objectId, bool isObstacle, bool sceneLoaded, bool updateWalkpath);
void objectSetIsObstacleAll(bool isObstacle, bool sceneLoaded);
- void objectSetIsCombatTarget(int objectId, bool isCombatTarget, bool sceneLoaded);
+ void objectSetIsTarget(int objectId, bool isTarget, bool sceneLoaded);
+ const char *objectGetName(int objectId);
};
} // End of namespace BladeRunner