[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