[Scummvm-git-logs] scummvm master -> 62c4cea44b19faf66efe1ffc2b2858435b9f5f91
mduggan
mgithub at guarana.org
Thu Sep 23 07:09:44 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:
62c4cea44b ULTIMA8: Adjust proc loop detection workaround again
Commit: 62c4cea44b19faf66efe1ffc2b2858435b9f5f91
https://github.com/scummvm/scummvm/commit/62c4cea44b19faf66efe1ffc2b2858435b9f5f91
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2021-09-23T16:07:06+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