diff options
Diffstat (limited to 'engines/prince/prince.h')
-rw-r--r-- | engines/prince/prince.h | 56 |
1 files changed, 54 insertions, 2 deletions
diff --git a/engines/prince/prince.h b/engines/prince/prince.h index 5dd039beec..d30a9c1f72 100644 --- a/engines/prince/prince.h +++ b/engines/prince/prince.h @@ -86,10 +86,57 @@ struct AnimListItem { uint16 _loopType; uint16 _nextAnim; uint16 _flags; - bool loadFromStream(Common::SeekableReadStream &stream); }; +struct BAS { + int32 _type; // type of sequence + int32 _data; // additional data + int32 _anims; // number of animations + int32 _current; // actual number of animation + int32 _counter; // time counter for animation + int32 _currRelative; //actual relative number for animation + int32 _data2; // additional data for measurements +}; + +struct BASA { + int16 _num; // animation number + int16 _start; // initial frame + int16 _end; // final frame + int16 _pad; // fulfilment to 8 bytes +}; + +// background and normal animation +struct Anim { + int32 _addr; //animation adress + int32 _seq; + int16 _usage; + int16 _state; // state of animation: 0 - turning on, 1 - turning off + int16 _flags; + int16 _frame; // number of phase to show + int16 _lastFrame; // last phase + int16 _loopFrame; // first frame of loop + int16 _showFrame; // actual visible frame of animation + int16 _loopType; // type of loop (0 - last frame; 1 - normal loop (begin from _loopFrame); 2 - no loop; 3 - load new animation) + int16 _nextAnim; // number of next animation to load after actual + int16 _x; + int16 _y; + int32 _currFrame; + int16 _currX; + int16 _currY; + int16 _currW; + int16 _currH; + int16 _packFlag; + int32 _shadow; + int32 _currShadowFrame; + int16 _packShadowFlag; + int32 _shadowBack; + int16 _relX; + int16 _relY; + Animation *_animData; + Animation *_shadowData; +}; + struct DebugChannel { enum Type { @@ -149,6 +196,12 @@ public: uint32 _picWindowY; Image::BitmapDecoder *_roomBmp; + Common::Array<AnimListItem> _animList; + Common::Array<Anim> _backAnimList; + + int testAnimNr; + int testAnimFrame; + private: bool playNextFrame(); void keyHandler(Common::Event event); @@ -187,7 +240,6 @@ private: Animation *_zoom; Common::Array<Mob> _mobList; Common::Array<Object *> _objList; - Common::Array<AnimListItem> _animList; bool _flicLooped; |