aboutsummaryrefslogtreecommitdiff
path: root/engines/tinsel/anim.h
diff options
context:
space:
mode:
authorFilippos Karapetis2008-12-01 20:35:36 +0000
committerFilippos Karapetis2008-12-01 20:35:36 +0000
commitaf945ac7881ae7e414f004bd0e99e8c3b5d76be9 (patch)
tree72e9c6fd43406e2021973b4f163ab4faa10143fb /engines/tinsel/anim.h
parentf10f151ff742801e12534bb052bd89419bf906cb (diff)
downloadscummvm-rg350-af945ac7881ae7e414f004bd0e99e8c3b5d76be9.tar.gz
scummvm-rg350-af945ac7881ae7e414f004bd0e99e8c3b5d76be9.tar.bz2
scummvm-rg350-af945ac7881ae7e414f004bd0e99e8c3b5d76be9.zip
Merged the tinsel 2 engine with tinsel 1. Both Discworld 1 and Discworld 2 should be completable
svn-id: r35196
Diffstat (limited to 'engines/tinsel/anim.h')
-rw-r--r--engines/tinsel/anim.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/engines/tinsel/anim.h b/engines/tinsel/anim.h
index 5b25292a6b..a3a7b4447e 100644
--- a/engines/tinsel/anim.h
+++ b/engines/tinsel/anim.h
@@ -41,6 +41,32 @@ struct ANIM {
uint32 hScript; //!< animation script handle
int scriptIndex; //!< current position in animation script
};
+typedef ANIM *PANIM;
+
+typedef void (*PANI_ADDR)(struct ANIM *);
+
+/** Animation script commands */
+enum {
+ ANI_END = 0, //!< end of animation script
+ ANI_JUMP = 1, //!< animation script jump
+ ANI_HFLIP = 2, //!< flip animated object horizontally
+ ANI_VFLIP = 3, //!< flip animated object vertically
+ ANI_HVFLIP = 4, //!< flip animated object in both directions
+ ANI_ADJUSTX = 5, //!< adjust animated object x animation point
+ ANI_ADJUSTY = 6, //!< adjust animated object y animation point
+ ANI_ADJUSTXY = 7, //!< adjust animated object x & y animation points
+ ANI_NOSLEEP = 8, //!< do not sleep for this frame
+ ANI_CALL = 9, //!< call routine
+ ANI_HIDE = 10, //!< hide animated object
+ ANI_STOP = 11 //!< stop sound
+};
+
+/** animation script command possibilities */
+union ANI_SCRIPT {
+ int32 op; //!< treat as an opcode or operand
+ uint32 hFrame; //!< treat as a animation frame handle
+// PANI_ADDR pFunc; //!< treat as a animation function call
+};
/*----------------------------------------------------------------------*\
@@ -66,6 +92,8 @@ void SkipFrames( // Skip the specified number of frames
ANIM *pAnim, // animation data structure
int numFrames); // number of frames to skip
+bool AboutToJumpOrEnd(PANIM pAnim);
+
} // end of namespace Tinsel
#endif // TINSEL_ANIM_H