aboutsummaryrefslogtreecommitdiff
path: root/scumm/intern.h
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/intern.h')
-rw-r--r--scumm/intern.h38
1 files changed, 35 insertions, 3 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index b7a34ea795..c69c50e9ce 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -685,10 +685,11 @@ protected:
} GCC_PACK;
struct WizImage {
- int resnum;
+ int resNum;
int x1;
int y1;
int flags;
+ int state;
};
#if !defined(__GNUC__)
@@ -721,8 +722,9 @@ protected:
void writeFileFromArray(int slot, int resID);
void arrrays_unk2(int dst, int src, int len2, int len);
+ void displayWizImage(const WizImage *pwi);
void getWizImageDim(int resnum, int state, uint32 &w, uint32 &h);
- uint8 *drawWizImage(int restype, int resnum, int state, int x1, int y1, int flags);
+ uint8 *drawWizImage(int restype, const WizImage *pwi);
void drawWizPolygon(int resnum, int state, int id, int flags);
void flushWizBuffer();
@@ -805,7 +807,7 @@ protected:
virtual void executeOpcode(byte i);
virtual const char *getOpcodeDesc(byte i);
- void loadImgSpot(int resId, int state, uint32 &w, uint32 &h);
+ void loadImgSpot(int resId, int state, int16 &x, int16 &y);
void loadWizCursor(int resId, int resType, bool state);
/* HE version 80 script opcodes */
@@ -828,17 +830,47 @@ protected:
OpcodeProcV90he proc;
const char *desc;
};
+
+ struct WizParameters {
+ byte filename[260];
+ Common::Rect box;
+ int drawFlags;
+ int drawMode;
+ int unk_11C;
+ int unk_120;
+ int unk_124;
+ int unk_128;
+ int unk_12C;
+ int unk_130;
+ int unk_134;
+ int unk_138;
+ int unk_148;
+ int unk_14C;
+ int unk_150;
+ int unk_158;
+ int unk_15C;
+ int unk_160;
+ uint8 remapBuf1[256];
+ uint8 remapBuf2[256];
+ int remapPos;
+ WizImage img;
+ };
const OpcodeEntryV90he *_opcodesV90he;
+ WizParameters _wizParams;
public:
ScummEngine_v90he(GameDetector *detector, OSystem *syst, const ScummGameSettings &gs, uint8 md5sum[16]) : ScummEngine_v80he(detector, syst, gs, md5sum) {}
+ virtual void scummInit();
+
protected:
virtual void setupOpcodes();
virtual void executeOpcode(byte i);
virtual const char *getOpcodeDesc(byte i);
+ void wizDraw(const WizParameters *params);
+
/* HE version 90 script opcodes */
void o90_dup();
void o90_getLT();