[Scummvm-cvs-logs] SF.net SVN: scummvm:[44843] scummvm/trunk/engines/sci

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Fri Oct 9 21:41:39 CEST 2009


Revision: 44843
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44843&view=rev
Author:   m_kiewitz
Date:     2009-10-09 19:41:39 +0000 (Fri, 09 Oct 2009)

Log Message:
-----------
SCI/newgui: calling process_sound_events now directly within kAnimate(), fixes hanging scripts (e.g. sq3 exiting pod, kq1 getting killed)

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kgraphics.cpp
    scummvm/trunk/engines/sci/engine/vm.cpp
    scummvm/trunk/engines/sci/gui/gui_gfx.cpp
    scummvm/trunk/engines/sci/gui32/gui32.cpp

Modified: scummvm/trunk/engines/sci/engine/kgraphics.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kgraphics.cpp	2009-10-09 19:19:34 UTC (rev 44842)
+++ scummvm/trunk/engines/sci/engine/kgraphics.cpp	2009-10-09 19:41:39 UTC (rev 44843)
@@ -1543,6 +1543,9 @@
 	reg_t castListReference = (argc > 0) ? argv[0] : NULL_REG;
 	bool cycle = (argc > 1) ? ((argv[1].toUint16()) ? true : false) : false;
 
+	// Take care of incoming events (kAnimate is called semi-regularly)
+	process_sound_events(s);
+
 	s->_gui->animate(castListReference, cycle, argc, argv);
 	return s->r_acc;
 }

Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp	2009-10-09 19:19:34 UTC (rev 44842)
+++ scummvm/trunk/engines/sci/engine/vm.cpp	2009-10-09 19:41:39 UTC (rev 44843)
@@ -931,6 +931,8 @@
 						xstack->selector = opparams[0];
 						xstack->type = EXEC_STACK_TYPE_KERNEL;
 
+						//warning("callk %s", kfun.orig_name.c_str());
+
 						// Call kernel function
 						s->r_acc = kfun.fun(s, argc, argv);
 

Modified: scummvm/trunk/engines/sci/gui/gui_gfx.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui/gui_gfx.cpp	2009-10-09 19:19:34 UTC (rev 44842)
+++ scummvm/trunk/engines/sci/gui/gui_gfx.cpp	2009-10-09 19:41:39 UTC (rev 44843)
@@ -891,6 +891,7 @@
 		PUT_SEL32V(curObject, nsRight, celRect.right);
 		PUT_SEL32V(curObject, nsBottom, celRect.bottom);
 
+		// Calculate current priority according to y-coordinate
 		if (!(signal & SCI_ANIMATE_SIGNAL_FIXEDPRIORITY))
 			PUT_SEL32V(curObject, priority, CoordinateToPriority(y));
 		

Modified: scummvm/trunk/engines/sci/gui32/gui32.cpp
===================================================================
--- scummvm/trunk/engines/sci/gui32/gui32.cpp	2009-10-09 19:19:34 UTC (rev 44842)
+++ scummvm/trunk/engines/sci/gui32/gui32.cpp	2009-10-09 19:41:39 UTC (rev 44843)
@@ -1868,7 +1868,6 @@
 	List *cast_list = NULL;
 	int open_animation = 0;
 
-	process_sound_events(s); // Take care of incoming events (kAnimate is called semi-regularly)
 	_k_animate_ran = true; // Used by some of the invoked functions to check for recursion, which may,
 						// after all, damage the cast list
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list