[Scummvm-cvs-logs] CVS: scummvm/scumm gfx.cpp,2.359,2.360 gfx.h,1.89,1.90
Eugene Sandulenko
sev at users.sourceforge.net
Mon Oct 4 06:55:19 CEST 2004
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24754
Modified Files:
gfx.cpp gfx.h
Log Message:
Implement case 150 for drawBMAPBg
Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.cpp,v
retrieving revision 2.359
retrieving revision 2.360
diff -u -d -r2.359 -r2.360
--- gfx.cpp 4 Oct 2004 12:38:52 -0000 2.359
+++ gfx.cpp 4 Oct 2004 13:49:30 -0000 2.360
@@ -1396,7 +1396,7 @@
// for an area spanning multiple strips. In particular, the codecs 13 & 14
// in decompressBitmap call drawStripHE()
if (code == 150) {
- warning("drawBMAPBg: case 150 unhandled");
+ fillRect((byte *)vs->backBuf, vs->pitch, 0, 0, vs->w - 1, vs->h - 1, *bmap_ptr);
} else if ((code >= 134 && code <= 138) || (code >= 144 && code <= 148)) {
_decomp_shr = code % 10;
_decomp_mask = 0xFF >> (8 - _decomp_shr);
@@ -2174,6 +2174,20 @@
}
}
+void Gdi::fillRect(byte *dst, int pitch, int x1, int y1, int x2, int y2, byte color) {
+ int w, h;
+ byte *ptr = dst + x1 + y1 * pitch;
+
+ w = x2 - x1 + 1;
+ h = y2 - y1 + 1;
+
+ for (int i = 0; i < h; i++) {
+ memset(ptr, color, w);
+ ptr += pitch;
+ }
+}
+
+
#undef READ_BIT
#undef FILL_BITS
Index: gfx.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/gfx.h,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -d -r1.89 -r1.90
--- gfx.h 1 Oct 2004 20:39:47 -0000 1.89
+++ gfx.h 4 Oct 2004 13:49:30 -0000 1.90
@@ -249,6 +249,7 @@
void drawStrip3DO(byte *dst, int dstPitch, const byte *src, int height, const bool transpCheck) const;
void drawStripHE(byte *dst, int dstPitch, const byte *src, int width, int height, const bool transpCheck) const;
+ void fillRect(byte *dst, int dstPitch, int x1, int y1, int x2, int y2, byte color);
/* Mask decompressors */
void drawStripC64Mask(byte *dst, int stripnr, int width, int height) const;
More information about the Scummvm-git-logs
mailing list