aboutsummaryrefslogtreecommitdiff
path: root/scumm/akos.h
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/akos.h')
-rw-r--r--scumm/akos.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/scumm/akos.h b/scumm/akos.h
index c729c12f14..63ffb6f382 100644
--- a/scumm/akos.h
+++ b/scumm/akos.h
@@ -55,10 +55,10 @@ struct AkosCI {
struct AkosRenderer {
//protected:
CostumeData *cd;
- int x, y; /* where to draw costume */
+ int _x, _y; /* where to draw costume */
byte scale_x, scale_y; /* scaling */
byte clipping; /* clip mask */
- bool charsetmask;
+ bool charsetmask; // FIXME - it seems charsetmask is only set once, in actor.cpp, to true. So can we get rid of it?!?
byte shadow_mode;
uint16 codec;
bool mirror; /* draw actor mirrored */
@@ -75,7 +75,7 @@ struct AkosRenderer {
/* movement of cel to decode */
int move_x_cur, move_y_cur;
/* width and height of cel to decode */
- int width, height;
+ int _width, _height;
byte *srcptr;
byte *shadow_table;
@@ -108,6 +108,18 @@ struct AkosRenderer {
protected:
Scumm *_vm;
+ struct {
+ byte unk5;
+ int unk6;
+ byte mask;
+ byte color;
+ byte shift;
+ uint16 bits;
+ byte numbits;
+ byte * dataptr;
+ byte buffer[336];
+ } akos16;
+
public:
// Constructor, sets all data to 0
@@ -118,6 +130,9 @@ public:
void setPalette(byte *palette);
void setCostume(int costume);
void setFacing(Actor * a);
+
+protected:
+ void akos_generic_decode();
bool drawCostumeChannel(int chan);
void codec1();
void codec5();