[Scummvm-git-logs] scummvm master -> cd0b4edb2cc113ff8c4bab0f2b581a02f95bde0e

mduggan noreply at scummvm.org
Mon Jan 30 12:55:31 UTC 2023


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:
2f43b90427 TETRAEDGE: Simplify pathfinding transform to avoid invalid access
41c351107a TETRAEDGE: Fix credits animations
1f760f4003 TETRAEDGE: Ensure game is finished after credits finish.
cd0b4edb2c TETRAEDGE: Fade between scenes by default


Commit: 2f43b904278b6327b031212366b6b4cfcb03369d
    https://github.com/scummvm/scummvm/commit/2f43b904278b6327b031212366b6b4cfcb03369d
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-01-30T21:55:20+09:00

Commit Message:
TETRAEDGE: Simplify pathfinding transform to avoid invalid access

Changed paths:
    engines/tetraedge/te/te_free_move_zone.cpp


diff --git a/engines/tetraedge/te/te_free_move_zone.cpp b/engines/tetraedge/te/te_free_move_zone.cpp
index 6ba82cfadee..55cafdf5396 100644
--- a/engines/tetraedge/te/te_free_move_zone.cpp
+++ b/engines/tetraedge/te/te_free_move_zone.cpp
@@ -209,24 +209,21 @@ TeIntrusivePtr<TeBezierCurve> TeFreeMoveZone::curve(const TeVector3f32 &startpt,
 
 	if (pathResult == micropather::MicroPather::SOLVED || pathResult == micropather::MicroPather::START_END_SAME) {
 		Common::Array<TeVector2s32> points;
-		points.resize(path.size() + 2);
 
-		int i = 1;
 		for (auto pathpt : path) {
 			// each path point is an array offset
 			int offset = (char *)pathpt - graphData;
-			points[i] = TeVector2s32(offset % xsize, offset / xsize);
-			i++;
+			points.push_back(TeVector2s32(offset % xsize, offset / xsize));
 		}
 
 		Common::Array<TeVector3f32> pts3d;
-		// Skip first and last points, we will use the exact values.
-		for (uint j = 1; j < points.size() - 1; j++) {
-			pts3d.push_back(transformAStarGridInWorldSpace(points[j]));
+		// Skip first and last points and use the exact start/end values.
+		pts3d.push_back(startpt);
+		for (uint i = 1; i < points.size() - 1; i++) {
+			pts3d.push_back(transformAStarGridInWorldSpace(points[i]));
 		}
+		pts3d.push_back(endpt);
 
-		pts3d.front() = startpt;
-		pts3d.back() = endpt;
 		removeInsignificantPoints(pts3d);
 		retval = new TeBezierCurve();
 		retval->setControlPoints(pts3d);


Commit: 41c351107a0f39cf448a37ba29cfda7f2d654a7a
    https://github.com/scummvm/scummvm/commit/41c351107a0f39cf448a37ba29cfda7f2d654a7a
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-01-30T21:55:20+09:00

Commit Message:
TETRAEDGE: Fix credits animations

Changed paths:
    engines/tetraedge/game/credits.cpp


diff --git a/engines/tetraedge/game/credits.cpp b/engines/tetraedge/game/credits.cpp
index d0631e05743..1363febc4dd 100644
--- a/engines/tetraedge/game/credits.cpp
+++ b/engines/tetraedge/game/credits.cpp
@@ -98,6 +98,7 @@ void Credits::enter(bool returnToOptions) {
 		_curveAnim._callbackObj = bgchild;
 		_curveAnim._callbackMethod = &TeLayout::setColor;
 		_curveAnim.play();
+		bgchild->setVisible(true);
 		const Common::String bgAnimName = bgchild->name() + "Anim";
 		bgPosAnim = _gui.layoutPositionLinearAnimation(bgAnimName);
 		if (!bgPosAnim)
@@ -144,13 +145,14 @@ bool Credits::onBackgroundAnimFinished() {
 		_curveAnim._callbackObj = bgchild;
 		_curveAnim._callbackMethod = &TeLayout::setColor;
 		_curveAnim.play();
+		bgchild->setVisible(true);
 		const Common::String bgAnimName = bgchild->name() + "Anim";
-		TeCurveAnim2<TeLayout, TeVector3f32> *bgposanim = _gui.layoutPositionLinearAnimation(bgAnimName);
-		if (!bgposanim)
+		TeCurveAnim2<TeLayout, TeVector3f32> *bgPosAnim = _gui.layoutPositionLinearAnimation(bgAnimName);
+		if (!bgPosAnim)
 			error("Couldn't find bg position anim %s", bgAnimName.c_str());
-		bgposanim->_callbackObj = bgchild;
-		bgposanim->_callbackMethod = &TeLayout::setPosition;
-		bgposanim->play();
+		bgPosAnim->_callbackObj = bgchild;
+		bgPosAnim->_callbackMethod = &TeLayout::setPosition;
+		bgPosAnim->play();
 	}
 	return false;
 }


Commit: 1f760f4003a896367d88bd3ed552275f8b5dc338
    https://github.com/scummvm/scummvm/commit/1f760f4003a896367d88bd3ed552275f8b5dc338
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-01-30T21:55:20+09:00

Commit Message:
TETRAEDGE: Ensure game is finished after credits finish.

Changed paths:
    engines/tetraedge/game/credits.cpp


diff --git a/engines/tetraedge/game/credits.cpp b/engines/tetraedge/game/credits.cpp
index 1363febc4dd..59c25495d45 100644
--- a/engines/tetraedge/game/credits.cpp
+++ b/engines/tetraedge/game/credits.cpp
@@ -23,6 +23,7 @@
 
 #include "tetraedge/tetraedge.h"
 #include "tetraedge/game/credits.h"
+#include "tetraedge/game/game.h"
 #include "tetraedge/game/application.h"
 
 namespace Tetraedge {
@@ -121,10 +122,14 @@ void Credits::leave() {
 		app->frontLayout().removeChild(_gui.layoutChecked("menu"));
 		_timer.stop();
 		_gui.unload();
-		if (_returnToOptions)
+		if (_returnToOptions) {
 			error("TODO: Implement returning to options menu");
-		else
+		} else {
+			// WORKAROUND: Ensure game is left before opening menu to
+			// stop inventory button appearing in menu.
+			g_engine->getGame()->leave(true);
 			app->mainMenu().enter();
+		}
 		app->fade();
 		_curveAnim.onFinished().remove(this, &Credits::onBackgroundAnimFinished);
 	}


Commit: cd0b4edb2cc113ff8c4bab0f2b581a02f95bde0e
    https://github.com/scummvm/scummvm/commit/cd0b4edb2cc113ff8c4bab0f2b581a02f95bde0e
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-01-30T21:55:20+09:00

Commit Message:
TETRAEDGE: Fade between scenes by default

Changed paths:
    engines/tetraedge/game/game.cpp


diff --git a/engines/tetraedge/game/game.cpp b/engines/tetraedge/game/game.cpp
index 6ade5c90938..875eba503ed 100644
--- a/engines/tetraedge/game/game.cpp
+++ b/engines/tetraedge/game/game.cpp
@@ -263,7 +263,7 @@ bool Game::changeWarp2(const Common::String &zone, const Common::String &scene,
 
 	_forGui.unload();
 	_prevSceneName = _currentScene;
-	if (fadeFlag)
+	if (!fadeFlag)
 		g_engine->getApplication()->fade();
 
 	return initWarp(zone, scene, false);




More information about the Scummvm-git-logs mailing list