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;
129 #ifdef SCUMM_OPTIMISED_CODE 137 _shadowTable =
nullptr;
138 _actorX = _actorY = 0;
140 _scaleX = _scaleY = 0;
141 _drawTop = _drawBottom = 0;
144 _akosRendering = akosRendering;
149 _drawActorToRight =
false;
150 _width = _height = 0;
153 _actorDrawVirScr =
false;
158 virtual void setPalette(uint16 *palette) = 0;
159 virtual void setFacing(
const Actor *a) = 0;
160 virtual void setCostume(
int costume,
int shadow) = 0;
163 byte drawCostume(
const VirtScreen &vs,
int numStrips,
const Actor *a,
bool drawToBackBuf);
166 virtual byte drawLimb(
const Actor *a,
int limb) = 0;
168 byte paintCelByleRLECommon(
178 void byleRLEDecode(
ByleRLEData &compData, int16 actorHitX = 0, int16 actorHitY = 0,
bool *actorHitResult =
nullptr,
const uint8 *xmap =
nullptr);
179 #ifdef SCUMM_OPTIMISED_CODE 180 void byleRLEDecodeFast(
ByleRLEData &compData,
const byte *xmap);
Definition: base-costume.h:114
Definition: base-costume.h:32
Definition: base-costume.h:68
Definition: base-costume.h:49