[Scummvm-git-logs] scummvm master -> 62e7ab61b9abcb7a00762ea04ca43d78e82748c1

neuromancer noreply at scummvm.org
Tue Nov 22 19:38:30 UTC 2022


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

Summary:
28c51e2aa2 FREESCAPE: correct shot direction when using shootMode
317c388a38 FREESCAPE: correctly place mouse pointer in demo mode
62e7ab61b9 FREESCAPE: implement missing keys in demo mode for driller releses of amiga/atari


Commit: 28c51e2aa2d00aed5cfd041fac2baebd55e5a0bb
    https://github.com/scummvm/scummvm/commit/28c51e2aa2d00aed5cfd041fac2baebd55e5a0bb
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-11-22T20:39:29+01:00

Commit Message:
FREESCAPE: correct shot direction when using shootMode

Changed paths:
    engines/freescape/movement.cpp


diff --git a/engines/freescape/movement.cpp b/engines/freescape/movement.cpp
index b045203ef44..cebe125d797 100644
--- a/engines/freescape/movement.cpp
+++ b/engines/freescape/movement.cpp
@@ -71,8 +71,10 @@ void FreescapeEngine::shoot() {
 	Common::Point center(_viewArea.left + _viewArea.width() / 2, _viewArea.top + _viewArea.height() / 2);
 	float xoffset = _crossairPosition.x - center.x;
 	float yoffset = _crossairPosition.y - center.y;
+	xoffset = xoffset * 0.33;
+	yoffset = yoffset * 0.50;
 
-	Math::Vector3d direction = directionToVector(_pitch + yoffset, _yaw - xoffset);
+	Math::Vector3d direction = directionToVector(_pitch - yoffset, _yaw - xoffset);
 	Math::Ray ray(_position, direction);
 	Object *shot = _currentArea->shootRay(ray);
 	if (shot) {


Commit: 317c388a389540b05574be210b625e57c1e69906
    https://github.com/scummvm/scummvm/commit/317c388a389540b05574be210b625e57c1e69906
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-11-22T20:39:29+01:00

Commit Message:
FREESCAPE: correctly place mouse pointer in demo mode

Changed paths:
    engines/freescape/freescape.cpp
    engines/freescape/keyboard.cpp


diff --git a/engines/freescape/freescape.cpp b/engines/freescape/freescape.cpp
index 8f58a3207c2..e07af023d38 100644
--- a/engines/freescape/freescape.cpp
+++ b/engines/freescape/freescape.cpp
@@ -211,6 +211,7 @@ void FreescapeEngine::drawCrossair(Graphics::Surface *surface) {
 void FreescapeEngine::centerCrossair() {
 	_crossairPosition.x = _viewArea.left + _viewArea.width() / 2;
 	_crossairPosition.y = _viewArea.top + _viewArea.height() / 2;
+	_currentDemoMousePosition = _crossairPosition;
 }
 
 void FreescapeEngine::checkSensors() {
diff --git a/engines/freescape/keyboard.cpp b/engines/freescape/keyboard.cpp
index 985ec7fec90..04817a9cc3d 100644
--- a/engines/freescape/keyboard.cpp
+++ b/engines/freescape/keyboard.cpp
@@ -29,19 +29,20 @@ Common::Event FreescapeEngine::decodeDOSMouseEvent(int index, int repetition) {
 	event.customType = 0xde00;
 	switch(index) {
 		case 0x16:
+			assert(repetition == 1);
 			event.type = Common::EVENT_LBUTTONDOWN;
 			break;
 		case 0x17:
-			_currentDemoMousePosition.x -= repetition;
+			_currentDemoMousePosition.x += repetition;
 			break;
 		case 0x18:
-			_currentDemoMousePosition.x += repetition;
+			_currentDemoMousePosition.x -= repetition;
 			break;
 		case 0x19:
-			_currentDemoMousePosition.y -= repetition;
+			_currentDemoMousePosition.y += repetition;
 			break;
 		case 0x1a:
-			_currentDemoMousePosition.y += repetition;
+			_currentDemoMousePosition.y -= repetition;
 			break;
 		default:
 			error("Unreachable");


Commit: 62e7ab61b9abcb7a00762ea04ca43d78e82748c1
    https://github.com/scummvm/scummvm/commit/62e7ab61b9abcb7a00762ea04ca43d78e82748c1
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-11-22T20:39:29+01:00

Commit Message:
FREESCAPE: implement missing keys in demo mode for driller releses of amiga/atari

Changed paths:
    engines/freescape/keyboard.cpp


diff --git a/engines/freescape/keyboard.cpp b/engines/freescape/keyboard.cpp
index 04817a9cc3d..4ef5652cc3f 100644
--- a/engines/freescape/keyboard.cpp
+++ b/engines/freescape/keyboard.cpp
@@ -53,22 +53,38 @@ Common::Event FreescapeEngine::decodeDOSMouseEvent(int index, int repetition) {
 
 int FreescapeEngine::decodeAmigaAtariKey(int index) {
 	switch (index) {
+	case 0x41:
+		return Common::KEYCODE_a;
 	case 0x44:
 		return Common::KEYCODE_d;
+	case 0x46:
+		return Common::KEYCODE_f;
 	case 0x4c:
 		return Common::KEYCODE_l;
+	case 0x4e:
+		return Common::KEYCODE_n;
 	case 0x50:
 		return Common::KEYCODE_p;
+	case 0x52:
+		return Common::KEYCODE_r;
+	case 0x53:
+		return Common::KEYCODE_s;
 	case 0x55:
 		return Common::KEYCODE_u;
+	case 0x58:
+		return Common::KEYCODE_x;
+	case 0x5a:
+		return Common::KEYCODE_z;
+	case 0x5f:
+		return Common::KEYCODE_UNDERSCORE;
 	case 0x96:
 		return Common::KEYCODE_UP;
 	case 0x97:
 		return Common::KEYCODE_DOWN;
 	case 0x98:
-		return Common::KEYCODE_w;
+		return Common::KEYCODE_w; // Right
 	case 0x99:
-		return Common::KEYCODE_q;
+		return Common::KEYCODE_q; // Left
 	default:
 		error("Invalid key index: %x", index);
 	}




More information about the Scummvm-git-logs mailing list