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

scemino noreply at scummvm.org
Wed Mar 20 21:32:12 UTC 2024


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

Summary:
04dc33b870 TWP: Fix calling the 'Finalize' virtual function in the destructor in SQClass. PVS-Studio V1053
245a9be961 I18N: Fix some translations (French)
d2b9ab6555 TWP: Fix unchecked return value in playSound.
0982630cb6 TWP: Fix various unchecked return value.
9eaeb40184 TWP: Fix uninitialized scalar field _useFlag in TwpEngine.
eba7f620f6 TWP: Fix unchecked return value in drawThreads.


Commit: 04dc33b870d4465a604479df1a7d3fe827fbd95f
    https://github.com/scummvm/scummvm/commit/04dc33b870d4465a604479df1a7d3fe827fbd95f
Author: scemino (scemino74 at gmail.com)
Date: 2024-03-20T22:31:03+01:00

Commit Message:
TWP: Fix calling the 'Finalize' virtual function in the destructor in SQClass. PVS-Studio V1053

Changed paths:
    engines/twp/squirrel/sqclass.cpp


diff --git a/engines/twp/squirrel/sqclass.cpp b/engines/twp/squirrel/sqclass.cpp
index 31ea068346b..f8d65d1161c 100755
--- a/engines/twp/squirrel/sqclass.cpp
+++ b/engines/twp/squirrel/sqclass.cpp
@@ -51,7 +51,7 @@ void SQClass::FinalizeCore() {
 SQClass::~SQClass()
 {
     REMOVE_FROM_CHAIN(&_sharedstate->_gc_chain, this);
-    Finalize();
+    FinalizeCore();
 }
 
 bool SQClass::NewSlot(SQSharedState *ss,const SQObjectPtr &key,const SQObjectPtr &val,bool bstatic)


Commit: 245a9be96180e9b67f6ccf605926c8ae588b2044
    https://github.com/scummvm/scummvm/commit/245a9be96180e9b67f6ccf605926c8ae588b2044
Author: scemino (scemino74 at gmail.com)
Date: 2024-03-20T22:31:03+01:00

Commit Message:
I18N: Fix some translations (French)

Changed paths:
    po/fr_FR.po


diff --git a/po/fr_FR.po b/po/fr_FR.po
index 458b042f4f5..9d09213344f 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -11,8 +11,8 @@ msgstr ""
 "Project-Id-Version: ScummVM 1.8.0git\n"
 "Report-Msgid-Bugs-To: scummvm-devel at lists.scummvm.org\n"
 "POT-Creation-Date: 2024-03-17 01:12+0000\n"
-"PO-Revision-Date: 2024-03-17 21:45+0000\n"
-"Last-Translator: Purple T <ZEONK at hotmail.com>\n"
+"PO-Revision-Date: 2024-03-20 20:15+0100\n"
+"Last-Translator: Scemino <scemino74 at gmail.com>\n"
 "Language-Team: French <https://translations.scummvm.org/projects/scummvm/"
 "scummvm/fr/>\n"
 "Language: fr_FR\n"
@@ -20,7 +20,7 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.4\n"
+"X-Generator: Poedit 3.4.2\n"
 "X-Language-name: Français\n"
 
 #. I18N: built on <build date> with <compiler>
@@ -9509,7 +9509,7 @@ msgstr "Qualité des musiques :"
 msgid ""
 "Select music quality. The original lets you choose this from the Game menu."
 msgstr ""
-"Selctionne la qualité des musiques. L'original vous permet de choisir cette "
+"Sélectionne la qualité des musiques. L'original vous permet de choisir cette "
 "qualité dans le menu du jeu."
 
 #: engines/scumm/dialogs.cpp:1381
@@ -9518,7 +9518,7 @@ msgid ""
 "detection and speed tests, but also allows changes through the Game menu to "
 "some degree."
 msgstr ""
-"Selctionne la qualité des musiques. L'original détermine les paramètres de "
+"Sélectionne la qualité des musiques. L'original détermine les paramètres de "
 "base par détection du matériel et des tests de vitesse, mais permet aussi "
 "certains changements via le menu du jeu."
 
@@ -11071,15 +11071,15 @@ msgstr "Vidéo :"
 #. I18N: Setting to switch toiled paper to be shown as "over".
 #: engines/twp/dialogs.cpp:37
 msgid "Toilet paper over"
-msgstr "Papier toilette vide"
+msgstr "Papier toilette dessus"
 
 #: engines/twp/dialogs.cpp:38
 msgid ""
 "The toilet paper in some toilets will be shown \"over\".\n"
 "It's a joke option that has no effects on the gameplay."
 msgstr ""
-"Les rouleaux de papier toilette dans certains toilettes apparaitrons comme "
-"\"vides\".\n"
+"Le papier toilette dans certains toilettes apparaitrons comme « au-"
+"dessus ».\n"
 "Cette option est une blague qui n'a aucun effet sur le gameplay."
 
 #. I18N: Setting to enable or disable additional jokes in the game.


Commit: d2b9ab655583370c02cfbff46dbea556195917b1
    https://github.com/scummvm/scummvm/commit/d2b9ab655583370c02cfbff46dbea556195917b1
Author: scemino (scemino74 at gmail.com)
Date: 2024-03-20T22:31:04+01:00

Commit Message:
TWP: Fix unchecked return value in playSound.

Coverity CID 1540599

Changed paths:
    engines/twp/soundlib.cpp


diff --git a/engines/twp/soundlib.cpp b/engines/twp/soundlib.cpp
index 58031a60d0a..5ead663a0d1 100644
--- a/engines/twp/soundlib.cpp
+++ b/engines/twp/soundlib.cpp
@@ -154,11 +154,8 @@ static SQInteger playObjectSound(HSQUIRRELVM v) {
 // _flourescentSoundID = playSound(soundFlourescentOn)
 static SQInteger playSound(HSQUIRRELVM v) {
 	Common::SharedPtr<SoundDefinition> sound = sqsounddef(v, 2);
-	if (!sound) {
-		SQInteger soundId = 0;
-		sqget(v, 2, soundId);
-		return sq_throwerror(v, Common::String::format("failed to get sound: %lld", soundId).c_str());
-	}
+	if (!sound)
+		return sq_throwerror(v, "failed to get sound");
 	int soundId = g_twp->_audio->play(sound, Audio::Mixer::SoundType::kPlainSoundType);
 	sqpush(v, soundId);
 	return 1;


Commit: 0982630cb62269f8a0de2417c6c9d8fe189947ef
    https://github.com/scummvm/scummvm/commit/0982630cb62269f8a0de2417c6c9d8fe189947ef
Author: scemino (scemino74 at gmail.com)
Date: 2024-03-20T22:31:04+01:00

Commit Message:
TWP: Fix various unchecked return value.

Coverity CID 1540595

Changed paths:
    engines/twp/actorlib.cpp
    engines/twp/genlib.cpp
    engines/twp/objlib.cpp
    engines/twp/roomlib.cpp
    engines/twp/soundlib.cpp
    engines/twp/syslib.cpp


diff --git a/engines/twp/actorlib.cpp b/engines/twp/actorlib.cpp
index 367c9e1dd07..78ccc05250a 100644
--- a/engines/twp/actorlib.cpp
+++ b/engines/twp/actorlib.cpp
@@ -186,8 +186,8 @@ static SQInteger actorCostume(HSQUIRRELVM v) {
 		return sq_throwerror(v, "failed to get name");
 
 	Common::String sheet;
-	if (sq_gettop(v) == 4)
-		sqget(v, 4, sheet);
+	if ((sq_gettop(v) == 4) && SQ_FAILED(sqget(v, 4, sheet)))
+		return sq_throwerror(v, "failed to get sheet");
 	debugC(kDebugActScript, "Actor costume %s %s", name.c_str(), sheet.c_str());
 	actor->setCostume(name, sheet);
 	return 0;
@@ -372,7 +372,7 @@ static SQInteger actorShowHideLayer(HSQUIRRELVM v, bool visible) {
 	if (SQ_FAILED(sqget(v, 3, layer)))
 		return sq_throwerror(v, "failed to get layer");
 	actor->showLayer(layer, visible);
-	if(!visible) {
+	if (!visible) {
 		for (int i = 1; i <= 6; i++) {
 			actor->showLayer(Common::String::format("%s%d", layer.c_str(), i), false);
 		}
diff --git a/engines/twp/genlib.cpp b/engines/twp/genlib.cpp
index 5e4a66ac5f9..df5215b20bb 100644
--- a/engines/twp/genlib.cpp
+++ b/engines/twp/genlib.cpp
@@ -258,7 +258,8 @@ static SQInteger cameraPos(HSQUIRRELVM v) {
 // Converts an integer to a char.
 static SQInteger sqChr(HSQUIRRELVM v) {
 	SQInteger value;
-	sqget(v, 2, value);
+	if (SQ_FAILED(sqget(v, 2, value)))
+		return sq_throwerror(v, "failed to get value");
 	Common::String s;
 	s += char(value);
 	sqpush(v, s);
diff --git a/engines/twp/objlib.cpp b/engines/twp/objlib.cpp
index ec49f1e1698..97ea25d1e82 100644
--- a/engines/twp/objlib.cpp
+++ b/engines/twp/objlib.cpp
@@ -62,7 +62,8 @@ static SQInteger createObject(HSQUIRRELVM v) {
 		switch (sq_gettype(v, framesIndex)) {
 		case OT_STRING: {
 			Common::String frame;
-			sqget(v, framesIndex, frame);
+			if (SQ_FAILED(sqget(v, framesIndex, frame)))
+				return sq_throwerror(v, "failed to get frame");
 			frames.push_back(frame);
 		} break;
 		case OT_ARRAY:
@@ -401,7 +402,8 @@ static SQInteger objectHidden(HSQUIRRELVM v) {
 	Common::SharedPtr<Object> obj = sqobj(v, 2);
 	if (obj) {
 		SQInteger hidden = 0;
-		sqget(v, 3, hidden);
+		if (SQ_FAILED(sqget(v, 3, hidden)))
+			return sq_throwerror(v, "failed to get hidden");
 		debugC(kDebugObjScript, "Sets object visible %s/%s to %s", obj->_name.c_str(), obj->_key.c_str(), hidden == 0 ? "true" : "false");
 		obj->_node->setVisible(hidden == 0);
 	}
@@ -465,11 +467,12 @@ static SQInteger objectIcon(HSQUIRRELVM v) {
 		SQInteger fps = 10;
 		sq_push(v, 3);
 		sq_pushnull(v); // null iterator
-		if (SQ_SUCCEEDED(sq_next(v, -2)))
-			sqget(v, -1, fps);
+		if (SQ_SUCCEEDED(sq_next(v, -2)) && SQ_FAILED(sqget(v, -1, fps)))
+			return sq_throwerror(v, "failed to get fps");
 		sq_pop(v, 2);
 		while (SQ_SUCCEEDED(sq_next(v, -2))) {
-			sqget(v, -1, icon);
+			if(SQ_FAILED(sqget(v, -1, icon)))
+				return sq_throwerror(v, "failed to get icon");
 			icons.push_back(icon);
 			sq_pop(v, 2);
 		}
diff --git a/engines/twp/roomlib.cpp b/engines/twp/roomlib.cpp
index b0798b608a1..365b25cb16b 100644
--- a/engines/twp/roomlib.cpp
+++ b/engines/twp/roomlib.cpp
@@ -373,17 +373,28 @@ static SQInteger roomEffect(HSQUIRRELVM v) {
 	SQInteger nArgs = sq_gettop(v);
 	if (roomEffect == RoomEffect::Ghost) {
 		if (nArgs == 14) {
-			sqget(v, 3, g_twp->_shaderParams->iFade);
-			sqget(v, 4, g_twp->_shaderParams->wobbleIntensity);
-			sqget(v, 6, g_twp->_shaderParams->shadows.rgba.r);
-			sqget(v, 7, g_twp->_shaderParams->shadows.rgba.g);
-			sqget(v, 8, g_twp->_shaderParams->shadows.rgba.b);
-			sqget(v, 9, g_twp->_shaderParams->midtones.rgba.r);
-			sqget(v, 10, g_twp->_shaderParams->midtones.rgba.g);
-			sqget(v, 11, g_twp->_shaderParams->midtones.rgba.b);
-			sqget(v, 12, g_twp->_shaderParams->highlights.rgba.r);
-			sqget(v, 13, g_twp->_shaderParams->highlights.rgba.g);
-			sqget(v, 14, g_twp->_shaderParams->highlights.rgba.b);
+			if (SQ_FAILED(sqget(v, 3, g_twp->_shaderParams->iFade)))
+				return sq_throwerror(v, "failed to get iFade");
+			if (SQ_FAILED(sqget(v, 4, g_twp->_shaderParams->wobbleIntensity)))
+				return sq_throwerror(v, "failed to get wobbleIntensity");
+			if (SQ_FAILED(sqget(v, 6, g_twp->_shaderParams->shadows.rgba.r)))
+				return sq_throwerror(v, "failed to get shadows r");
+			if (SQ_FAILED(sqget(v, 7, g_twp->_shaderParams->shadows.rgba.g)))
+				return sq_throwerror(v, "failed to get shadows g");
+			if (SQ_FAILED(sqget(v, 8, g_twp->_shaderParams->shadows.rgba.b)))
+				return sq_throwerror(v, "failed to get shadows b");
+			if (SQ_FAILED(sqget(v, 9, g_twp->_shaderParams->midtones.rgba.r)))
+				return sq_throwerror(v, "failed to get midtones r");
+			if (SQ_FAILED(sqget(v, 10, g_twp->_shaderParams->midtones.rgba.g)))
+				return sq_throwerror(v, "failed to get midtones g");
+			if (SQ_FAILED(sqget(v, 11, g_twp->_shaderParams->midtones.rgba.b)))
+				return sq_throwerror(v, "failed to get midtones b");
+			if (SQ_FAILED(sqget(v, 12, g_twp->_shaderParams->highlights.rgba.r)))
+				return sq_throwerror(v, "failed to get highlights r");
+			if (SQ_FAILED(sqget(v, 13, g_twp->_shaderParams->highlights.rgba.g)))
+				return sq_throwerror(v, "failed to get highlights g");
+			if (SQ_FAILED(sqget(v, 14, g_twp->_shaderParams->highlights.rgba.b)))
+				return sq_throwerror(v, "failed to get highlights b");
 		} else {
 			g_twp->_shaderParams->iFade = 1.f;
 			g_twp->_shaderParams->wobbleIntensity = 1.f;
diff --git a/engines/twp/soundlib.cpp b/engines/twp/soundlib.cpp
index 5ead663a0d1..078b9d58e2f 100644
--- a/engines/twp/soundlib.cpp
+++ b/engines/twp/soundlib.cpp
@@ -130,10 +130,10 @@ static SQInteger playObjectSound(HSQUIRRELVM v) {
 		return sq_throwerror(v, "failed to get actor or object");
 	SQInteger loopTimes = 1;
 	float fadeInTime = 0.0f;
-	if (nArgs >= 4) {
-		sqget(v, 4, loopTimes);
-		sqget(v, 5, fadeInTime);
-	}
+	if ((nArgs >= 4) && SQ_FAILED(sqget(v, 4, loopTimes)))
+		return sq_throwerror(v, "failed to get loopTimes");
+	if ((nArgs >= 5) && SQ_FAILED(sqget(v, 5, fadeInTime)))
+		return sq_throwerror(v, "failed to get fadeInTime");
 
 	if (obj->_sound) {
 		g_twp->_audio->stop(obj->_sound);
@@ -206,15 +206,13 @@ static SQInteger loopMusic(HSQUIRRELVM v) {
 	SQInteger loopTimes = -1;
 	float fadeInTime = 0.f;
 	SQInteger numArgs = sq_gettop(v);
-	Common::SharedPtr<SoundDefinition> sound = sqsounddef(v, 2);
+	Common::SharedPtr<SoundDefinition> sound(sqsounddef(v, 2));
 	if (!sound)
 		return sq_throwerror(v, "failed to get music");
-	if (numArgs == 3) {
-		sqget(v, 3, loopTimes);
-	}
-	if (numArgs == 4) {
-		sqget(v, 4, fadeInTime);
-	}
+	if ((numArgs >= 3) && SQ_FAILED(sqget(v, 3, loopTimes)))
+		return sq_throwerror(v, "failed to get loopTimes");
+	if ((numArgs >= 4) && SQ_FAILED(sqget(v, 4, fadeInTime)))
+		return sq_throwerror(v, "failed to get fadeInTime");
 	int soundId = g_twp->_audio->play(sound, Audio::Mixer::kMusicSoundType, loopTimes, fadeInTime);
 	sqpush(v, soundId);
 	return 1;
diff --git a/engines/twp/syslib.cpp b/engines/twp/syslib.cpp
index 6656806ef0b..922a936bd7f 100644
--- a/engines/twp/syslib.cpp
+++ b/engines/twp/syslib.cpp
@@ -331,8 +331,8 @@ static SQInteger breakwhileinputoff(HSQUIRRELVM v) {
 // }
 static SQInteger breakwhilerunning(HSQUIRRELVM v) {
 	SQInteger id = 0;
-	if (sq_gettype(v, 2) == OT_INTEGER)
-		sqget(v, 2, id);
+	if ((sq_gettype(v, 2) == OT_INTEGER) && SQ_FAILED(sqget(v, 2, id)))
+		return sq_throwerror(v, "failed to get id");
 	debugC(kDebugSysScript, "breakwhilerunning: %lld", id);
 
 	Common::SharedPtr<ThreadBase> t = sqthread(id);


Commit: 9eaeb40184b52428eb48f2c64de27a333ceda721
    https://github.com/scummvm/scummvm/commit/9eaeb40184b52428eb48f2c64de27a333ceda721
Author: scemino (scemino74 at gmail.com)
Date: 2024-03-20T22:31:04+01:00

Commit Message:
TWP: Fix uninitialized scalar field _useFlag in TwpEngine.

Coverity CID 1540545

Changed paths:
    engines/twp/twp.cpp


diff --git a/engines/twp/twp.cpp b/engines/twp/twp.cpp
index 0ae3397360c..d536c52beff 100644
--- a/engines/twp/twp.cpp
+++ b/engines/twp/twp.cpp
@@ -60,7 +60,8 @@ TwpEngine *g_twp;
 TwpEngine::TwpEngine(OSystem *syst, const TwpGameDescription *gameDesc)
 	: Engine(syst),
 	  _gameDescription(gameDesc),
-	  _randomSource("Twp") {
+	  _randomSource("Twp"),
+	  _useFlag(UseFlag::ufNone) {
 	g_twp = this;
 	_dialog.reset(new Dialog());
 	_dialog->_tgt.reset(new EngineDialogTarget());


Commit: eba7f620f621defb70cde94081df19403b5205d4
    https://github.com/scummvm/scummvm/commit/eba7f620f621defb70cde94081df19403b5205d4
Author: scemino (scemino74 at gmail.com)
Date: 2024-03-20T22:31:04+01:00

Commit Message:
TWP: Fix unchecked return value in drawThreads.

Coverity CID 1540549

Changed paths:
    engines/twp/debugtools.cpp


diff --git a/engines/twp/debugtools.cpp b/engines/twp/debugtools.cpp
index fb4e1c545cc..639750a4f41 100644
--- a/engines/twp/debugtools.cpp
+++ b/engines/twp/debugtools.cpp
@@ -84,7 +84,6 @@ static void drawThreads() {
 			if (g_twp->_cutscene) {
 				Common::SharedPtr<ThreadBase> thread(g_twp->_cutscene);
 				SQStackInfos infos;
-
 				ImGui::TableNextRow();
 				ImGui::TableNextColumn();
 				ImGui::Text("%5d", thread->getId());
@@ -107,8 +106,6 @@ static void drawThreads() {
 
 			for (const auto &thread : threads) {
 				SQStackInfos infos;
-				sq_stackinfos(thread->getThread(), 0, &infos);
-
 				ImGui::TableNextRow();
 				ImGui::TableNextColumn();
 				ImGui::Text("%5d", thread->getId());




More information about the Scummvm-git-logs mailing list