[Scummvm-cvs-logs] CVS: scummvm/scumm gfx.cpp,2.336,2.337 object.cpp,1.188,1.189 object.h,1.11,1.12
Travis Howell
kirben at users.sourceforge.net
Sun Sep 26 01:56:06 CEST 2004
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.270,2.271 script_v6.cpp,1.407,1.408 scumm.cpp,1.230,1.231 scumm.h,1.499,1.500 verbs.cpp,1.111,1.112
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm object.cpp,1.189,1.190
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10663/scumm
Modified Files:
gfx.cpp object.cpp object.h
Log Message:
COMI reads object flag from headers, it doesn't use useOrDecompress at all.
Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.cpp,v
retrieving revision 2.336
retrieving revision 2.337
diff -u -d -r2.336 -r2.337
--- gfx.cpp 26 Sep 2004 03:06:45 -0000 2.336
+++ gfx.cpp 26 Sep 2004 08:50:09 -0000 2.337
@@ -1255,6 +1255,10 @@
}
CHECK_HEAP;
+ // COMI only uses flag value
+ if (_vm->_version == 8)
+ useOrDecompress = true;
+
if (_vm->_version == 1) {
mask_ptr = getMaskBuffer(x, y, 1);
drawStripC64Mask(mask_ptr, stripnr, width, height);
@@ -1816,9 +1820,6 @@
switch (code) {
case 1:
- // FIXME: Ugly workaround for bug #901462
- if (_vm->_version == 8)
- useOrDecompress = true;
drawStripBasicV(dst, dstPitch, src, numLinesToProcess, false);
break;
@@ -1838,9 +1839,6 @@
case 6:
case 10:
- // FIXME: Ugly workaround for bug #901462
- if (_vm->_version == 8 && code == 10)
- useOrDecompress = true;
drawStripComplex(dst, dstPitch, src, numLinesToProcess, false);
break;
Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/object.cpp,v
retrieving revision 1.188
retrieving revision 1.189
diff -u -d -r1.188 -r1.189
--- object.cpp 24 Sep 2004 20:37:24 -0000 1.188
+++ object.cpp 26 Sep 2004 08:50:10 -0000 1.189
@@ -475,7 +475,15 @@
}
if (numstrip != 0) {
- byte flags = (_features & GF_HUMONGOUS) ? 0 : Gdi::dbAllowMaskOr;
+ byte flags;
+ if (_version == 8)
+ flags = (od.flag & 16);
+ else if (_features & GF_HUMONGOUS)
+ //TODO Should be read from object header
+ flags = 0;
+ else
+ flags = Gdi::dbAllowMaskOr;;
+
if (_version == 1) {
gdi._C64ObjectMode = true;
gdi.decodeC64Gfx(ptr, gdi._C64ObjectMap, width * (height / 8) * 3);
@@ -777,6 +785,7 @@
od->height = (uint)READ_LE_UINT32(&imhd->v8.height);
// HACK: This is done sinec an angle doesn't fit into a byte (360 > 256)
od->actordir = toSimpleDir(1, READ_LE_UINT32(&imhd->v8.actordir));
+ od->flag = READ_LE_UINT32(&imhd->v8.flag);
} else if (_version == 7) {
od->obj_nr = READ_LE_UINT16(&(cdhd->v7.obj_id));
Index: object.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/object.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- object.h 2 Sep 2004 10:18:34 -0000 1.11
+++ object.h 26 Sep 2004 08:50:10 -0000 1.12
@@ -37,6 +37,7 @@
byte parentstate;
byte state;
byte fl_object_index;
+ byte flag;
};
#if !defined(__GNUC__)
@@ -136,7 +137,7 @@
uint32 width;
uint32 height;
uint32 actordir;
- uint32 hotspot_num; // This field is missing in the COMI demo (version == 800) !
+ uint32 flag; // This field is missing in the COMI demo (version == 800) !
struct {
int32 x, y;
} GCC_PACK hotspot[15];
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.270,2.271 script_v6.cpp,1.407,1.408 scumm.cpp,1.230,1.231 scumm.h,1.499,1.500 verbs.cpp,1.111,1.112
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm object.cpp,1.189,1.190
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list