[Scummvm-git-logs] scummvm master -> c6e6d0b3df9cea1c0a0cc76cef9699d6d74f8bb7

bgK bastien.bouclet at gmail.com
Sat Aug 5 14:55:46 CEST 2017


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
550306fc05 MOHAWK: Riven: Set the ADGF_TESTING flag
e5869ecdc9 MOHAWK: Riven: Remove the DVD flag from some versions
51a342b9ec MOHAWK: Riven: Make sure to update the cursor when entering a card
c6e6d0b3df MOHAWK: Riven: Ensure the entire view is drawn when pan transitions complete


Commit: 550306fc05ad21d2528dce2513869ef6bcadbc66
    https://github.com/scummvm/scummvm/commit/550306fc05ad21d2528dce2513869ef6bcadbc66
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2017-08-05T10:50:04+02:00

Commit Message:
MOHAWK: Riven: Set the ADGF_TESTING flag

Changed paths:
    engines/mohawk/detection_tables.h


diff --git a/engines/mohawk/detection_tables.h b/engines/mohawk/detection_tables.h
index ec72a63..3955065 100644
--- a/engines/mohawk/detection_tables.h
+++ b/engines/mohawk/detection_tables.h
@@ -313,7 +313,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "71145fdecbd68a0cfc292c2fbddf8e08"),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -331,7 +331,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "d8ccae34a0e3c709135a73f449b783be"),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -349,7 +349,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "249e8c995d191b03ee94c892c0eac775"),
 			Common::ES_ESP,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -367,7 +367,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "aff2a384aaa9a0e0ec51010f708c5c04"),
 			Common::FR_FRA,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -385,7 +385,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "0e21e89df7788f32056b6521abf2e81a"),
 			Common::IT_ITA,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -402,7 +402,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1s("a_Data.MHK", "2a840ed74fe5dc3a388bced674d379d5", 12024358),
 			Common::RU_RUS,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -419,7 +419,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "59bd2e3ccbae2f1faa1b23a18dc316eb"),
 			Common::RU_RUS,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -438,7 +438,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1s("a_Data.MHK", "3a2b4764979dc007a0e6ded64e4b7889", 10014314),
 			Common::JA_JPN,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -456,7 +456,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "08fcaa5d5a2a01d7a5a6960f497212fe"),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -474,7 +474,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "a5fe1c91a6033eb6ee54b287578b74b9"),
 			Common::DE_DEU,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -492,7 +492,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "733a710cf5f848b441ec72d988ab8a3d"),
 			Common::PL_POL,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -509,7 +509,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "b5f40e6e6b843bf3abea291faa0911f4"),
 			Common::RU_RUS,
 			Common::kPlatformWindows,
-			ADGF_UNSTABLE,
+			ADGF_TESTING,
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
@@ -527,7 +527,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			AD_ENTRY1("a_Data.MHK", "bae6b03bd8d6eb350d35fd13f0e3139f"),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
-			ADGF_DEMO | ADGF_UNSTABLE,
+			ADGF_DEMO | ADGF_TESTING,
 			GUI_OPTIONS_RIVEN_DEMO
 		},
 		GType_RIVEN,


Commit: e5869ecdc93a6b5cf9f9954419be6d5a14cd1ac5
    https://github.com/scummvm/scummvm/commit/e5869ecdc93a6b5cf9f9954419be6d5a14cd1ac5
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2017-08-05T10:50:31+02:00

Commit Message:
MOHAWK: Riven: Remove the DVD flag from some versions

Those are obviously repackaged CD versions

Changed paths:
    engines/mohawk/detection_tables.h


diff --git a/engines/mohawk/detection_tables.h b/engines/mohawk/detection_tables.h
index 3955065..4069ac5 100644
--- a/engines/mohawk/detection_tables.h
+++ b/engines/mohawk/detection_tables.h
@@ -478,7 +478,7 @@ static const MohawkGameDescription gameDescriptions[] = {
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
-		GF_DVD,
+		0,
 		0,
 	},
 
@@ -496,12 +496,12 @@ static const MohawkGameDescription gameDescriptions[] = {
 			GUI_OPTIONS_RIVEN
 		},
 		GType_RIVEN,
-		GF_DVD,
+		0,
 		0,
 	},
 
 	// Riven: The Sequel to Myst
