[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