aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorNipun Garg2019-06-24 02:06:46 +0530
committerEugene Sandulenko2019-09-03 17:16:58 +0200
commit7d4cc693b4df7e33f8afc5d068fc1afa79e27c0c (patch)
treeb2223662c2201990597fb47c0df4e63046bee8d7 /engines
parent8419b988556905d912133286fb85b43fcf0bf4d5 (diff)
downloadscummvm-rg350-7d4cc693b4df7e33f8afc5d068fc1afa79e27c0c.tar.gz
scummvm-rg350-7d4cc693b4df7e33f8afc5d068fc1afa79e27c0c.tar.bz2
scummvm-rg350-7d4cc693b4df7e33f8afc5d068fc1afa79e27c0c.zip
HDB: Add _cineBlitList and _cineFreeList
Addition includes related data such as constants and structs
Diffstat (limited to 'engines')
-rw-r--r--engines/hdb/ai-cinematic.cpp2
-rw-r--r--engines/hdb/ai.h21
2 files changed, 21 insertions, 2 deletions
diff --git a/engines/hdb/ai-cinematic.cpp b/engines/hdb/ai-cinematic.cpp
index 5a4bebb185..0529fe92b6 100644
--- a/engines/hdb/ai-cinematic.cpp
+++ b/engines/hdb/ai-cinematic.cpp
@@ -292,6 +292,8 @@ void AI::cineStart(bool abortable, const char *abortFunc) {
_cineAbortable = abortable;
_cineAborted = false;
_cineAbortFunc = abortFunc;
+ _numCineBlitList = 0;
+ _numCineFreeList = 0;
_cineActive = true;
_playerLock = false;
_cameraLock = false;
diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h
index 03d0b5ea30..ca3a3da3b4 100644
--- a/engines/hdb/ai.h
+++ b/engines/hdb/ai.h
@@ -39,7 +39,8 @@ enum {
kMaxAutoActions = 30,
kPlayerMoveSpeed = 4,
kEnemyMoveSpeed = 2,
- kPushMoveSpeed = (kPlayerMoveSpeed >> 1)
+ kPushMoveSpeed = (kPlayerMoveSpeed >> 1),
+ kMaxCineGfx = 10
};
enum AIType {
@@ -596,7 +597,17 @@ struct CineCommand {
AIEntity *e;
CineCommand() : cmdType(C_NO_COMMAND), x(0.0), y(0.0), x2(0.0), y2(0.0), xv(0.0), yv(0.0),
- start(0), end(0), delay(0), speed(0), title(""), string(""), id(NULL), e(NULL) {}
+ start(0), end(0), delay(0), speed(0), title(""), string(""), id(NULL), e(NULL), pic(NULL) {}
+};
+
+struct CineBlit {
+ double x, y;
+ Picture *pic;
+ const char *name;
+ const char *id;
+ bool masked;
+
+ CineBlit() : x(0), y(0), pic(NULL), name(""), id(""), masked(false) {}
};
#define onEvenTile(x, y) ( !(x & 31) && !(y & 31) )
@@ -909,6 +920,12 @@ public:
// Cinematic Variables
Common::Array<CineCommand *> _cine;
+ Picture *_cineFreeList[kMaxCineGfx];
+ int _numCineFreeList;
+
+ CineBlit *_cineBlitList[kMaxCineGfx];
+ int _numCineBlitList;
+
private:
// Action Functions