[Scummvm-cvs-logs] CVS: scummvm/scumm wiz_he.cpp,2.54,2.55

kirben kirben at users.sourceforge.net
Fri Apr 15 21:57:31 CEST 2005


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12869/scumm

Modified Files:
	wiz_he.cpp 
Log Message:

use dstResNum for destination, if set.


Index: wiz_he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/wiz_he.cpp,v
retrieving revision 2.54
retrieving revision 2.55
diff -u -d -r2.54 -r2.55
--- wiz_he.cpp	14 Apr 2005 12:18:42 -0000	2.54
+++ wiz_he.cpp	16 Apr 2005 04:56:06 -0000	2.55
@@ -1194,18 +1194,29 @@
 	uint8 *srcWizBuf = drawWizImage(resNum, state, 0, 0, xmapNum, r, kWIFBlitToMemBuffer, 0, paletteNum);
 	if (srcWizBuf) {
 		uint8 *dst;
+		int32 wizW, wizH;
 		VirtScreen *pvs = &virtscr[kMainVirtScreen];
-		if (flags & kWIFMarkBufferDirty) {
-			dst = pvs->getPixels(0, 0);
+
+		if (dstResNum) {
+			uint8 *dstPtr = getResourceAddress(rtImage, dstResNum);
+			assert(dstPtr);
+			dst = findWrappedBlock(MKID('WIZD'), dstPtr, state, 0);
+			assert(dst);
+
+			getWizImageDim(dstResNum, 0, wizW, wizH);
 		} else {
-			dst = pvs->getBackPixels(0, 0);
+			if (flags & kWIFMarkBufferDirty) {
+				dst = pvs->getPixels(0, 0);
+			} else {
+				dst = pvs->getBackPixels(0, 0);
+			}
+
+			getWizImageDim(resNum, state, wizW, wizH);
 		}
 		if (wp->bound.left < 0 || wp->bound.top < 0 || wp->bound.right >= pvs->w || wp->bound.bottom >= pvs->h) {
 			error("Invalid coords polygon %d", wp->id);
 		}
 
-		int32 wizW, wizH;
-		getWizImageDim(resNum, state, wizW, wizH);
 		Common::Point bbox[4];
 		bbox[0].x = 0;
 		bbox[0].y = 0;





More information about the Scummvm-git-logs mailing list