aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_v2.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/kyra_v2.h')
-rw-r--r--engines/kyra/kyra_v2.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/engines/kyra/kyra_v2.h b/engines/kyra/kyra_v2.h
index 44647e331e..6a426f3761 100644
--- a/engines/kyra/kyra_v2.h
+++ b/engines/kyra/kyra_v2.h
@@ -80,7 +80,7 @@ protected:
struct AnimObj {
uint16 index;
uint16 type;
- uint16 enabled;
+ bool enabled;
uint16 needRefresh;
uint16 specialRefresh;
uint16 animFlags;
@@ -99,6 +99,13 @@ protected:
AnimObj *nextObject;
};
+ void allocAnimObjects(int actors, int anims, int items);
+ AnimObj *_animObjects;
+
+ AnimObj *_animActor;
+ AnimObj *_animAnims;
+ AnimObj *_animItems;
+
bool _drawNoShapeFlag;
AnimObj *_animList;
@@ -121,12 +128,16 @@ protected:
virtual void updateCharacterAnim(int) = 0;
virtual void updateSceneAnim(int anim, int newFrame) = 0;
- virtual void addItemToAnimList(int item) = 0;
- virtual void deleteItemAnimEntry(int item) = 0;
+ void addItemToAnimList(int item);
+ void deleteItemAnimEntry(int item);
+
+ virtual void animSetupPaletteEntry(AnimObj *) {}
virtual void setCharacterAnimDim(int w, int h) = 0;
virtual void resetCharacterAnimDim() = 0;
+ virtual int getScale(int x, int y) = 0;
+
// Scene
struct SceneDesc {
char filename1[10];
@@ -197,6 +208,8 @@ protected:
void addShapeToPool(uint8 *shpData, int index);
void remShapeFromPool(int idx);
+ virtual int getItemShape(int item) const = 0;
+
int _characterShapeFile;
virtual void loadCharacterShapes(int shapes) = 0;