22 #ifndef SCUMM_BASE_COSTUME_H 23 #define SCUMM_BASE_COSTUME_H 25 #include "common/scummsys.h" 26 #include "scumm/actor.h" 30 #include "common/pack-start.h" 38 #include "common/pack-end.h" 41 extern const byte smallCostumeScaleTable[256];
42 extern const byte bigCostumeScaleTable[768];
57 virtual void loadCostume(
int id) = 0;
58 virtual bool increaseAnims(
Actor *a) = 0;
59 virtual void costumeDecodeData(
Actor *a,
int frame, uint usemask) = 0;
61 virtual bool hasManyDirections(
int id) {
return false; }
78 byte _scaleX, _scaleY;
80 int _drawTop, _drawBottom;
83 bool _actorDrawVirScr;
103 bool _drawActorToRight;
111 uint16 _palette[256] = {};
118 const byte *scaleTable;
127 int scaleXIndex, scaleYIndex;
134 _shadowTable =
nullptr;
135 _actorX = _actorY = 0;
137 _scaleX = _scaleY = 0;
138 _drawTop = _drawBottom = 0;
141 _akosRendering = akosRendering;
146 _drawActorToRight =
false;
147 _width = _height = 0;
150 _actorDrawVirScr =
false;
155 virtual void setPalette(uint16 *palette) = 0;
156 virtual void setFacing(
const Actor *a) = 0;
157 virtual void setCostume(
int costume,
int shadow) = 0;
160 byte drawCostume(
const VirtScreen &vs,
int numStrips,
const Actor *a,
bool drawToBackBuf);
163 virtual byte drawLimb(
const Actor *a,
int limb) = 0;
165 byte paintCelByleRLECommon(
175 void byleRLEDecode(
ByleRLEData &compData, int16 actorHitX = 0, int16 actorHitY = 0,
bool *actorHitResult =
nullptr,
const uint8 *xmap =
nullptr);
Definition: base-costume.h:114
Definition: base-costume.h:32
Definition: base-costume.h:68
Definition: base-costume.h:49