[Scummvm-git-logs] scummvm master -> 4505b60ef8cd9746fb0059850fd3d0f7fc8bc82c

criezy noreply at scummvm.org
Tue Feb 15 22:52:27 UTC 2022


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:
4505b60ef8 AGS: Fix for transparency test being unintentionally in 3.5.0


Commit: 4505b60ef8cd9746fb0059850fd3d0f7fc8bc82c
    https://github.com/scummvm/scummvm/commit/4505b60ef8cd9746fb0059850fd3d0f7fc8bc82c
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2022-02-15T22:52:24Z

Commit Message:
AGS: Fix for transparency test being unintentionally in 3.5.0

Resolves bug #13251 for Zniw GUI language selection screen being non-interactable

The fix is from AGS' github repository commit: https://github.com/adventuregamestudio/ags/commit/a087584a26106d2fb6a17c13b0cb3f6857f4cbed
by @ivan-mogilko on 26 Dec, 2021.

Changed paths:
    engines/ags/globals.h
    engines/ags/shared/game/main_game_file.cpp
    engines/ags/shared/gui/gui_main.cpp


diff --git a/engines/ags/globals.h b/engines/ags/globals.h
index 58bc989f991..29e14c52bca 100644
--- a/engines/ags/globals.h
+++ b/engines/ags/globals.h
@@ -758,7 +758,10 @@ public:
 	int _our_eip = 0;
 
 	int _oldmouse = 0;
+	// Data format version of the loaded game
 	GameDataVersion _loaded_game_file_version = kGameVersion_Undefined;
+	// The version of the engine the loaded game was compiled for (if available)
+	Version _game_compiled_version;
 	int _game_paused = 0;
 	char _pexbuf[STD_BUFFER_SIZE] = { 0 };
 	unsigned int _load_new_game = 0;
diff --git a/engines/ags/shared/game/main_game_file.cpp b/engines/ags/shared/game/main_game_file.cpp
index b182c62f16d..1a3d8ca2d4c 100644
--- a/engines/ags/shared/game/main_game_file.cpp
+++ b/engines/ags/shared/game/main_game_file.cpp
@@ -186,6 +186,7 @@ static HGameFileError OpenMainGameFileBase(Stream *in, MainGameSource &src) {
 	// rid of it too easily; the easy way is to set it whenever the main
 	// game file is opened.
 	_G(loaded_game_file_version) = src.DataVersion;
+	_G(game_compiled_version).SetFromString(src.CompiledWith);
 	return HGameFileError::None();
 }
 
diff --git a/engines/ags/shared/gui/gui_main.cpp b/engines/ags/shared/gui/gui_main.cpp
index b5cb2cbeb9b..8412e17279d 100644
--- a/engines/ags/shared/gui/gui_main.cpp
+++ b/engines/ags/shared/gui/gui_main.cpp
@@ -157,6 +157,11 @@ bool GUIMain::IsDisplayed() const {
 bool GUIMain::IsInteractableAt(int x, int y) const {
 	if (!IsDisplayed())
 		return false;
+	// The Transparency test was unintentionally added in 3.5.0 as a side effect,
+	// and unfortunately there are already games which require it to work.
+	if ((_G(game_compiled_version).AsNumber() == 30500) && (Transparency == 255)) {
+		return false;
+	}
 	if (!IsClickable())
 		return false;
 	if ((x >= X) & (y >= Y) & (x < X + Width) & (y < Y + Height))




More information about the Scummvm-git-logs mailing list