[Scummvm-git-logs] scummvm branch-2-3 -> 2e135b284e2e7853152cd0d4832d76d5df4ccf8f

mduggan mgithub at guarana.org
Thu Sep 23 07:10:08 UTC 2021


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
2e135b284e ULTIMA8: Adjust proc loop detection workaround again


Commit: 2e135b284e2e7853152cd0d4832d76d5df4ccf8f
    https://github.com/scummvm/scummvm/commit/2e135b284e2e7853152cd0d4832d76d5df4ccf8f
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-09-23T16:09:55+09:00

Commit Message:
ULTIMA8: Adjust proc loop detection workaround again

The previous workaround value chosen to fix U8 bug #12913 really locked up
Crusader too long (>10 s), so there's no clean solution here that works for
both games it seems.  Revert the threshold back for Crusader games only, and
keep the high threshold for U8.  I hope the next time I touch this line is to
remove it because I work out the root cause of the problem :|

Changed paths:
    engines/ultima/ultima8/kernel/kernel.cpp


diff --git a/engines/ultima/ultima8/kernel/kernel.cpp b/engines/ultima/ultima8/kernel/kernel.cpp
index 65cf06bd1e..22709a85c5 100644
--- a/engines/ultima/ultima8/kernel/kernel.cpp
+++ b/engines/ultima/ultima8/kernel/kernel.cpp
@@ -178,7 +178,8 @@ void Kernel::runProcesses() {
 			// for a really long time at this point.  Set it high enough that
 			// a process going through all map items should still terminate.
 			//
-			if (num_run > 65536 && !p->is_terminated()) {
+			if (((num_run > 8192 && GAME_IS_CRUSADER) || num_run > 65534)
+					&& !p->is_terminated()) {
 				warning("Seem to be stuck in process loop - killing current process");
 				p->fail();
 			}




More information about the Scummvm-git-logs mailing list