[Scummvm-cvs-logs] CVS: scummvm/scumm script_v90he.cpp,2.44,2.45 scumm.cpp,1.217,1.218 scumm.h,1.489,1.490

Travis Howell kirben at users.sourceforge.net
Sun Sep 19 22:31:02 CEST 2004


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

Modified Files:
	script_v90he.cpp scumm.cpp scumm.h 
Log Message:

Opcode1C in HE90+ games seems to setup WizImage settings via various cases.


Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.44
retrieving revision 2.45
diff -u -d -r2.44 -r2.45
--- script_v90he.cpp	19 Sep 2004 08:37:19 -0000	2.44
+++ script_v90he.cpp	20 Sep 2004 05:30:25 -0000	2.45
@@ -451,13 +451,13 @@
 		pop();
 		break;
 	case 6:
-		pop();
+		_wizState = pop();
 		break;
 	case 7:
 		pop();
 		break;
 	case 8:
-		pop();
+		_wizFlag = pop();
 		break;
 	case 10:
 	{
@@ -480,11 +480,12 @@
 	}
 		break;
 	case 11:
-		pop();
+		_wizResNum = pop();
+		_wizFlag = 0;
 		break;
 	case 19:
-		pop();
-		pop();
+		_wizY1 = pop();
+		_wizX1 = pop();
 		break;
 	case 87: // HE99+
 		pop();
@@ -499,12 +500,23 @@
 	case 171: // HE99+
 		break;
 	case 209:
+		if (_fullRedraw) {
+			assert(_wizImagesNum < ARRAYSIZE(_wizImages));
+			WizImage *pwi = &_wizImages[_wizImagesNum];
+			pwi->resnum = _wizResNum;
+			pwi->x1 = _wizX1;
+			pwi->y1 = _wizY1;
+			pwi->flags = _wizFlag;
+			++_wizImagesNum;
+		} else {
+			drawWizImage(rtImage, _wizResNum, _wizState, _wizX1, _wizY1, _wizFlag);
+		}
 		break;
 	default:
 		error("o90_unknown1C: unhandled case %d", subOp);
 	}
 
-	debug(1,"o90_unknown1C stub (%d)", subOp);
+	debug(0,"o90_unknown1C stub (%d)", subOp);
 }
 
 void ScummEngine_v90he::o90_unknown25() {

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.217
retrieving revision 1.218
diff -u -d -r1.217 -r1.218
--- scumm.cpp	19 Sep 2004 23:21:09 -0000	1.217
+++ scumm.cpp	20 Sep 2004 05:30:25 -0000	1.218
@@ -701,6 +701,11 @@
 	_heSndLoop = 0;
 	_heSndSoundFreq = 0;
 	memset(_timers, 0, sizeof(_timers));
+	_wizResNum = 0;
+	_wizX1 = 0;
+	_wizY1 = 0;
+	_wizState = 0;
+	_wizFlag = 0;
 
 	memset(_queueCmd, 0, sizeof(_queueCmd));
 	memset(_queueActor, 0, sizeof(_queueActor));

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.489
retrieving revision 1.490
diff -u -d -r1.489 -r1.490
--- scumm.h	19 Sep 2004 23:21:09 -0000	1.489
+++ scumm.h	20 Sep 2004 05:30:26 -0000	1.490
@@ -1075,6 +1075,7 @@
 	int _heSndSoundFreq, _heSndOffset, _heSndChannel, _heSndSoundId, _heSndLoop;
 	bool _skipDrawObject, _skipProcessActors;
 	int _timers[4];
+	int _wizResNum, _wizX1, _wizY1, _wizState, _wizFlag;
 
 protected:
 	int _shadowPaletteSize;





More information about the Scummvm-git-logs mailing list