[Scummvm-git-logs] scummvm master -> 31ce22edd91d4dfaf0cebf928b911db37b0766fd

mduggan noreply at scummvm.org
Sun Apr 30 00:54:51 UTC 2023


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
9b88cd40e2 TETRAEDGE: Fix Amerzone sound clearing on warp
31ce22edd9 TETRAEDGE: Clean up some coverity issues


Commit: 9b88cd40e2ae3e4e00b97c53b2ee7ab7a899f508
    https://github.com/scummvm/scummvm/commit/9b88cd40e2ae3e4e00b97c53b2ee7ab7a899f508
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-04-30T09:54:30+09:00

Commit Message:
TETRAEDGE: Fix Amerzone sound clearing on warp

Changed paths:
    engines/tetraedge/game/amerzone_game.cpp
    engines/tetraedge/game/amerzone_game.h
    engines/tetraedge/game/application.cpp
    engines/tetraedge/game/application.h
    engines/tetraedge/game/lua_binds.cpp


diff --git a/engines/tetraedge/game/amerzone_game.cpp b/engines/tetraedge/game/amerzone_game.cpp
index b3ee48f7b9d..27f22d447f5 100644
--- a/engines/tetraedge/game/amerzone_game.cpp
+++ b/engines/tetraedge/game/amerzone_game.cpp
@@ -35,7 +35,7 @@
 namespace Tetraedge {
 
 AmerzoneGame::AmerzoneGame() : Tetraedge::Game(), _orientationX(0.0f), _orientationY(0.0f),
-_speedX(0.0f), _speedY(0.0f), _isInDrag(false), _musicOn(false), _edgeButtonRolloverCount(0),
+_speedX(0.0f), _speedY(0.0f), _isInDrag(false), _edgeButtonRolloverCount(0),
 _warpX(nullptr), _warpY(nullptr), _prevWarpY(nullptr) {
 
 }
@@ -97,6 +97,13 @@ bool AmerzoneGame::changeWarp(const Common::String &rawZone, const Common::Strin
 	_luaContext.removeGlobal("OnDialogFinished");
 	_luaContext.removeGlobal("OnDocumentClosed");
 	_luaContext.removeGlobal("OnPuzzleWon");
+
+	for (uint i = 0; i < _gameSounds.size(); i++) {
+		_gameSounds[i]->stop();
+		_gameSounds[i]->deleteLater();
+	}
+	_gameSounds.clear();
+
 	Common::String sceneXml = zone;
 	size_t dotpos = sceneXml.rfind('.');
 	if (dotpos != Common::String::npos)
@@ -519,7 +526,7 @@ bool AmerzoneGame::onVideoFinished() {
 	video->setVisible(false);
 	Application *app = g_engine->getApplication();
 	_videoMusic.stop();
-	if (_musicOn)
+	if (app->musicOn())
 		app->music().play();
 	_running = true;
 	_luaScript.execute("OnMovieFinished", vidPath);
diff --git a/engines/tetraedge/game/amerzone_game.h b/engines/tetraedge/game/amerzone_game.h
index 3a494a43f56..5f24fd6f7f4 100644
--- a/engines/tetraedge/game/amerzone_game.h
+++ b/engines/tetraedge/game/amerzone_game.h
@@ -81,7 +81,6 @@ private:
 	float _speedX;
 	float _speedY;
 	bool _isInDrag;
-	bool _musicOn;
 	int _edgeButtonRolloverCount;
 	Common::Point _mouseDragStart;
 	Common::Point _mouseDragLast;
diff --git a/engines/tetraedge/game/application.cpp b/engines/tetraedge/game/application.cpp
index 6c126b54bc3..2c6203ba1d6 100644
--- a/engines/tetraedge/game/application.cpp
+++ b/engines/tetraedge/game/application.cpp
@@ -49,7 +49,7 @@ bool Application::_dontUpdateWhenApplicationPaused = false;
 Application::Application() : _finishedGame(false), _finishedFremium(false),
 _captureFade(false), _difficulty(1), _created(false), _tutoActivated(false),
 _drawShadows(true), _compassLook(false), _inverseLook(false),
-_permanentHelp(true) {
+_permanentHelp(true), _musicOn(true) {
 	//
 	// TODO: Game defaults _ratioStretched to false, but then
 	// the horizontally scrolling scenes don't scroll properly.
diff --git a/engines/tetraedge/game/application.h b/engines/tetraedge/game/application.h
index f24ccd069d0..f3e307c5e79 100644
--- a/engines/tetraedge/game/application.h
+++ b/engines/tetraedge/game/application.h
@@ -115,6 +115,7 @@ public:
 	bool compassLook() const { return _compassLook; }
 	bool inverseLook() const { return _inverseLook; }
 	bool permanentHelp() const { return _permanentHelp; }
+	bool musicOn() const { return _musicOn; }
 
 private:
 	void drawBack();
@@ -184,6 +185,7 @@ private:
 	bool _compassLook;
 	bool _inverseLook;
 	bool _permanentHelp;
+	bool _musicOn;
 
 	int _difficulty;
 
diff --git a/engines/tetraedge/game/lua_binds.cpp b/engines/tetraedge/game/lua_binds.cpp
index e72ebb469a3..ae76e8ddfb0 100644
--- a/engines/tetraedge/game/lua_binds.cpp
+++ b/engines/tetraedge/game/lua_binds.cpp
@@ -2006,6 +2006,8 @@ static void PlayMusic(const Common::String &path, float volume) {
 	music.stop();
 	music.repeat(g_engine->gameIsAmerzone());
 	music.load(path);
+	if (!g_engine->getApplication()->musicOn())
+		return;
 	music.play();
 	music.volume(volume);
 }


Commit: 31ce22edd91d4dfaf0cebf928b911db37b0766fd
    https://github.com/scummvm/scummvm/commit/31ce22edd91d4dfaf0cebf928b911db37b0766fd
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2023-04-30T09:54:30+09:00

Commit Message:
TETRAEDGE: Clean up some coverity issues

Changed paths:
    engines/tetraedge/game/amerzone_game.cpp
    engines/tetraedge/game/options_menu.cpp
    engines/tetraedge/te/te_marker.cpp
    engines/tetraedge/te/te_scene_warp.h


diff --git a/engines/tetraedge/game/amerzone_game.cpp b/engines/tetraedge/game/amerzone_game.cpp
index 27f22d447f5..de2187a0dc8 100644
--- a/engines/tetraedge/game/amerzone_game.cpp
+++ b/engines/tetraedge/game/amerzone_game.cpp
@@ -36,7 +36,10 @@ namespace Tetraedge {
 
 AmerzoneGame::AmerzoneGame() : Tetraedge::Game(), _orientationX(0.0f), _orientationY(0.0f),
 _speedX(0.0f), _speedY(0.0f), _isInDrag(false), _edgeButtonRolloverCount(0),
-_warpX(nullptr), _warpY(nullptr), _prevWarpY(nullptr) {
+_warpX(nullptr), _warpY(nullptr), _prevWarpY(nullptr),
+_xAngleMin(0.0f), _xAngleMax(0.0f), _yAngleMin(0.0f), _yAngleMax(0.0f),
+_puzzleNo(-1), _puzParam1(-1), _puzParam2(-1)
+ {
 
 }
 
@@ -409,8 +412,10 @@ void AmerzoneGame::startChangeWarpAnim() {
 		TeRenderer *renderer = g_engine->getRenderer();
 		renderer->clearBuffer(TeRenderer::ColorBuffer);
 		renderer->clearBuffer(TeRenderer::DepthBuffer);
-		if (_warpX)
-			_warpX->render();
+
+		// Original does null checks here but they are pointless as both
+		// are already used above.
+		_warpX->render();
 		_prevWarpY->render();
 
 		// This is a much simpler version of what the original does
diff --git a/engines/tetraedge/game/options_menu.cpp b/engines/tetraedge/game/options_menu.cpp
index 890e082222a..95ac29ee46b 100644
--- a/engines/tetraedge/game/options_menu.cpp
+++ b/engines/tetraedge/game/options_menu.cpp
@@ -309,8 +309,9 @@ void OptionsMenu::updateJauge(const Common::String &chan, const Common::String &
 		if (!sprite)
 			break;
 		bool enableSprite = false;
-		if (i * (1.0f / n) - EPSILON <= chanVol) {
-			enableSprite = chanVol < (i + 1) * (1.0f / n) - EPSILON;
+		float mul = n ? 1.0f / n : 1.0f;
+		if (i * mul - EPSILON <= chanVol) {
+			enableSprite = chanVol < (i + 1) * mul - EPSILON;
 		}
 		sprite->setVisible(enableSprite);
 
diff --git a/engines/tetraedge/te/te_marker.cpp b/engines/tetraedge/te/te_marker.cpp
index 7ef35775c6a..e016a137070 100644
--- a/engines/tetraedge/te/te_marker.cpp
+++ b/engines/tetraedge/te/te_marker.cpp
@@ -23,7 +23,7 @@
 
 namespace Tetraedge {
 
-TeMarker::TeMarker() : _visible(true), _isActive(false) {
+TeMarker::TeMarker() : _visible(true), _isActive(false), _zLoc(0) {
 }
 
 void TeMarker::active(bool val) {
diff --git a/engines/tetraedge/te/te_scene_warp.h b/engines/tetraedge/te/te_scene_warp.h
index a1ba4a586cc..bbb242bb08f 100644
--- a/engines/tetraedge/te/te_scene_warp.h
+++ b/engines/tetraedge/te/te_scene_warp.h
@@ -42,7 +42,7 @@ public:
 	};
 	class Exit {
 	public:
-		Exit() : _nbWarpBlock(0), _markerId(0) {}
+		Exit() : _nbWarpBlock(0), _markerId(0), _camAngleX(0.0f), _camAngleY(0.0f) {}
 		Common::String _name;
 		Common::String _linkedWarp;
 		unsigned long _markerId;




More information about the Scummvm-git-logs mailing list