[Scummvm-git-logs] scummvm master -> 2ea8dd8f2d505a31d39ffc996e9d32f33c271098

mgerhardy martin.gerhardy at gmail.com
Fri Jan 8 07:46:54 UTC 2021


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:
23ac5152f2 TWINE: reduced code duplication
ab6771e53d TWINE: reduced code duplication
c962e21d50 TWINE: renamed member variable
2ea8dd8f2d TWINE: fixed invalid sphere rendering


Commit: 23ac5152f22d73177dfe716f86348c3808c9c891
    https://github.com/scummvm/scummvm/commit/23ac5152f22d73177dfe716f86348c3808c9c891
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T08:46:40+01:00

Commit Message:
TWINE: reduced code duplication

Changed paths:
    engines/twine/script/script_life_v1.cpp


diff --git a/engines/twine/script/script_life_v1.cpp b/engines/twine/script/script_life_v1.cpp
index efc0c880bf..bbff040717 100644
--- a/engines/twine/script/script_life_v1.cpp
+++ b/engines/twine/script/script_life_v1.cpp
@@ -1696,10 +1696,7 @@ static int32 lPLAY_CD_TRACK(TwinEEngine *engine, LifeScriptContext &ctx) {
  * @note Opcode @c 0x65
  */
 static int32 lPROJ_ISO(TwinEEngine *engine, LifeScriptContext &ctx) {
-	engine->_renderer->setOrthoProjection(311, 240, 512);
-	engine->_renderer->setBaseTranslation(0, 0, 0);
-	engine->_renderer->setBaseRotation(0, 0, 0);
-	engine->_renderer->setLightVector(engine->_scene->alphaLight, engine->_scene->betaLight, 0);
+	engine->_gameState->initEngineProjections();
 	return 0;
 }
 


Commit: ab6771e53d00d169245487c55063dc28b4ecb6cd
    https://github.com/scummvm/scummvm/commit/ab6771e53d00d169245487c55063dc28b4ecb6cd
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T08:46:40+01:00

Commit Message:
TWINE: reduced code duplication

Changed paths:
    engines/twine/renderer/redraw.cpp


diff --git a/engines/twine/renderer/redraw.cpp b/engines/twine/renderer/redraw.cpp
index 6c19272598..d07a447c07 100644
--- a/engines/twine/renderer/redraw.cpp
+++ b/engines/twine/renderer/redraw.cpp
@@ -618,13 +618,10 @@ void Redraw::renderOverlays() {
 				_engine->_interface->drawSplittedBox(rect, 0);
 				_engine->_interface->setClip(rect);
 
-				Renderer::prepareIsoModel(_engine->_resources->inventoryTable[item]);
-				_engine->_renderer->setCameraPosition(40, 40, 128, 200, 200);
-				_engine->_renderer->setCameraAngle(0, 0, 0, 60, 0, 0, 16000);
-
+				uint8* bodyPtr = _engine->_resources->inventoryTable[item];
+				Renderer::prepareIsoModel(bodyPtr);
 				overlayRotation += 1; // overlayRotation += 8;
-
-				_engine->_renderer->renderIsoModel(0, 0, 0, 0, overlayRotation, 0, _engine->_resources->inventoryTable[item]);
+				_engine->_renderer->renderInventoryItem(40, 40, bodyPtr, overlayRotation, 16000);
 				_engine->_menu->drawBox(rect);
 				addRedrawArea(rect);
 				_engine->_gameState->initEngineProjections();


Commit: c962e21d50989ec0ac542e22a8f6b2c2abe44749
    https://github.com/scummvm/scummvm/commit/c962e21d50989ec0ac542e22a8f6b2c2abe44749
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T08:46:40+01:00

Commit Message:
TWINE: renamed member variable

Changed paths:
    engines/twine/scene/grid.cpp
    engines/twine/scene/scene.cpp
    engines/twine/scene/scene.h
    engines/twine/script/script_life_v1.cpp


diff --git a/engines/twine/scene/grid.cpp b/engines/twine/scene/grid.cpp
index b03d776972..19168b6186 100644
--- a/engines/twine/scene/grid.cpp
+++ b/engines/twine/scene/grid.cpp
@@ -681,7 +681,7 @@ void Grid::redrawGrid() {
 
 	memset(brickInfoBuffer, 0, _brickInfoBufferSize);
 
-	if (!_engine->_scene->changeRoomVar10) {
+	if (!_engine->_scene->enableGridTileRendering) {
 		return;
 	}
 
diff --git a/engines/twine/scene/scene.cpp b/engines/twine/scene/scene.cpp
index 8061d9891f..d57186cb87 100644
--- a/engines/twine/scene/scene.cpp
+++ b/engines/twine/scene/scene.cpp
@@ -368,7 +368,7 @@ void Scene::changeScene() {
 	_engine->_screens->lockPalette = false;
 
 	needChangeScene = -1;
-	changeRoomVar10 = true;
+	enableGridTileRendering = true;
 
 	_engine->_renderer->setLightVector(alphaLight, betaLight, 0);
 
diff --git a/engines/twine/scene/scene.h b/engines/twine/scene/scene.h
index 4d0478e5fd..45dfa44672 100644
--- a/engines/twine/scene/scene.h
+++ b/engines/twine/scene/scene.h
@@ -345,8 +345,7 @@ public:
 	int32 sceneNumTracks = 0;
 	ScenePoint sceneTracks[NUM_MAX_TRACKS];
 
-	// TODO: check what is this - disables rendering of the grid tiles - used for credits only?
-	bool changeRoomVar10 = false;
+	bool enableGridTileRendering = true;
 
 	uint8 sceneFlags[NUM_SCENES_FLAGS]{0}; // cubeFlags
 
diff --git a/engines/twine/script/script_life_v1.cpp b/engines/twine/script/script_life_v1.cpp
index bbff040717..7a32750b96 100644
--- a/engines/twine/script/script_life_v1.cpp
+++ b/engines/twine/script/script_life_v1.cpp
@@ -1705,9 +1705,10 @@ static int32 lPROJ_ISO(TwinEEngine *engine, LifeScriptContext &ctx) {
  * @note Opcode @c 0x66
  */
 static int32 lPROJ_3D(TwinEEngine *engine, LifeScriptContext &ctx) {
+	// TODO: only used for credits scene? If not, then move the credits related code into the menu->showCredits method
 	engine->_screens->copyScreen(engine->frontVideoBuffer, engine->workVideoBuffer);
 	engine->flip();
-	engine->_scene->changeRoomVar10 = false;
+	engine->_scene->enableGridTileRendering = false;
 
 	engine->_renderer->setCameraPosition(engine->width() / 2, engine->height() / 2, 128, 1024, 1024);
 	engine->_renderer->setCameraAngle(0, 1500, 0, 25, -128, 0, 13000);


Commit: 2ea8dd8f2d505a31d39ffc996e9d32f33c271098
    https://github.com/scummvm/scummvm/commit/2ea8dd8f2d505a31d39ffc996e9d32f33c271098
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T08:46:40+01:00

Commit Message:
TWINE: fixed invalid sphere rendering

https://bugs.scummvm.org/ticket/12047

Changed paths:
    engines/twine/renderer/renderer.cpp


diff --git a/engines/twine/renderer/renderer.cpp b/engines/twine/renderer/renderer.cpp
index 0f5d827794..56214331fb 100644
--- a/engines/twine/renderer/renderer.cpp
+++ b/engines/twine/renderer/renderer.cpp
@@ -1183,11 +1183,11 @@ bool Renderer::renderModelElements(int32 numOfPrimitives, const uint8 *polygonPt
 			CmdRenderSphere *sphere = (CmdRenderSphere *)pointer;
 			int32 radius = sphere->radius;
 
-			if (isUsingOrhoProjection) {
+			//if (isUsingOrhoProjection) {
 				radius = (radius * 34) >> 9;
-			} else {
-				radius = (radius * cameraPosY) / (cameraPosX + *(const int16 *)pointer); // TODO: this does not make sense.
-			}
+			//} 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