[Scummvm-cvs-logs] CVS: scummvm/sky logic.cpp,1.125,1.126

Robert G?ffringmann lavosspawn at users.sourceforge.net
Mon Jul 14 03:06:22 CEST 2003


Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv29710/sky

Modified Files:
	logic.cpp 
Log Message:
fix bug #770784: Talking characters stay at last frame

Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/logic.cpp,v
retrieving revision 1.125
retrieving revision 1.126
diff -u -d -r1.125 -r1.126
--- logic.cpp	13 Jul 2003 16:22:16 -0000	1.125
+++ logic.cpp	14 Jul 2003 10:05:32 -0000	1.126
@@ -521,18 +521,15 @@
 
 	uint16 *graphixProg = _compact->grafixProg; // no anim file?
 	if (graphixProg) {
-		if (*graphixProg) {
+		if ((*graphixProg) && ((_compact->extCompact->spTime != 3) || (!_skySound->speechFinished()))) {
 			// we will force the animation to finish 3 game cycles
 			// before the speech actually finishes - because it looks good.
 
-			if ((_compact->extCompact->spTime != 3) || (!_skySound->speechFinished())) {
-				_compact->frame = *(graphixProg + 2) + _compact->offset;
-				graphixProg += 3;
-				_compact->grafixProg = graphixProg;
-			}
+			_compact->frame = *(graphixProg + 2) + _compact->offset;
+			graphixProg += 3;
+			_compact->grafixProg = graphixProg;
 		} else {
-			// we ran out of frames, let actor stand still.
-			// TODO: we should improve this and simply restart animation.
+			// we ran out of frames or finished speech, let actor stand still.
 			_compact->frame = _compact->getToFlag;
 			_compact->grafixProg = 0;
 		}





More information about the Scummvm-git-logs mailing list