[Scummvm-cvs-logs] CVS: scummvm/scumm script_v6.cpp,1.353,1.354 scumm.cpp,1.81,1.82 string.cpp,1.221,1.222 verbs.cpp,1.96,1.97

Travis Howell kirben at users.sourceforge.net
Sat Jul 10 04:43:00 CEST 2004


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

Modified Files:
	script_v6.cpp scumm.cpp string.cpp verbs.cpp 
Log Message:

Full Throttle handles verb differently


Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.353
retrieving revision 1.354
diff -u -d -r1.353 -r1.354
--- script_v6.cpp	7 Jul 2004 00:11:11 -0000	1.353
+++ script_v6.cpp	10 Jul 2004 11:42:22 -0000	1.354
@@ -1919,12 +1919,6 @@
 	VerbSlot *vs;
 	byte op;
 
-	// Full Throttle implements conversation by creating new verbs, one
-	// for each option, but it never tells when to actually draw them.
-
-	if (_gameId == GID_FT)
-		_verbRedraw = true;
-
 	op = fetchScriptByte();
 	if (op == 196) {
 		_curVerb = pop();

Index: scumm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.cpp,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -d -r1.81 -r1.82
--- scumm.cpp	5 Jul 2004 01:33:51 -0000	1.81
+++ scumm.cpp	10 Jul 2004 11:42:31 -0000	1.82
@@ -1635,7 +1635,8 @@
 
 		processDrawQue();
 
-		if (_verbRedraw) {
+		// Full Throttle always redraws verbs and draws verbs before actors
+		if ((_gameId == GID_FT) || _verbRedraw) {
 			redrawVerbs();
 		}
 	
@@ -1649,12 +1650,6 @@
 			setActorRedrawFlags();
 		}
 
-		// Full Throttle needs to draw verbs before actors, to prevent
-		// flickering with overlapped actors. See bug #778281
-
-		if (_gameId == GID_FT && !_verbRedraw && _cursor.state > 0)
-			verbMouseOver(checkMouseOver(_mouse.x, _mouse.y));
-
 		processActors();
 		_fullRedraw = false;
 		cyclePalette();
@@ -1666,7 +1661,7 @@
 			clearClickedStatus();
 		}
 
-		if (_gameId != GID_FT && !_verbRedraw && _cursor.state > 0)
+		if (!_verbRedraw && _cursor.state > 0)
 			verbMouseOver(checkMouseOver(_mouse.x, _mouse.y));
 
 		_verbRedraw = false;

Index: string.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/string.cpp,v
retrieving revision 1.221
retrieving revision 1.222
diff -u -d -r1.221 -r1.222
--- string.cpp	7 May 2004 07:33:10 -0000	1.221
+++ string.cpp	10 Jul 2004 11:42:31 -0000	1.222
@@ -368,13 +368,6 @@
 		_charset->_ignoreCharsetMask = true;
 
 
-	// In Full Throttle (and other games?), verb text should always mask
-	// and never time out. We can't do it blindly for all games, because
-	// it causes problem with the FOA intro.
-
-	if ((_gameId == GID_FT) && a == 4)
-		_talkDelay = -1;
-
 	if (!buf[0]) {
 		buf[0] = ' ';
 		buf[1] = 0;

Index: verbs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/verbs.cpp,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -d -r1.96 -r1.97
--- verbs.cpp	6 Jun 2004 02:20:53 -0000	1.96
+++ verbs.cpp	10 Jul 2004 11:42:31 -0000	1.97
@@ -264,8 +264,10 @@
 	if (_version <= 2 && !(_userState & 128)) // Don't draw verbs unless active
 		return;
 
-	int i;
-	int verb = (_cursor.state > 0 ? checkMouseOver(_mouse.x, _mouse.y) : 0);
+	int i, verb = 0;
+	if ((_gameId == GID_FT) || _cursor.state > 0)
+		verb = checkMouseOver(_mouse.x, _mouse.y);
+
 	for (i = _numVerbs-1; i >= 0; i--) {
 		if (i == verb && _verbs[verb].hicolor)
 			drawVerb(i, 1);
@@ -323,6 +325,9 @@
 	if (_version <= 2 && !(_userState & 128))
 		return;
 
+	if (_gameId == GID_FT)
+		return;
+
 	if (_verbMouseOver == verb)
 		return;
 
@@ -374,7 +379,8 @@
 			return;
 		}
 		
-		restoreVerbBG(verb);
+		if (_gameId != GID_FT)
+			restoreVerbBG(verb);
 
 		_string[4].charset = vs->charset_nr;
 		_string[4].xpos = vs->curRect.left;
@@ -408,8 +414,8 @@
 		vs->curRect.bottom = _charset->_str.bottom;
 		vs->oldRect = _charset->_str;
 		_charset->_str.left = _charset->_str.right;
-	} else {
-		restoreVerbBG(verb);
+	} else if (_gameId != GID_FT) {
+		//restoreVerbBG(verb);
 	}
 }
 
@@ -513,10 +519,10 @@
 
 	nukeResource(rtVerb, slot);
 
-	if (vs->saveid == 0) {
-		drawVerb(slot, 0);
-		verbMouseOver(0);
-	}
+	//if (vs->saveid == 0) {
+	//	drawVerb(slot, 0);
+	//	verbMouseOver(0);
+	//}
 	vs->saveid = 0;
 }
 





More information about the Scummvm-git-logs mailing list