[Scummvm-git-logs] scummvm master -> 408eeac55cd5265114673d21c7a353a885f8825c

bluegr bluegr at gmail.com
Wed Mar 27 19:21:41 CET 2019


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:
408eeac55c SCI: Synchronize QFG4 control panel audio settings


Commit: 408eeac55cd5265114673d21c7a353a885f8825c
    https://github.com/scummvm/scummvm/commit/408eeac55cd5265114673d21c7a353a885f8825c
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2019-03-27T20:21:37+02:00

Commit Message:
SCI: Synchronize QFG4 control panel audio settings

Fixes Audio button in control panel getting out of sync with
the message mode set by ScummVM.

Changed paths:
    engines/sci/engine/guest_additions.cpp
    engines/sci/engine/vm.h


diff --git a/engines/sci/engine/guest_additions.cpp b/engines/sci/engine/guest_additions.cpp
index afc87a5..b8d6334 100644
--- a/engines/sci/engine/guest_additions.cpp
+++ b/engines/sci/engine/guest_additions.cpp
@@ -847,6 +847,18 @@ void GuestAdditions::syncMessageTypeFromScummVMUsingDefaultStrategy() const {
 		// is no equivalent option in the ScummVM GUI
 		_state->variables[VAR_GLOBAL][kGlobalVarGK1NarratorMode] = NULL_REG;
 	}
+
+	if (g_sci->getGameId() == GID_QFG4) {
+		// QFG4 uses a game flag to control the Audio button's state in the control panel.
+		//  This flag must be kept in sync with the standard global 90 speech bit.
+		uint flagNumber = 400;
+		uint globalNumber = kGlobalVarQFG4Flags + (flagNumber / 16);
+		if (value & kMessageTypeSpeech) {
+			_state->variables[VAR_GLOBAL][globalNumber] |= 0x8000;
+		} else {
+			_state->variables[VAR_GLOBAL][globalNumber] &= ~0x8000;
+		}
+	}
 }
 
 #ifdef ENABLE_SCI32
diff --git a/engines/sci/engine/vm.h b/engines/sci/engine/vm.h
index 1ba24ae..f6a4077 100644
--- a/engines/sci/engine/vm.h
+++ b/engines/sci/engine/vm.h
@@ -178,6 +178,7 @@ enum GlobalVar {
 	kGlobalVarPhant2MasterVolume   = 236, // 0 to 127
 	kGlobalVarPhant2ControlPanel   = 250,
 	kGlobalVarShivers1Score        = 349,
+	kGlobalVarQFG4Flags            = 500,
 	kGlobalVarHoyle5MusicVolume    = 897,
 	kkGlobalVarHoyle5ResponseTime  = 899
 };





More information about the Scummvm-git-logs mailing list