[Scummvm-git-logs] scummvm master -> 1b5f759ff280f39d8fa6bd2af819e201535ab7fa
sluicebox
noreply at scummvm.org
Wed Nov 13 21:51:09 UTC 2024
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:
1b5f759ff2 AGI: Add workaround for LSL1 repeating message
Commit: 1b5f759ff280f39d8fa6bd2af819e201535ab7fa
https://github.com/scummvm/scummvm/commit/1b5f759ff280f39d8fa6bd2af819e201535ab7fa
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2024-11-13T13:42:02-08:00
Commit Message:
AGI: Add workaround for LSL1 repeating message
Fixes bug #15293
Changed paths:
engines/agi/op_cmd.cpp
diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp
index d3cd6726493..3cd90845a93 100644
--- a/engines/agi/op_cmd.cpp
+++ b/engines/agi/op_cmd.cpp
@@ -2162,6 +2162,17 @@ void cmdPrint(AgiGame *state, AgiEngine *vm, uint8 *parameter) {
int16 textNr = parameter[0];
vm->_text->print(textNr);
+
+ // WORKAROUND: LSL1 prints the same message three times when giving whiskey to
+ // the man in room 14, but in our implementation it's not clear that these are
+ // three separate message boxes. The original interpreter immediately updated
+ // the screen when drawing and removing message boxes. In ours, the message
+ // appears stuck until pressing enter three times. If this happens in other
+ // games we can look into expanding this, but it may be the only one. Bug #15293
+ if (vm->getGameID() == GID_LSL1 && textNr == 22 && vm->getVar(VM_VAR_CURRENT_ROOM) == 14) {
+ vm->_gfx->updateScreen();
+ vm->_system->delayMillis(50);
+ }
}
void cmdPrintF(AgiGame *state, AgiEngine *vm, uint8 *parameter) {
More information about the Scummvm-git-logs
mailing list