[Scummvm-git-logs] scummvm master -> 61a93cf89bf6c01e3aa46b289832caf851ae67fd

sluicebox noreply at scummvm.org
Mon Nov 18 01:57:51 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:
61a93cf89b AGI: PREAGI: Update WINNIE game loop for reloading room


Commit: 61a93cf89bf6c01e3aa46b289832caf851ae67fd
    https://github.com/scummvm/scummvm/commit/61a93cf89bf6c01e3aa46b289832caf851ae67fd
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2024-11-17T17:57:09-08:00

Commit Message:
AGI: PREAGI: Update WINNIE game loop for reloading room

Follow-up to: 2258c07929b21d9e2a662e8f28c3c2f732ae084b

Changed paths:
    engines/agi/preagi/winnie.cpp
    engines/agi/preagi/winnie.h


diff --git a/engines/agi/preagi/winnie.cpp b/engines/agi/preagi/winnie.cpp
index 76b9b1abdb6..2a211e24766 100644
--- a/engines/agi/preagi/winnie.cpp
+++ b/engines/agi/preagi/winnie.cpp
@@ -372,7 +372,7 @@ int WinnieEngine::parser(int pc, int index, uint8 *buffer) {
 				setTakeDrop(fCanSel);
 				if (droppedInRightRoom) {
 					// reload room so that the dropped object's flag takes effect
-					return IDI_WTP_PAR_OK;
+					return IDI_WTP_PAR_RELOAD;
 				}
 				break;
 			}
@@ -1104,6 +1104,10 @@ void WinnieEngine::gameLoop() {
 					decodePhase = 2;
 					break;
 				}
+				if (result == IDI_WTP_PAR_RELOAD) {
+					// start over at block zero
+					break;
+				}
 			}
 		}
 	}
diff --git a/engines/agi/preagi/winnie.h b/engines/agi/preagi/winnie.h
index 81953655542..44e3b2e0c11 100644
--- a/engines/agi/preagi/winnie.h
+++ b/engines/agi/preagi/winnie.h
@@ -227,7 +227,8 @@ enum {
 enum {
 	IDI_WTP_PAR_OK = 0,
 	IDI_WTP_PAR_GOTO,
-	IDI_WTP_PAR_BACK
+	IDI_WTP_PAR_BACK,
+	IDI_WTP_PAR_RELOAD
 };
 
 // room file option block




More information about the Scummvm-git-logs mailing list