aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNipun Garg2019-06-20 05:16:47 +0530
committerEugene Sandulenko2019-09-03 17:16:51 +0200
commit96e37fdf473a7522a60ff08029028624df0764ce (patch)
tree1a2d5b7294ad014dd9af21beec66a7e4ea56757a
parentf6fe88bab927a3d5aa523ca8847fd68828c09722 (diff)
downloadscummvm-rg350-96e37fdf473a7522a60ff08029028624df0764ce.tar.gz
scummvm-rg350-96e37fdf473a7522a60ff08029028624df0764ce.tar.bz2
scummvm-rg350-96e37fdf473a7522a60ff08029028624df0764ce.zip
HDB: Add AnimFrame constants and extend AIEntity
-rw-r--r--engines/hdb/ai.h38
1 files changed, 37 insertions, 1 deletions
diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h
index cf21f651eb..c94f9ffeb3 100644
--- a/engines/hdb/ai.h
+++ b/engines/hdb/ai.h
@@ -28,6 +28,8 @@
namespace HDB {
enum {
+ kMaxAnimFrames = 8,
+ kMaxDeathFrames = 12,
kMaxInventory = 10,
kMaxDeliveries = 5,
kPlayerMoveSpeed = 4,
@@ -369,7 +371,41 @@ struct AIEntity {
uint16 animDelay; // changes every frame; based on anim_cycle at start
uint16 animCycle; // delay between frame animations
- // TODO: Add the frame arrays needed
+ union {
+ uint16 blinkFrames;
+ uint16 int1;
+ };
+ void *blinkGfx[kMaxAnimFrames];
+
+ union {
+ uint16 special1Frames;
+ uint16 int2;
+ };
+ void *special1Gfx[kMaxAnimFrames];
+
+ uint16 standdownFrames;
+ Tile *standdownGfx[kMaxAnimFrames];
+
+ uint16 standupFrames;
+ Tile *standupGfx[kMaxAnimFrames];
+
+ uint16 standleftFrames;
+ Tile *standleftGfx[kMaxAnimFrames];
+
+ uint16 standrightFrames;
+ Tile *standrightGfx[kMaxAnimFrames];
+
+ uint16 moveupFrames;
+ Tile *moveupGfx[kMaxAnimFrames];
+
+ uint16 movedownFrames;
+ Tile *movedownGfx[kMaxAnimFrames];
+
+ uint16 moveleftFrames;
+ Tile *moveleftGfx[kMaxAnimFrames];
+
+ uint16 moverightFrames;
+ Tile *moverightGfx[kMaxAnimFrames];
};
struct AIEntTypeInfo {