[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.471,2.472 script_v100he.cpp,2.140,2.141 script_v90he.cpp,2.240,2.241 scumm.cpp,1.476,1.477 sprite_he.cpp,1.133,1.134 vars.cpp,1.127,1.128 wiz_he.cpp,2.67,2.68 wiz_he.h,2.18,2.19
kirben
kirben at users.sourceforge.net
Fri Apr 29 22:25:25 CEST 2005
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7892/scumm
Modified Files:
intern.h script_v100he.cpp script_v90he.cpp scumm.cpp
sprite_he.cpp vars.cpp wiz_he.cpp wiz_he.h
Log Message:
Add expanded _wizParams used by HE100 games.
Add u32 version variable.
Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.471
retrieving revision 2.472
diff -u -d -r2.471 -r2.472
--- intern.h 29 Apr 2005 01:36:30 -0000 2.471
+++ intern.h 30 Apr 2005 05:25:05 -0000 2.472
@@ -876,7 +876,7 @@
void drawWizComplexPolygon(int resNum, int state, int po_x, int po_y, int xmapNum, int angle, int zoom, const Common::Rect *r, int flags, int dstResNum, int paletteNum);
void captureWizImage(int resNum, const Common::Rect& r, bool frontBuffer, int compType);
void getWizImageDim(int resNum, int state, int32 &w, int32 &h);
- uint8 *drawWizImage(int resNum, int state, int x1, int y1, int xmapNum, const Common::Rect *clipBox, int flags, int dstResNum, int paletteNum);
+ uint8 *drawWizImage(int resNum, int state, int x1, int y1, int zorder, int xmapNum, int field_390, const Common::Rect *clipBox, int flags, int dstResNum, int paletteNum);
void drawWizPolygon(int resNum, int state, int id, int flags, int xmapNum, int dstResNum, int paletteNum);
void flushWizBuffer();
@@ -953,6 +953,7 @@
byte VAR_NUM_UNK;
byte VAR_POLYGONS_ONLY;
byte VAR_WINDOWS_VERSION;
+ byte VAR_U32_VERSION;
byte VAR_WIZ_TCOLOR;
};
Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.140
retrieving revision 2.141
diff -u -d -r2.140 -r2.141
--- script_v100he.cpp 30 Apr 2005 01:26:57 -0000 2.140
+++ script_v100he.cpp 30 Apr 2005 05:25:05 -0000 2.141
@@ -1122,7 +1122,6 @@
}
void ScummEngine_v100he::o100_wizImageOps() {
- byte filename[256];
int a, b;
byte subOp = fetchScriptByte();
@@ -1206,10 +1205,8 @@
break;
case 54:
_wizParams.processFlags |= 0x100000;
- //_wizParams.unk_180 = pop();
- //_wizParams.unk_184 = pop();
- pop();
- pop();
+ _wizParams.field_180 = pop();
+ _wizParams.field_184 = pop();
break;
case 55:
_wizParams.img.flags = pop();
@@ -1226,8 +1223,8 @@
case 58:
_wizParams.processFlags |= 0x1000 | 0x100 | 0x2;
_wizParams.processMode = 7;
- _wizParams.unk_164 = pop();
- _wizParams.unk_160 = pop();
+ _wizParams.field_168 = pop();
+ _wizParams.field_164 = pop();
_wizParams.compType = pop();
break;
case 64:
@@ -1247,7 +1244,7 @@
case 68:
_wizParams.processFlags |= kWPFNewFlags | kWPFSetPos | 2;
_wizParams.img.flags |= kWIFIsPolygon;
- _wizParams.unk_160 = _wizParams.img.y1 = _wizParams.img.x1 = pop();
+ _wizParams.field_164 = _wizParams.img.y1 = _wizParams.img.x1 = pop();
break;
case 70:
_wizParams.processFlags |= kWPFXmapNum;
@@ -1266,11 +1263,11 @@
processWizImage(&_wizParams);
break;
case 128:
- pop();
- pop();
- pop();
- pop();
- copyScriptString(filename, sizeof(filename));
+ _wizParams.field_239D = pop();
+ _wizParams.field_2399 = pop();
+ _wizParams.field_23A5 = pop();
+ _wizParams.field_23A1 = pop();
+ copyScriptString(_wizParams.string2, sizeof(_wizParams.string2));
_wizParams.processMode = 15;
break;
case 129:
@@ -1278,23 +1275,23 @@
break;
case 130:
_wizParams.processMode = 16;
- pop();
- pop();
- copyScriptString(filename, sizeof(filename));
+ _wizParams.field_23AD = pop();
+ _wizParams.field_23A9 = pop();
+ copyScriptString(_wizParams.string1, sizeof(_wizParams.string1));
break;
case 131:
_wizParams.processMode = 13;
break;
case 133:
_wizParams.processMode = 17;
- pop();
- pop();
- pop();
- pop();
- pop();
- pop();
- pop();
- pop();
+ _wizParams.field_23CD = pop();
+ _wizParams.field_23C9 = pop();
+ _wizParams.field_23C5 = pop();
+ _wizParams.field_23C1 = pop();
+ _wizParams.field_23BD = pop();
+ _wizParams.field_23B9 = pop();
+ _wizParams.field_23B5 = pop();
+ _wizParams.field_23B1 = pop();
break;
case 134:
_wizParams.processFlags |= kWPFFillColor | kWPFClipBox2;
Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.240
retrieving revision 2.241
diff -u -d -r2.240 -r2.241
--- script_v90he.cpp 27 Apr 2005 14:26:52 -0000 2.240
+++ script_v90he.cpp 30 Apr 2005 05:25:05 -0000 2.241
@@ -693,8 +693,8 @@
case 85: // HE99+
_wizParams.processFlags |= 0x1000 | 0x100 | 0x2;
_wizParams.processMode = 7;
- _wizParams.unk_164 = pop();
- _wizParams.unk_160 = pop();
+ _wizParams.field_168 = pop();
+ _wizParams.field_164 = pop();
_wizParams.compType = pop();
break;
case 87: // HE99+
@@ -744,7 +744,7 @@
case 200:
_wizParams.processFlags |= kWPFNewFlags | kWPFSetPos | 2;
_wizParams.img.flags |= kWIFIsPolygon;
- _wizParams.unk_160 = _wizParams.img.y1 = _wizParams.img.x1 = pop();
+ _wizParams.field_164 = _wizParams.img.y1 = _wizParams.img.x1 = pop();
break;
case 209:
if (_wizParams.img.resNum)
Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.476
retrieving revision 1.477
diff -u -d -r1.476 -r1.477
--- scumm.cpp 29 Apr 2005 15:33:05 -0000 1.476
+++ scumm.cpp 30 Apr 2005 05:25:05 -0000 1.477
@@ -1293,6 +1293,7 @@
VAR_NUM_UNK = 0xFF;
VAR_POLYGONS_ONLY = 0xFF;
VAR_WINDOWS_VERSION = 0xFF;
+ VAR_U32_VERSION = 0xFF;
VAR_WIZ_TCOLOR = 0xFF;
}
Index: sprite_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/sprite_he.cpp,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -d -r1.133 -r1.134
--- sprite_he.cpp 20 Apr 2005 10:38:13 -0000 1.133
+++ sprite_he.cpp 30 Apr 2005 05:25:05 -0000 1.134
@@ -1273,7 +1273,7 @@
wiz.img.y1 = spi->ty - spr_wiz_y;
}
- //wiz.field_23EA = spi->field_90;
+ wiz.field_23EA = spi->field_90;
spi->curImageState = wiz.img.state = resState;
spi->curResId = wiz.img.resNum = resId;
wiz.processFlags = kWPFNewState | kWPFSetPos;
@@ -1339,8 +1339,8 @@
wiz.img.flags |= kWIFRemapPalette;
if (spi->field_84) {
wiz.processFlags |= 0x200000;
- //wiz.field_390 = spi->field_84;
- //wiz.zorder = spi->zorderPriority;
+ wiz.img.field_390 = spi->field_84;
+ wiz.img.zorder = spi->zorderPriority;
}
if (spi->maskImgResNum) {
wiz.processFlags |= kWPFMaskImg;
Index: vars.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/vars.cpp,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -d -r1.127 -r1.128
--- vars.cpp 21 Apr 2005 03:29:31 -0000 1.127
+++ vars.cpp 30 Apr 2005 05:25:06 -0000 1.128
@@ -279,6 +279,7 @@
if (_heversion >= 95) {
VAR_NUM_SPRITE_GROUPS = 105;
VAR_NUM_SPRITES = 106;
+ VAR_U32_VERSION = 107;
VAR_WIZ_TCOLOR = 117;
}
if (_heversion >= 98) {
@@ -564,6 +565,7 @@
if (_heversion >= 95) {
VAR(VAR_NUM_SPRITE_GROUPS) = MAX(64, _numSprites / 4) - 1;
VAR(VAR_NUM_SPRITES) = _numSprites - 1;
+ VAR(VAR_U32_VERSION) = -1;
VAR(VAR_WIZ_TCOLOR) = 5;
}
}
Index: wiz_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/wiz_he.cpp,v
retrieving revision 2.67
retrieving revision 2.68
diff -u -d -r2.67 -r2.68
--- wiz_he.cpp 30 Apr 2005 04:05:02 -0000 2.67
+++ wiz_he.cpp 30 Apr 2005 05:25:06 -0000 2.68
@@ -907,12 +907,12 @@
drawWizPolygon(pwi->resNum, pwi->state, pwi->x1, pwi->flags, pwi->xmapNum, 0, 0);
} else {
const Common::Rect *r = NULL;
- drawWizImage(pwi->resNum, pwi->state, pwi->x1, pwi->y1, pwi->xmapNum, r, pwi->flags, 0, 0);
+ drawWizImage(pwi->resNum, pwi->state, pwi->x1, pwi->y1, pwi->zorder, pwi->xmapNum, pwi->field_390, r, pwi->flags, 0, 0);
}
}
-uint8 *ScummEngine_v72he::drawWizImage(int resNum, int state, int x1, int y1, int xmapNum, const Common::Rect *clipBox, int flags, int dstResNum, int paletteNum) {
- debug(2, "drawWizImage(resNum %d, x1 %d, y1 %d, flags 0x%X, xmapNum %d dstResNum %d paletteNum %d)", resNum, x1, y1, flags, xmapNum, dstResNum, paletteNum);
+uint8 *ScummEngine_v72he::drawWizImage(int resNum, int state, int x1, int y1, int zorder, int xmapNum, int field_390, const Common::Rect *clipBox, int flags, int dstResNum, int paletteNum) {
+ debug(2, "drawWizImage(resNum %d, x1 %d y1 %d flags 0x%X zorder %d xmapNum %d field_390 %d dstResNum %d paletteNum %d)", resNum, x1, y1, flags, zorder, xmapNum, field_390, dstResNum, paletteNum);
uint8 *dst = NULL;
const uint8 *palPtr = NULL;
if (_heversion >= 99) {
@@ -1165,13 +1165,13 @@
break;
case 180:
flags |= kWIFFlipX | kWIFFlipY;
- drawWizImage(resNum, state, x1, y1, xmapNum, r, flags, dstResNum, paletteNum);
+ drawWizImage(resNum, state, x1, y1, 0, xmapNum, 0, r, flags, dstResNum, paletteNum);
break;
case 90:
//drawWizComplexPolygonHelper(resNum, state, x1, y1, r, flags, dstResNum, paletteNum);
break;
case 0:
- drawWizImage(resNum, state, x1, y1, xmapNum, r, flags, dstResNum, paletteNum);
+ drawWizImage(resNum, state, x1, y1, 0, xmapNum, 0, r, flags, dstResNum, paletteNum);
break;
default:
//drawWizPolygonTransform(resNum, state, pts, flags, VAR(VAR_WIZ_TCOLOR), r, dstResNum, paletteNum, xmapPtr);
@@ -1197,7 +1197,7 @@
error("Invalid point count %d for Polygon %d", wp->numVerts, id);
}
const Common::Rect *r = NULL;
- uint8 *srcWizBuf = drawWizImage(resNum, state, 0, 0, xmapNum, r, kWIFBlitToMemBuffer, 0, paletteNum);
+ uint8 *srcWizBuf = drawWizImage(resNum, state, 0, 0, 0, xmapNum, 0, r, kWIFBlitToMemBuffer, 0, paletteNum);
if (srcWizBuf) {
uint8 *dst;
int32 wizW, wizH;
@@ -1294,7 +1294,7 @@
drawWizPolygon(pwi->resNum, pwi->state, pwi->x1, pwi->flags, pwi->xmapNum, 0, pwi->paletteNum);
} else {
const Common::Rect *r = NULL;
- drawWizImage(pwi->resNum, pwi->state, pwi->x1, pwi->y1, pwi->xmapNum, r, pwi->flags, 0, pwi->paletteNum);
+ drawWizImage(pwi->resNum, pwi->state, pwi->x1, pwi->y1, pwi->zorder, pwi->xmapNum, pwi->field_390, r, pwi->flags, 0, pwi->paletteNum);
}
}
_wiz._imagesNum = 0;
@@ -1328,7 +1328,7 @@
}
const Common::Rect *r = NULL;
- uint8 *cursor = drawWizImage(resId, 0, 0, 0, 0, r, kWIFBlitToMemBuffer, 0, 0);
+ uint8 *cursor = drawWizImage(resId, 0, 0, 0, 0, 0, 0, r, kWIFBlitToMemBuffer, 0, 0);
int32 cw, ch;
getWizImageDim(resId, 0, cw, ch);
setCursorFromBuffer(cursor, cw, ch, cw);
@@ -1369,9 +1369,14 @@
po_y = params->img.y1;
}
int xmapNum = 0;
- if (params->processFlags & 0x4) {
+ if (params->processFlags & kWPFXmapNum) {
xmapNum = params->xmapNum;
}
+ int field_390 = 0;
+ if (params->processFlags & 0x200000) {
+ field_390 = params->img.field_390;
+ warning("displayWizComplexImage() unhandled flag 0x200000");
+ }
const Common::Rect *r = NULL;
if (params->processFlags & kWPFClipBox) {
r = ¶ms->box;
@@ -1405,9 +1410,11 @@
pwi->resNum = params->img.resNum;
pwi->x1 = po_x;
pwi->y1 = po_y;
+ pwi->zorder = params->img.zorder;
pwi->state = state;
pwi->flags = flags;
pwi->xmapNum = xmapNum;
+ pwi->field_390 = field_390;
pwi->paletteNum = paletteNum;
++_wiz._imagesNum;
} else {
@@ -1419,7 +1426,7 @@
if (flags & kWIFIsPolygon) {
drawWizPolygon(params->img.resNum, state, po_x, flags, xmapNum, dstResNum, paletteNum); // XXX , VAR(VAR_WIZ_TCOLOR));
} else {
- drawWizImage(params->img.resNum, state, po_x, po_y, xmapNum, r, flags, dstResNum, paletteNum);
+ drawWizImage(params->img.resNum, state, po_x, po_y, params->img.zorder, xmapNum, field_390, r, flags, dstResNum, paletteNum);
}
}
}
Index: wiz_he.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/wiz_he.h,v
retrieving revision 2.18
retrieving revision 2.19
diff -u -d -r2.18 -r2.19
--- wiz_he.h 20 Apr 2005 06:55:30 -0000 2.18
+++ wiz_he.h 30 Apr 2005 05:25:06 -0000 2.19
@@ -39,41 +39,66 @@
int resNum;
int x1;
int y1;
- int flags;
+ int zorder;
int state;
+ int flags;
int xmapNum;
+ int field_390;
int paletteNum;
};
struct WizParameters {
+ int field_0;
byte filename[260];
Common::Rect box;
int processFlags;
int processMode;
- 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 field_11C;
+ int field_120;
+ int field_124;
+ int field_128;
+ int field_12C;
+ int field_130;
+ int field_134;
+ int field_138;
int compType;
int fileWriteMode;
int angle;
int zoom;
int xmapNum;
- int unk_160;
- int unk_164;
+ int field_164;
+ int field_168;
int resDefImgW;
int resDefImgH;
int maskImgResNum;
+ int field_180;
+ int field_184;
uint8 remapColor[256];
uint8 remapIndex[256];
int remapNum;
int dstResNum;
byte fillColor;
+ byte string1[4096];
+ byte string2[4096];
+ int field_2399;
+ int field_239D;
+ int field_23A1;
+ int field_23A5;
+ int field_23A9;
+ int field_23AD;
+ int field_23B1;
+ int field_23B5;
+ int field_23B9;
+ int field_23BD;
+ int field_23C1;
+ int field_23C5;
+ int field_23C9;
+ int field_23CD;
Common::Rect box2;
+ int field_23DE;
+ int spriteId;
+ int groupNum;
+ int field_23EA;
WizImage img;
};
More information about the Scummvm-git-logs
mailing list