diff options
author | Torbjörn Andersson | 2005-09-23 14:29:26 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2005-09-23 14:29:26 +0000 |
commit | 1897e6046ba105d03c164c24b991558754db92fc (patch) | |
tree | 96aeca8d9617bc993927de5a0f7ba3bf0a5b0c27 /saga/animation.h | |
parent | 843399b9e8ca0faa2426a683c36898c9bb37ce21 (diff) | |
download | scummvm-rg350-1897e6046ba105d03c164c24b991558754db92fc.tar.gz scummvm-rg350-1897e6046ba105d03c164c24b991558754db92fc.tar.bz2 scummvm-rg350-1897e6046ba105d03c164c24b991558754db92fc.zip |
Experimental loading of the cutaway list. Next step will be to get ScummVM
to actually *play* the cutaways. I'll look into that later.
svn-id: r18865
Diffstat (limited to 'saga/animation.h')
-rw-r--r-- | saga/animation.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/saga/animation.h b/saga/animation.h index dc138eed31..e594a0ba80 100644 --- a/saga/animation.h +++ b/saga/animation.h @@ -33,7 +33,6 @@ namespace Saga { #define MAX_ANIMATIONS 10 #define DEFAULT_FRAME_TIME 140 - #define SAGA_FRAME_START 0xF #define SAGA_FRAME_END 0x3F #define SAGA_FRAME_NOOP 0x1F @@ -52,6 +51,15 @@ enum AnimationState { ANIM_ENDSCENE = 0x80 // When animation ends, dispatch scene end event }; +// Cutaway info array member. Cutaways are basically animations with a really +// bad attitude. +struct Cutaway { + uint16 backgroundID; + uint16 frameID; + int16 maxFrame; + int16 frameRate; +}; + // Animation info array member struct AnimationData { byte *resourceData; @@ -99,6 +107,9 @@ public: Anim(SagaEngine *vm); ~Anim(void); + void loadCutawayList(const byte *resourcePointer, size_t resourceLength); + void freeCutawayList(void); + void load(uint16 animId, const byte *animResourceData, size_t animResourceLength); void freeId(uint16 animId); void play(uint16 animId, int vectorTime, bool playing = true); @@ -156,7 +167,8 @@ private: SagaEngine *_vm; AnimationData *_animations[MAX_ANIMATIONS]; - + Cutaway *_cutawayList; + int _cutawayListLength; }; } // End of namespace Saga |