[Scummvm-git-logs] scummvm master -> 397a377b8bda238a0b7b62117c07d058feeadf6e

mgerhardy martin.gerhardy at gmail.com
Thu Dec 17 12:51:13 UTC 2020


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:
e52d5bf41e TWINE: reduced cyclic complexity of centerScreenOnActor
ed1f4e758b TWINE: enable ui keymap after credits sequence was shown
397a377b8b TWINE: fixed parsing color value for sphere data


Commit: e52d5bf41ecf0faa909ac375a8c377a349993376
    https://github.com/scummvm/scummvm/commit/e52d5bf41ecf0faa909ac375a8c377a349993376
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-17T12:29:18+01:00

Commit Message:
TWINE: reduced cyclic complexity of centerScreenOnActor

Changed paths:
    engines/twine/twine.cpp


diff --git a/engines/twine/twine.cpp b/engines/twine/twine.cpp
index a5ac037e0a..b172fb1f52 100644
--- a/engines/twine/twine.cpp
+++ b/engines/twine/twine.cpp
@@ -605,26 +605,31 @@ void TwinEEngine::processOptionsMenu() {
 }
 
 void TwinEEngine::centerScreenOnActor() {
-	if (!disableScreenRecenter && !_debugGrid->useFreeCamera) {
-		ActorStruct *actor = _scene->getActor(_scene->currentlyFollowedActor);
-		_renderer->projectPositionOnScreen(actor->x - (_grid->newCameraX << 9),
-		                                   actor->y - (_grid->newCameraY << 8),
-		                                   actor->z - (_grid->newCameraZ << 9));
-		if (_renderer->projPosX < 80 || _renderer->projPosX >= SCREEN_WIDTH - 60 || _renderer->projPosY < 80 || _renderer->projPosY >= SCREEN_HEIGHT - 50) {
-			_grid->newCameraX = ((actor->x + 0x100) >> 9) + (((actor->x + 0x100) >> 9) - _grid->newCameraX) / 2;
-			_grid->newCameraY = actor->y >> 8;
-			_grid->newCameraZ = ((actor->z + 0x100) >> 9) + (((actor->z + 0x100) >> 9) - _grid->newCameraZ) / 2;
-
-			if (_grid->newCameraX >= GRID_SIZE_X) {
-				_grid->newCameraX = GRID_SIZE_X - 1;
-			}
+	if (disableScreenRecenter) {
+		return;
+	}
+	if (_debugGrid->useFreeCamera) {
+		return;
+	}
 
-			if (_grid->newCameraZ >= GRID_SIZE_Z) {
-				_grid->newCameraZ = GRID_SIZE_Z - 1;
-			}
+	ActorStruct *actor = _scene->getActor(_scene->currentlyFollowedActor);
+	_renderer->projectPositionOnScreen(actor->x - (_grid->newCameraX << 9),
+	                                   actor->y - (_grid->newCameraY << 8),
+	                                   actor->z - (_grid->newCameraZ << 9));
+	if (_renderer->projPosX < 80 || _renderer->projPosX >= SCREEN_WIDTH - 60 || _renderer->projPosY < 80 || _renderer->projPosY >= SCREEN_HEIGHT - 50) {
+		_grid->newCameraX = ((actor->x + 0x100) >> 9) + (((actor->x + 0x100) >> 9) - _grid->newCameraX) / 2;
+		_grid->newCameraY = actor->y >> 8;
+		_grid->newCameraZ = ((actor->z + 0x100) >> 9) + (((actor->z + 0x100) >> 9) - _grid->newCameraZ) / 2;
+
+		if (_grid->newCameraX >= GRID_SIZE_X) {
+			_grid->newCameraX = GRID_SIZE_X - 1;
+		}
 
-			_redraw->reqBgRedraw = true;
+		if (_grid->newCameraZ >= GRID_SIZE_Z) {
+			_grid->newCameraZ = GRID_SIZE_Z - 1;
 		}
+
+		_redraw->reqBgRedraw = true;
 	}
 }
 


Commit: ed1f4e758b282c57435c4dd9bb6a1d500078c239
    https://github.com/scummvm/scummvm/commit/ed1f4e758b282c57435c4dd9bb6a1d500078c239
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-17T13:17:50+01:00

Commit Message:
TWINE: enable ui keymap after credits sequence was shown

Changed paths:
    engines/twine/menuoptions.cpp


diff --git a/engines/twine/menuoptions.cpp b/engines/twine/menuoptions.cpp
index 5061581941..1ea2956901 100644
--- a/engines/twine/menuoptions.cpp
+++ b/engines/twine/menuoptions.cpp
@@ -111,6 +111,8 @@ void MenuOptions::showCredits() {
 
 	_engine->_screens->clearScreen();
 	_engine->flip();
+
+	_engine->_input->enableKeyMap(uiKeyMapId);
 }
 
 void MenuOptions::showEndSequence() {


Commit: 397a377b8bda238a0b7b62117c07d058feeadf6e
    https://github.com/scummvm/scummvm/commit/397a377b8bda238a0b7b62117c07d058feeadf6e
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-17T13:50:53+01:00

Commit Message:
TWINE: fixed parsing color value for sphere data

Changed paths:
    engines/twine/renderer.cpp


diff --git a/engines/twine/renderer.cpp b/engines/twine/renderer.cpp
index aa1249666c..28578f7aa3 100644
--- a/engines/twine/renderer.cpp
+++ b/engines/twine/renderer.cpp
@@ -1011,9 +1011,8 @@ uint8 *Renderer::prepareSpheres(Common::MemoryReadStream &stream, int32 &numOfPr
 	numOfPrimitives += numSpheres;
 	do {
 		CmdRenderSphere *sphere = (CmdRenderSphere *)renderBufferPtr;
-		stream.skip(1);
-		sphere->colorIndex = stream.readByte();
 		stream.skip(2);
+		sphere->colorIndex = stream.readUint16LE();
 		sphere->radius = stream.readUint16LE();
 		const int16 centerOffset = stream.readUint16LE();
 		const int16 centerIndex = centerOffset / 6;
@@ -1216,10 +1215,10 @@ int32 Renderer::renderModelElements(int32 numOfPrimitives, uint8 *ptr, RenderCom
 			CmdRenderSphere *sphere = (CmdRenderSphere *)pointer;
 			int32 radius = sphere->radius;
 
-			if (!isUsingOrhoProjection) {
-				radius = (radius * cameraPosY) / (cameraPosX + *(const int16 *)pointer); // TODO: this does not make sense.
-			} else {
+			if (isUsingOrhoProjection) {
 				radius = (radius * 34) >> 9;
+			} else {
+				radius = (radius * cameraPosY) / (cameraPosX + *(const int16 *)pointer); // TODO: this does not make sense.
 			}
 
 			radius += 3;




More information about the Scummvm-git-logs mailing list