-	// Version 1.1 (DVD), Russan, Fargus
+	// Version 1.1 (DVD), Russian, Fargus
 	{
 		{
 			"riven",


Commit: 51a342b9ecc4282837f974a7bf06374a4de2680e
    https://github.com/scummvm/scummvm/commit/51a342b9ecc4282837f974a7bf06374a4de2680e
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2017-08-05T14:01:11+02:00

Commit Message:
MOHAWK: Riven: Make sure to update the cursor when entering a card

Changed paths:
    engines/mohawk/riven.cpp
    engines/mohawk/riven_stack.cpp
    engines/mohawk/riven_stack.h


diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp
index 59a41f5..4d4f54c 100644
--- a/engines/mohawk/riven.cpp
+++ b/engines/mohawk/riven.cpp
@@ -412,7 +412,7 @@ void MohawkEngine_Riven::changeToCard(uint16 dest) {
 	_card->enter(true);
 
 	// Now we need to redraw the cursor if necessary and handle mouse over scripts
-	_stack->onMouseMove(_stack->getMousePosition());
+	_stack->queueMouseCursorRefresh();
 
 	// Finally, install any hardcoded timer
 	_stack->installCardTimer();
diff --git a/engines/mohawk/riven_stack.cpp b/engines/mohawk/riven_stack.cpp
index 2e1fd69..847a98f 100644
--- a/engines/mohawk/riven_stack.cpp
+++ b/engines/mohawk/riven_stack.cpp
@@ -40,6 +40,7 @@ RivenStack::RivenStack(MohawkEngine_Riven *vm, uint16 id) :
 		_vm(vm),
 		_id(id),
 		_mouseIsDown(false),
+		_shouldRefreshMouseCursor(false),
 		_keyPressed(Common::KEYCODE_INVALID) {
 	removeTimer();
 
@@ -275,6 +276,10 @@ void RivenStack::mouseForceUp() {
 	_mouseIsDown = false;
 }
 
+void RivenStack::queueMouseCursorRefresh() {
+	_shouldRefreshMouseCursor = true;
+}
+
 void RivenStack::onFrame() {
 	if (!_vm->getCard() || _vm->_scriptMan->hasQueuedScripts()) {
 		return;
@@ -284,6 +289,11 @@ void RivenStack::onFrame() {
 
 	_vm->_gfx->updateEffects();
 
+	if (_shouldRefreshMouseCursor) {
+		_vm->getCard()->onMouseMove(getMousePosition());
+		_shouldRefreshMouseCursor = false;
+	}
+
 	RivenScriptPtr script(new RivenScript());
 	if (_mouseIsDown) {
 		script += _vm->getCard()->onMouseDragUpdate();
diff --git a/engines/mohawk/riven_stack.h b/engines/mohawk/riven_stack.h
index 429169b..740dff8 100644
--- a/engines/mohawk/riven_stack.h
+++ b/engines/mohawk/riven_stack.h
@@ -129,6 +129,13 @@ public:
 	/** Handle a mouse move event */
 	void onMouseMove(const Common::Point &mouse);
 
+	/**
+	 * The mouse cursor needs to be refreshed on the next interactive frame
+	 *
+	 * Even if the mouse didn't move.
+	 */
+	void queueMouseCursorRefresh();
+
 	/** Frame update handler */
 	void onFrame();
 
@@ -208,6 +215,7 @@ private:
 	bool _mouseIsDown;
 	Common::Point _mousePosition;
 	Common::Point _mouseDragStartPosition;
+	bool _shouldRefreshMouseCursor;
 
 	// Timer
 	Common::SharedPtr<TimerProc> _timerProc;


Commit: c6e6d0b3df9cea1c0a0cc76cef9699d6d74f8bb7
    https://github.com/scummvm/scummvm/commit/c6e6d0b3df9cea1c0a0cc76cef9699d6d74f8bb7
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2017-08-05T14:14:37+02:00

Commit Message:
MOHAWK: Riven: Ensure the entire view is drawn when pan transitions complete

Fixes #10063.

Changed paths:
    engines/mohawk/riven_graphics.cpp


diff --git a/engines/mohawk/riven_graphics.cpp b/engines/mohawk/riven_graphics.cpp
index 86b70d3..b9d82fb 100644
--- a/engines/mohawk/riven_graphics.cpp
+++ b/engines/mohawk/riven_graphics.cpp
@@ -198,12 +198,15 @@ public:
 			return false;
 		}
 
-		Common::Rect oldArea = Common::Rect(
-				newArea.right != _rect.right ? _rect.left + newArea.width() : _rect.left,
-				newArea.bottom != _rect.bottom ? _rect.top + newArea.height() : _rect.top,
-				newArea.left != _rect.left ? _rect.right - newArea.width() : _rect.right,
-				newArea.top != _rect.top ? _rect.bottom - newArea.height() : _rect.bottom
-		);
+		Common::Rect oldArea;
+		if (newArea != _rect) {
+			oldArea = Common::Rect(
+					newArea.right != _rect.right ? _rect.left + newArea.width() : _rect.left,
+					newArea.bottom != _rect.bottom ? _rect.top + newArea.height() : _rect.top,
+					newArea.left != _rect.left ? _rect.right - newArea.width() : _rect.right,
+					newArea.top != _rect.top ? _rect.bottom - newArea.height() : _rect.bottom
+			);
+		}
 
 		int oldX = newArea.left != _rect.left ? _rect.left + newArea.width() : _rect.left;
 		int oldY = newArea.top != _rect.top ? _rect.top + newArea.height() : _rect.top;





More information about the Scummvm-git-logs mailing list