aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/costume.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/costume.h')
-rw-r--r--engines/scumm/costume.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/engines/scumm/costume.h b/engines/scumm/costume.h
index 929eb8c451..b845ee2158 100644
--- a/engines/scumm/costume.h
+++ b/engines/scumm/costume.h
@@ -71,6 +71,22 @@ protected:
byte increaseAnim(Actor *a, int slot);
};
+class PCEngineCostumeLoader : public BaseCostumeLoader {
+public:
+ int _id;
+ const byte *_baseptr;
+ const byte *_dataOffsets;
+ byte _numAnim;
+
+ PCEngineCostumeLoader(ScummEngine *vm) : BaseCostumeLoader(vm) {}
+ void loadCostume(int id);
+ void costumeDecodeData(Actor *a, int frame, uint usemask);
+ byte increaseAnims(Actor *a);
+
+protected:
+ byte increaseAnim(Actor *a, int slot);
+};
+
class C64CostumeLoader : public ClassicCostumeLoader {
public:
C64CostumeLoader(ScummEngine *vm) : ClassicCostumeLoader(vm) {}
@@ -128,6 +144,21 @@ protected:
byte drawLimb(const Actor *a, int limb);
};
+class PCEngineCostumeRenderer : public BaseCostumeRenderer {
+protected:
+ PCEngineCostumeLoader _loaded;
+
+public:
+ PCEngineCostumeRenderer(ScummEngine *vm) : BaseCostumeRenderer(vm), _loaded(vm) {}
+
+ void setPalette(uint16 *palette);
+ void setFacing(const Actor *a);
+ void setCostume(int costume, int shadow);
+
+protected:
+ byte drawLimb(const Actor *a, int limb);
+};
+
class C64CostumeRenderer : public BaseCostumeRenderer {
protected:
C64CostumeLoader _loaded;