[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