aboutsummaryrefslogtreecommitdiff
path: root/kyra/sprites.h
diff options
context:
space:
mode:
authorJohannes Schickel2005-11-10 14:08:50 +0000
committerJohannes Schickel2005-11-10 14:08:50 +0000
commitdd4e750640b7d12b4d5c16483732280459ae80d2 (patch)
tree556271d04e41d8e55b896d00178a8133bfb06626 /kyra/sprites.h
parent87a868eda55db4af1181d3286e06aa084b6cdb24 (diff)
downloadscummvm-rg350-dd4e750640b7d12b4d5c16483732280459ae80d2.tar.gz
scummvm-rg350-dd4e750640b7d12b4d5c16483732280459ae80d2.tar.bz2
scummvm-rg350-dd4e750640b7d12b4d5c16483732280459ae80d2.zip
Commited patch #1350510 with some little changes. Thanks to vinterstum.
svn-id: r19548
Diffstat (limited to 'kyra/sprites.h')
-rw-r--r--kyra/sprites.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/kyra/sprites.h b/kyra/sprites.h
index c64bf045cc..8f4102e7eb 100644
--- a/kyra/sprites.h
+++ b/kyra/sprites.h
@@ -45,6 +45,14 @@ struct Anim {
uint8 *reentry;
uint32 nextRun;
bool play;
+ uint16 width;
+ uint16 height;
+ uint16 width2;
+ uint16 height2;
+ uint16 unk1;
+ uint16 drawY;
+ uint16 unk2;
+ uint8 *background;
};
class Sprites {
@@ -53,14 +61,16 @@ public:
Sprites(KyraEngine *engine, OSystem *system);
~Sprites();
- void doAnims();
- void loadDAT(const char *filename);
- uint8 *getSceneShape(uint8 sceneShapeID);
- void drawSprites(uint8 srcPage, uint8 dstPage);
+ void updateSceneAnims();
+ void setupSceneAnims();
+ void loadDAT(const char *filename, SceneExits &exits);
void loadSceneShapes();
- void enableAnim(uint8 anim) { _anims[anim].play = true; }
- void disableAnim(uint8 anim) { _anims[anim].play = false; }
+ Anim _anims[MAX_NUM_ANIMS];
+ AnimObject *_animObjects;
+ uint8 *_sceneShapes[50];
+
+ void refreshSceneAnimObject(uint8 animNum, uint8 shapeNum, uint16 x, uint16 y, bool flipX, bool unkFlag);
protected:
void freeSceneShapes();
@@ -69,9 +79,7 @@ protected:
Resource *_res;
OSystem *_system;
Screen *_screen;
- uint8 *_sceneShapes[50];
uint8 *_dat;
- Anim _anims[MAX_NUM_ANIMS];
Common::RandomSource _rnd;
uint8 _animDelay;
uint8 *_spriteDefStart;