[Scummvm-git-logs] scummvm master -> 9868e384c5209111051f835da250131f1b823080
LittleToonCat
noreply at scummvm.org
Sun Apr 16 22:55:46 UTC 2023
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:
9868e384c5 SCUMM HE: Baseball workarounds for faster logins.
Commit: 9868e384c5209111051f835da250131f1b823080
https://github.com/scummvm/scummvm/commit/9868e384c5209111051f835da250131f1b823080
Author: Little Cat (toontownlittlecat at gmail.com)
Date: 2023-04-16T19:55:34-03:00
Commit Message:
SCUMM HE: Baseball workarounds for faster logins.
Changed paths:
engines/scumm/script_v6.cpp
diff --git a/engines/scumm/script_v6.cpp b/engines/scumm/script_v6.cpp
index 21023275a33..6e941aff65d 100644
--- a/engines/scumm/script_v6.cpp
+++ b/engines/scumm/script_v6.cpp
@@ -2471,7 +2471,20 @@ void ScummEngine_v6::o6_delay() {
void ScummEngine_v6::o6_delaySeconds() {
uint32 delay = (uint32)pop();
- delay = delay * 60;
+ // WORKAROUND: On Baseball 2001, this script downloads the news, poll and banner infomation.
+ // It gives a one second break before validating that the download has completed, which is
+ // a tad bit too long. So let's turn that into a one frame break. This is safe because
+ // the script also checks if either var135 == 1, or the check has been done
+ // 10 times before moving on:
+ //
+ // [0000] (43) localvar2 = 10
+ // ...
+ // [004E] (4F) localvar3++
+ // [0051] (B1) delaySeconds(1)
+ // [0054] (5D) unless ((var135 || (localvar3 > localvar2))) jump 4e
+ if (!(_game.id == GID_BASEBALL2001 && vm.slot[_currentScript].number == 414)) {
+ delay = delay * 60;
+ }
vm.slot[_currentScript].delay = delay;
vm.slot[_currentScript].status = ssPaused;
o6_breakHere();
@@ -3107,7 +3120,11 @@ void ScummEngine_v6::o6_delayFrames() {
//
// But since we don't support GameSpy and have our own online support, this break
// has become redundant and only wastes time.
- if (_game.id == GID_MOONBASE && vm.slot[_currentScript].number == 69) {
+ //
+ // WORKAROUND: On Baseball 2001, there is a 10 frame pause before sending the login infomation
+ // to the server. This is rather a pointless break, so let's skip that.
+ if ((_game.id == GID_MOONBASE && vm.slot[_currentScript].number == 69) ||
+ (_game.id == GID_BASEBALL2001 && _currentRoom == 37 && vm.slot[_currentScript].number == 2068)) {
pop();
return;
}
More information about the Scummvm-git-logs
mailing list