[Scummvm-cvs-logs] CVS: scummvm gfx.cpp,1.67,1.68 gui.cpp,1.33,1.34 gui.h,1.17,1.18
James Brown
ender at users.sourceforge.net
Wed Apr 17 09:07:44 CEST 2002
Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv24238
Modified Files:
gfx.cpp gui.cpp gui.h
Log Message:
Add fix for Zak256/Indy3 actor masks. Thanks jah! Excellent work.
Let's hope someone will fix Loom actor masks soon... :)
Index: gfx.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gfx.cpp,v
retrieving revision 1.67
retrieving revision 1.68
diff -C2 -d -r1.67 -r1.68
*** gfx.cpp 17 Apr 2002 03:11:37 -0000 1.67
--- gfx.cpp 17 Apr 2002 16:02:29 -0000 1.68
***************
*** 339,345 ****
room = getResourceAddress(rtRoom, _roomResource);
!
! if (_features & GF_SMALL_HEADER) {
! gdi._numZBuffer = 1;
} else {
ptr = findResource(MKID('RMIH'), findResource(MKID('RMIM'), room));
--- 339,346 ----
room = getResourceAddress(rtRoom, _roomResource);
! if (_features & GF_OLD256) {
! gdi._numZBuffer = 2;
! } else if (_features & GF_SMALL_HEADER) {
! gdi._numZBuffer = 1; // ENDER
} else {
ptr = findResource(MKID('RMIH'), findResource(MKID('RMIM'), room));
***************
*** 643,647 ****
int sx;
! CHECK_HEAP if (_vm->_features & GF_SMALL_HEADER)
smap_ptr = _smap_ptr = ptr;
else
--- 644,649 ----
int sx;
! CHECK_HEAP;
! if (_vm->_features & GF_SMALL_HEADER)
smap_ptr = _smap_ptr = ptr;
else
***************
*** 652,657 ****
numzbuf = _disable_zbuffer ? 0 : _numZBuffer;
! for (i = 1; i < numzbuf; i++) {
! zplane_list[i] = findResource(zplane_tags[i], ptr);
}
--- 654,672 ----
numzbuf = _disable_zbuffer ? 0 : _numZBuffer;
! if (_vm->_features & GF_OLD256) {
! /* this is really ugly, FIXME */
! if (ptr[-2] == 'B' && ptr[-1] == 'M' &&
! READ_LE_UINT32(ptr - 6) > (READ_LE_UINT32(ptr) + 10)) {
! zplane_list[1] = smap_ptr + READ_LE_UINT32(ptr);
! } else if (ptr[-4] == 'O' && ptr[-3] == 'I' &&
! READ_LE_UINT32(ptr - 8) > READ_LE_UINT32(ptr) + 12) {
! zplane_list[1] = smap_ptr + READ_LE_UINT32(ptr);
! } else {
! zplane_list[1] = 0;
! }
! } else {
! for (i = 1; i < numzbuf; i++) {
! zplane_list[i] = findResource(zplane_tags[i], ptr);
! }
}
***************
*** 674,678 ****
_smap_ptr = smap_ptr + READ_LE_UINT32(smap_ptr + stripnr * 4 + 8);
! CHECK_HEAP sx = x;
if (vs->scrollable)
sx -= vs->xstart >> 3;
--- 689,694 ----
_smap_ptr = smap_ptr + READ_LE_UINT32(smap_ptr + stripnr * 4 + 8);
! CHECK_HEAP;
! sx = x;
if (vs->scrollable)
sx -= vs->xstart >> 3;
***************
*** 698,702 ****
decompressBitmap();
! CHECK_HEAP if (twobufs) {
_bgbak_ptr = where_draw_ptr;
--- 714,719 ----
decompressBitmap();
! CHECK_HEAP;
! if (twobufs) {
_bgbak_ptr = where_draw_ptr;
***************
*** 713,719 ****
}
}
! CHECK_HEAP if (flag & dbDrawMaskOnBoth) {
! _z_plane_ptr =
! zplane_list[1] + READ_LE_UINT16(zplane_list[1] + stripnr * 2 + 8);
_mask_ptr_dest = _vm->getResourceAddress(rtBuffer, 9) + y * 40 + x;
if (_useOrDecompress && flag & dbAllowMaskOr)
--- 730,736 ----
}
}
! CHECK_HEAP;
! if (flag & dbDrawMaskOnBoth) {
! _z_plane_ptr = zplane_list[1] + READ_LE_UINT16(zplane_list[1] + stripnr * 2 + 8);
_mask_ptr_dest = _vm->getResourceAddress(rtBuffer, 9) + y * 40 + x;
if (_useOrDecompress && flag & dbAllowMaskOr)
***************
*** 724,739 ****
for (i = 1; i < numzbuf; i++) {
if (!zplane_list[i])
! continue;
! _z_plane_ptr =
! zplane_list[i] + READ_LE_UINT16(zplane_list[i] + stripnr * 2 + 8);
! _mask_ptr_dest =
! _vm->getResourceAddress(rtBuffer, 9) + y * 40 + x + _imgBufOffs[i];
! if (_useOrDecompress && flag & dbAllowMaskOr)
! decompressMaskImgOr();
else
! decompressMaskImg();
}
! CHECK_HEAP x++;
stripnr++;
} while (--numstrip);
--- 741,774 ----
for (i = 1; i < numzbuf; i++) {
+ uint16 offs;
+
if (!zplane_list[i])
! continue;
!
! if (_vm->_features & GF_SMALL_HEADER)
! offs = READ_LE_UINT16(zplane_list[i] + stripnr * 2 + 4);
else
! offs = READ_LE_UINT16(zplane_list[i] + stripnr * 2 + 8);
!
! _mask_ptr_dest = _vm->getResourceAddress(rtBuffer, 9) + y * 40 + x + _imgBufOffs[i];
!
! if (offs) {
! _z_plane_ptr = zplane_list[i] + offs;
!
! if (_useOrDecompress && flag & dbAllowMaskOr)
! decompressMaskImgOr();
! else
! decompressMaskImg();
! } else {
! if (_useOrDecompress && flag & dbAllowMaskOr)
! ; /* nothing */
! else
! for (int h = 0; h < _numLinesToProcess; h++)
! _mask_ptr_dest[h * 40] = 0;
! /* needs better abstraction, FIXME */
! }
}
! CHECK_HEAP;
! x++;
stripnr++;
} while (--numstrip);
Index: gui.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -d -r1.33 -r1.34
*** gui.cpp 17 Apr 2002 15:24:48 -0000 1.33
--- gui.cpp 17 Apr 2002 16:02:29 -0000 1.34
***************
*** 185,188 ****
--- 185,191 ----
_gui_variables[w->_string_number]);
break;
+ case GUI_SCROLLTEXT:
+ sprintf(text, "%s", _gui_scroller);
+ break;
#ifdef _WIN32_WCE
case GUI_KEYTEXT:
***************
*** 410,417 ****
const GuiWidget about_dialog[] = {
{GUI_STAT, 0xFF, GWF_DEFAULT, 30, 20, 260, 120, 0, 0},
- // {GUI_CUSTOMTEXT, 0x01, 0, 30 + 95, 20 + 10, 100, 15, 0, }, .. pocketscummvm
{GUI_CUSTOMTEXT, 0x01, 0, 30 + 68, 20 + 10 + 15 + 5, 160, 15, 0, 9}, // Build
{GUI_CUSTOMTEXT, 0x01, 0, 30 + 10, 20 + 10 + 15 + 5 + 15, 230, 15, 0, 10}, // ScummVM Url
{GUI_CUSTOMTEXT, 0x01, 0, 30 + 75, 20 + 10 + 15 + 5 + 15 + 15 + 15, 150, 15, 0, 11}, // Lucasarts
{GUI_RESTEXT, 0x01, GWF_BUTTON, 30 + 113, 20 + 96, 54, 16, 40, 9},
{0, 0, 0, 0, 0, 0, 0, 0, 0}
--- 413,420 ----
const GuiWidget about_dialog[] = {
{GUI_STAT, 0xFF, GWF_DEFAULT, 30, 20, 260, 120, 0, 0},
{GUI_CUSTOMTEXT, 0x01, 0, 30 + 68, 20 + 10 + 15 + 5, 160, 15, 0, 9}, // Build
{GUI_CUSTOMTEXT, 0x01, 0, 30 + 10, 20 + 10 + 15 + 5 + 15, 230, 15, 0, 10}, // ScummVM Url
{GUI_CUSTOMTEXT, 0x01, 0, 30 + 75, 20 + 10 + 15 + 5 + 15 + 15 + 15, 150, 15, 0, 11}, // Lucasarts
+ {GUI_SCROLLTEXT, 0x01, 0, 30 + 95, 20 + 10, 100, 15, 0},
{GUI_RESTEXT, 0x01, GWF_BUTTON, 30 + 113, 20 + 96, 54, 16, 40, 9},
{0, 0, 0, 0, 0, 0, 0, 0, 0}
***************
*** 820,823 ****
--- 823,828 ----
_shadowcolor = 0;
_s = s;
+
+ strcpy(_gui_scroller, "Brought to you by:");
}
Index: gui.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** gui.h 16 Apr 2002 17:42:14 -0000 1.17
--- gui.h 17 Apr 2002 16:02:29 -0000 1.18
***************
*** 35,39 ****
GUI_VARTEXT = 5,
GUI_ACTIONTEXT = 6,
! GUI_KEYTEXT = 7
};
--- 35,40 ----
GUI_VARTEXT = 5,
GUI_ACTIONTEXT = 6,
! GUI_KEYTEXT = 7,
! GUI_SCROLLTEXT = 8
};
***************
*** 114,117 ****
--- 115,120 ----
void queryMessage(const char *msg, const char *alts);
byte getDefaultColor(int color);
+
+ char _gui_scroller[255];
// Dialogs
More information about the Scummvm-git-logs
mailing list