[Scummvm-git-logs] scummvm master -> 335b309a46ddd18b3c3426ead242e8889d09e77a

neuromancer noreply at scummvm.org
Sun Nov 13 08:25:28 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:
c345d09d38 FREESCAPE: correctly restore camera after reloading
7a0ee12a5c FREESCAPE: avoid crashing when switching areas in jet mode in driller
335b309a46 FREESCAPE: correct height and step in jet mode in driller


Commit: c345d09d38eeee604471540f388c478b7c4408ef
    https://github.com/scummvm/scummvm/commit/c345d09d38eeee604471540f388c478b7c4408ef
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-11-13T09:26:29+01:00

Commit Message:
FREESCAPE: correctly restore camera after reloading

Changed paths:
    engines/freescape/games/driller.cpp


diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index 31752cbd4cb..43f23071238 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -98,7 +98,7 @@ void DrillerEngine::gotoArea(uint16 areaID, int entranceID) {
 
 	if (areaID != _startArea || entranceID != _startEntrance) {
 		_lastMousePos = g_system->getEventManager()->getMousePos();
-		rotate(_lastMousePos, _lastMousePos);
+		rotate(0, 0);
 	}
 }
 


Commit: 7a0ee12a5c83d673ea7d12c2f2e0904ad5b74d27
    https://github.com/scummvm/scummvm/commit/7a0ee12a5c83d673ea7d12c2f2e0904ad5b74d27
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-11-13T09:26:29+01:00

Commit Message:
FREESCAPE: avoid crashing when switching areas in jet mode in driller

Changed paths:
    engines/freescape/movement.cpp


diff --git a/engines/freescape/movement.cpp b/engines/freescape/movement.cpp
index 52a37ff954e..7707fd1a9d5 100644
--- a/engines/freescape/movement.cpp
+++ b/engines/freescape/movement.cpp
@@ -51,7 +51,10 @@ void FreescapeEngine::traverseEntrance(uint16 entranceID) {
 	else if (scale == 4)
 		delta = 12;
 
-	_playerHeight = _playerHeights[_playerHeightNumber] + delta;
+	if (_playerHeightNumber >= 0)
+		_playerHeight = _playerHeights[_playerHeightNumber] + delta;
+	else
+		_playerHeight = 1;
 	debugC(1, kFreescapeDebugMove, "player height: %d", _playerHeight);
 	_position.setValue(1, _position.y() + _playerHeight);
 }


Commit: 335b309a46ddd18b3c3426ead242e8889d09e77a
    https://github.com/scummvm/scummvm/commit/335b309a46ddd18b3c3426ead242e8889d09e77a
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-11-13T09:26:29+01:00

Commit Message:
FREESCAPE: correct height and step in jet mode in driller

Changed paths:
    engines/freescape/language/instruction.cpp
    engines/freescape/movement.cpp


diff --git a/engines/freescape/language/instruction.cpp b/engines/freescape/language/instruction.cpp
index 06d0939f15e..3d2d908a51d 100644
--- a/engines/freescape/language/instruction.cpp
+++ b/engines/freescape/language/instruction.cpp
@@ -389,11 +389,11 @@ void FreescapeEngine::executeSwapJet(FCLInstruction &instruction) {
 
 	if (_flyMode) {
 		debugC(1, kFreescapeDebugCode, "Swaping to ship mode");
-		_playerHeight = 1;
 		if (areaID == 27) {
 			traverseEntrance(26);
 			_lastPosition = _position;
 		}
+		_playerHeight = 2;
 		_playerHeightNumber = -1;
 	} else {
 		debugC(1, kFreescapeDebugCode, "Swaping to tank mode");
diff --git a/engines/freescape/movement.cpp b/engines/freescape/movement.cpp
index 7707fd1a9d5..3753991e539 100644
--- a/engines/freescape/movement.cpp
+++ b/engines/freescape/movement.cpp
@@ -54,7 +54,7 @@ void FreescapeEngine::traverseEntrance(uint16 entranceID) {
 	if (_playerHeightNumber >= 0)
 		_playerHeight = _playerHeights[_playerHeightNumber] + delta;
 	else
-		_playerHeight = 1;
+		_playerHeight = 2;
 	debugC(1, kFreescapeDebugMove, "player height: %d", _playerHeight);
 	_position.setValue(1, _position.y() + _playerHeight);
 }
@@ -115,10 +115,8 @@ void FreescapeEngine::decreaseStepSize() {
 void FreescapeEngine::rise() {
 	debugC(1, kFreescapeDebugMove, "playerHeightNumber: %d", _playerHeightNumber);
 	int previousAreaID = _currentArea->getAreaID();
-	int scale = _currentArea->getScale();
-
 	if (_flyMode) {
-		_position.setValue(1, _position.y() + scale * 32);
+		_position.setValue(1, _position.y() + _playerSteps[_playerStepIndex]);
 	} else {
 		if (_playerHeightNumber == int(_playerHeights.size()) - 1)
 			return;
@@ -147,10 +145,9 @@ void FreescapeEngine::rise() {
 void FreescapeEngine::lower() {
 	debugC(1, kFreescapeDebugMove, "playerHeightNumber: %d", _playerHeightNumber);
 	int previousAreaID = _currentArea->getAreaID();
-	int scale = _currentArea->getScale();
 
 	if (_flyMode) {
-		_position.setValue(1, _position.y() - scale * 32);
+		_position.setValue(1, _position.y() - (_playerSteps[_playerStepIndex] * 0.5));
 		bool collided = checkCollisions(true);
 		if (collided) {
 			if (_currentArea->getAreaID() == previousAreaID) {




More information about the Scummvm-git-logs mailing list