[Scummvm-cvs-logs] scummvm master -> 41dbbe346c4b46b4b48cdb38687216b1dd254fb4

bluegr bluegr at gmail.com
Sun Dec 21 23:31:35 CET 2014


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

Summary:
dfae161386 ZVISION: Implement the Venus hint system in Zork: Nemesis
41dbbe346c ZVISION: Also allow the movement when the cursor is within screen edges


Commit: dfae161386a2ad9e6828f71e90dd19598ca52f36
    https://github.com/scummvm/scummvm/commit/dfae161386a2ad9e6828f71e90dd19598ca52f36
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2014-12-22T00:30:26+02:00

Commit Message:
ZVISION: Implement the Venus hint system in Zork: Nemesis

Changed paths:
    engines/zvision/core/events.cpp



diff --git a/engines/zvision/core/events.cpp b/engines/zvision/core/events.cpp
index 6cf0ae5..f0cf3f0 100644
--- a/engines/zvision/core/events.cpp
+++ b/engines/zvision/core/events.cpp
@@ -145,6 +145,11 @@ void ZVision::cheatCodes(uint8 key) {
 			                               getBufferedKey(2),
 			                               getBufferedKey(1),
 			                               getBufferedKey(0), 0);
+
+	// Show the Venus screen when "?" or "/" is pressed while inside the temple world
+	if (_scriptManager->getStateValue(StateKey_VenusEnable) == 1)
+		if ((checkCode("?") || checkCode("/")) && _scriptManager->getStateValue(StateKey_World) == 't')
+			_scriptManager->changeLocation('g', 'j', 'h', 'e', 0);
 }
 
 void ZVision::processEvents() {


Commit: 41dbbe346c4b46b4b48cdb38687216b1dd254fb4
    https://github.com/scummvm/scummvm/commit/41dbbe346c4b46b4b48cdb38687216b1dd254fb4
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2014-12-22T00:30:26+02:00

Commit Message:
ZVISION: Also allow the movement when the cursor is within screen edges

This matches the behavior of the original in Zork: Nemesis. ZGI already
fills the screen horizontally

Changed paths:
    engines/zvision/core/events.cpp



diff --git a/engines/zvision/core/events.cpp b/engines/zvision/core/events.cpp
index f0cf3f0..81ad28f 100644
--- a/engines/zvision/core/events.cpp
+++ b/engines/zvision/core/events.cpp
@@ -284,26 +284,30 @@ void ZVision::onMouseMove(const Common::Point &pos) {
 	//               |
 	//               ^
 
-	if (_workingWindow.contains(pos)) {
-		cursorWasChanged = _scriptManager->onMouseMove(pos, imageCoord);
+	// Clip the horizontal mouse position to the working window
+	Common::Point clippedPos = pos;
+	clippedPos.x = CLIP<int16>(pos.x, _workingWindow.left + 1, _workingWindow.right - 1);
+
+	if (_workingWindow.contains(clippedPos)) {
+		cursorWasChanged = _scriptManager->onMouseMove(clippedPos, imageCoord);
 
 		RenderTable::RenderState renderState = _renderManager->getRenderTable()->getRenderState();
 		if (renderState == RenderTable::PANORAMA) {
-			if (pos.x >= _workingWindow.left && pos.x < _workingWindow.left + ROTATION_SCREEN_EDGE_OFFSET) {
+			if (clippedPos.x >= _workingWindow.left && clippedPos.x < _workingWindow.left + ROTATION_SCREEN_EDGE_OFFSET) {
 
 				int16 mspeed = _scriptManager->getStateValue(StateKey_RotateSpeed) >> 4;
 				if (mspeed <= 0)
 					mspeed = 400 >> 4;
-				_mouseVelocity  = (((pos.x - (ROTATION_SCREEN_EDGE_OFFSET + _workingWindow.left)) << 7) / ROTATION_SCREEN_EDGE_OFFSET * mspeed) >> 7;
+				_mouseVelocity  = (((clippedPos.x - (ROTATION_SCREEN_EDGE_OFFSET + _workingWindow.left)) << 7) / ROTATION_SCREEN_EDGE_OFFSET * mspeed) >> 7;
 
 				_cursorManager->changeCursor(CursorIndex_Left);
 				cursorWasChanged = true;
-			} else if (pos.x <= _workingWindow.right && pos.x > _workingWindow.right - ROTATION_SCREEN_EDGE_OFFSET) {
+			} else if (clippedPos.x <= _workingWindow.right && clippedPos.x > _workingWindow.right - ROTATION_SCREEN_EDGE_OFFSET) {
 
 				int16 mspeed = _scriptManager->getStateValue(StateKey_RotateSpeed) >> 4;
 				if (mspeed <= 0)
 					mspeed = 400 >> 4;
-				_mouseVelocity  = (((pos.x - (_workingWindow.right - ROTATION_SCREEN_EDGE_OFFSET)) << 7) / ROTATION_SCREEN_EDGE_OFFSET * mspeed) >> 7;
+				_mouseVelocity  = (((clippedPos.x - (_workingWindow.right - ROTATION_SCREEN_EDGE_OFFSET)) << 7) / ROTATION_SCREEN_EDGE_OFFSET * mspeed) >> 7;
 
 				_cursorManager->changeCursor(CursorIndex_Right);
 				cursorWasChanged = true;
@@ -311,21 +315,21 @@ void ZVision::onMouseMove(const Common::Point &pos) {
 				_mouseVelocity = 0;
 			}
 		} else if (renderState == RenderTable::TILT) {
-			if (pos.y >= _workingWindow.top && pos.y < _workingWindow.top + ROTATION_SCREEN_EDGE_OFFSET) {
+			if (clippedPos.y >= _workingWindow.top && clippedPos.y < _workingWindow.top + ROTATION_SCREEN_EDGE_OFFSET) {
 
 				int16 mspeed = _scriptManager->getStateValue(StateKey_RotateSpeed) >> 4;
 				if (mspeed <= 0)
 					mspeed = 400 >> 4;
-				_mouseVelocity  = (((pos.y - (_workingWindow.top + ROTATION_SCREEN_EDGE_OFFSET)) << 7) / ROTATION_SCREEN_EDGE_OFFSET * mspeed) >> 7;
+				_mouseVelocity  = (((clippedPos.y - (_workingWindow.top + ROTATION_SCREEN_EDGE_OFFSET)) << 7) / ROTATION_SCREEN_EDGE_OFFSET * mspeed) >> 7;
 
 				_cursorManager->changeCursor(CursorIndex_UpArr);
 				cursorWasChanged = true;
-			} else if (pos.y <= _workingWindow.bottom && pos.y > _workingWindow.bottom - ROTATION_SCREEN_EDGE_OFFSET) {
+			} else if (clippedPos.y <= _workingWindow.bottom && clippedPos.y > _workingWindow.bottom - ROTATION_SCREEN_EDGE_OFFSET) {
 
 				int16 mspeed = _scriptManager->getStateValue(StateKey_RotateSpeed) >> 4;
 				if (mspeed <= 0)
 					mspeed = 400 >> 4;
-				_mouseVelocity  = (((pos.y - (_workingWindow.bottom - ROTATION_SCREEN_EDGE_OFFSET)) << 7) / ROTATION_SCREEN_EDGE_OFFSET * mspeed) >> 7;
+				_mouseVelocity  = (((clippedPos.y - (_workingWindow.bottom - ROTATION_SCREEN_EDGE_OFFSET)) << 7) / ROTATION_SCREEN_EDGE_OFFSET * mspeed) >> 7;
 
 				_cursorManager->changeCursor(CursorIndex_DownArr);
 				cursorWasChanged = true;






More information about the Scummvm-git-logs mailing list