[Scummvm-git-logs] scummvm master -> 4f52107b29cde3a8df6155c16f99129a6f25a2fc
sev-
noreply at scummvm.org
Mon Oct 21 16:50:10 UTC 2024
This automated email contains information about 28 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
57cc40e60d QDENGINE: Fix uninit class variable. CID 1563857
afaf26e6cc QDENGINE: Init class variables. CID 1563749
ff7e2cc2c7 QDENGINE: Init class variables. CID 1563745
1bbb6b96dd QDENGINE: Init class variables. CID 1563751
3fbf77bbab QDENGINE: Fix potential out-of-bounds read. CID 1563752
ed4ad8af96 QDENGINE: Initialize class variable. CID 1563859
6f0b6531a8 QDENGINE: Initialize class variable. CID 1563853
2f2fd04201 QDENGINE: Mark switch option as fall through. CID 1563858
627969bff3 QDENGINE: Init struct variable. CID 1563860
012b1a5654 QDENGINE: Fix potentially uninitalized variable. CID 1563850
d71e861a89 QDENGINE: Initialize class variables. CID 1563874
f5bc924120 QDENGINE: Initialize class variables. CID 1559915
b2c45c6074 QDENGINE: Initialize class vairables. CID 1559910
085ffdeff6 QDENGINE: Cleanup in MaskyOrder.dll minigame
4450c9d2f1 QDENGINE: Initialize class variables. CID 1562474
d2b7f7cdba QDENGINE: Avoid integer overflow. CID 1559706
436609f5de QDENGINE: Remove redundant code. CID 1559630
807b9300bd QDENGINE: Initialized class vairable. CID 1559611
02900a7555 QDENGINE: Check return value of load_data(). CID 1559604
128aaff557 QDENGINE: Check return value of save_script_body(). CID 1559645
72c4bbaea4 QDENGINE: Check success of loading operation. CID 1559658
37bc194e34 QDENGINE: Fix potential null dereference. CID 1559613
ad616bbc26 QDENGINE: Check file open success before attempt to write. CID 1560116
a0deab50c7 QDENGINE: Remove useless assignment. CID 1559707
3b377fa206 QDENGINE: Comment out unusued code branch. CID 1559646
d9de39b8c2 QDENGINE: Fix potential division by zero. CID 1559605, CID 1559617, CID 1559639, CID 1559643
bb463cf86f QDENGINE: Use safer array copy operations. CID 1559603, CID 1559612, CID 1559628
4f52107b29 QDENGINE: Check return value. CID 1559601
Commit: 57cc40e60d5a09dacfe2b5acac9a10c72dbeb037
https://github.com/scummvm/scummvm/commit/57cc40e60d5a09dacfe2b5acac9a10c72dbeb037
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Fix uninit class variable. CID 1563857
Changed paths:
engines/qdengine/minigames/3mice2_raskr_all.h
diff --git a/engines/qdengine/minigames/3mice2_raskr_all.h b/engines/qdengine/minigames/3mice2_raskr_all.h
index cb4aa58a5be..a6bb9b59298 100644
--- a/engines/qdengine/minigames/3mice2_raskr_all.h
+++ b/engines/qdengine/minigames/3mice2_raskr_all.h
@@ -351,7 +351,7 @@ private:
int _gameNum = 0;
- const int *_colorRegions;
+ const int *_colorRegions = nullptr;
int _colorRegionsSize = 0;
int _neededColors = 0;
};
Commit: afaf26e6cca4a19eda8f521e480455de06398e4a
https://github.com/scummvm/scummvm/commit/afaf26e6cca4a19eda8f521e480455de06398e4a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Init class variables. CID 1563749
Changed paths:
engines/qdengine/minigames/3mice2_states.h
diff --git a/engines/qdengine/minigames/3mice2_states.h b/engines/qdengine/minigames/3mice2_states.h
index 972412e110c..a6bed875e84 100644
--- a/engines/qdengine/minigames/3mice2_states.h
+++ b/engines/qdengine/minigames/3mice2_states.h
@@ -393,7 +393,7 @@ private:
qdMinigameObjectInterface *_objScene = nullptr;
qdMinigameObjectInterface *_objSelectedSet = nullptr;
- qdMinigameObjectInterface *_objects[131];
+ qdMinigameObjectInterface *_objects[131] = { nullptr };
};
} // namespace QDEngine
Commit: ff7e2cc2c719d63e99b39d4620c9723910f54f47
https://github.com/scummvm/scummvm/commit/ff7e2cc2c719d63e99b39d4620c9723910f54f47
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Init class variables. CID 1563745
Changed paths:
engines/qdengine/minigames/3mice2_sudoku.h
diff --git a/engines/qdengine/minigames/3mice2_sudoku.h b/engines/qdengine/minigames/3mice2_sudoku.h
index e309f758eed..911b2b2123c 100644
--- a/engines/qdengine/minigames/3mice2_sudoku.h
+++ b/engines/qdengine/minigames/3mice2_sudoku.h
@@ -296,10 +296,10 @@ private:
const qdEngineInterface *_engine = nullptr;
qdMinigameSceneInterface *_scene = nullptr;
- qdMinigameObjectInterface *_figures[26];
- int _pos[13];
+ qdMinigameObjectInterface *_figures[26] = { nullptr };
+ int _pos[13] = { 0 };
mgVect2i _pieceCoords[13];
- int _pieceTargets[13];
+ int _pieceTargets[13] = { 0 };
qdMinigameObjectInterface *_objDone = nullptr;
qdMinigameObjectInterface *_objResult = nullptr;
Commit: 1bbb6b96dda300277be16ef4ae1f59bdde71059a
https://github.com/scummvm/scummvm/commit/1bbb6b96dda300277be16ef4ae1f59bdde71059a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Init class variables. CID 1563751
Changed paths:
engines/qdengine/minigames/3mice2_testo.h
diff --git a/engines/qdengine/minigames/3mice2_testo.h b/engines/qdengine/minigames/3mice2_testo.h
index 220914713b3..e43020e8f96 100644
--- a/engines/qdengine/minigames/3mice2_testo.h
+++ b/engines/qdengine/minigames/3mice2_testo.h
@@ -334,9 +334,9 @@ private:
const qdEngineInterface *_engine = nullptr;
qdMinigameSceneInterface *_scene = nullptr;
- qdMinigameObjectInterface *_figures[24];
+ qdMinigameObjectInterface *_figures[24] = { nullptr };
- int _numVerts[8];
+ int _numVerts[8] = { 0 };
qdMinigameObjectInterface *_objNoDough = nullptr;
qdMinigameObjectInterface *_objNoDoughFake = nullptr;
Commit: 3fbf77bbaba2b3ee21d1c5802588a17a383ed4bd
https://github.com/scummvm/scummvm/commit/3fbf77bbaba2b3ee21d1c5802588a17a383ed4bd
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Fix potential out-of-bounds read. CID 1563752
Changed paths:
engines/qdengine/minigames/3mice2_testo.h
diff --git a/engines/qdengine/minigames/3mice2_testo.h b/engines/qdengine/minigames/3mice2_testo.h
index e43020e8f96..7cfc85b5af3 100644
--- a/engines/qdengine/minigames/3mice2_testo.h
+++ b/engines/qdengine/minigames/3mice2_testo.h
@@ -218,7 +218,7 @@ public:
if (mouseObj && clickObj) {
name = clickObj->name();
- if (strstr(name, "notesto")) {
+ if (strstr(name, "notesto") && num > 0 && num <= 8) {
_figures[num - 1]->set_state("base");
_figures[num + 15]->set_state("del");
Commit: ed4ad8af961e96229ab60f904b88d389c3d1fa4d
https://github.com/scummvm/scummvm/commit/ed4ad8af961e96229ab60f904b88d389c3d1fa4d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Initialize class variable. CID 1563859
Changed paths:
engines/qdengine/minigames/adv/EffectManager.cpp
diff --git a/engines/qdengine/minigames/adv/EffectManager.cpp b/engines/qdengine/minigames/adv/EffectManager.cpp
index 968d96414c9..a53d96ce34a 100644
--- a/engines/qdengine/minigames/adv/EffectManager.cpp
+++ b/engines/qdengine/minigames/adv/EffectManager.cpp
@@ -42,6 +42,8 @@ EffectManager::EffectManager(HoldData<EffectManagerData> &data) {
_current = EFFECT_COUNT;
+ _effectTimer = 0;
+ _phaseTimer = 0;
}
EffectManager::~EffectManager() {
Commit: 6f0b6531a8feba951bb85114c18ddbdf172f5321
https://github.com/scummvm/scummvm/commit/6f0b6531a8feba951bb85114c18ddbdf172f5321
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Initialize class variable. CID 1563853
Changed paths:
engines/qdengine/minigames/adv/RunTime.cpp
diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index e32e2cc3a18..c7808b3322c 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -1017,6 +1017,8 @@ TimeManager::TimeManager(HoldData<TimeManagerData> &data_) {
sscanf(data, "%f", &timeCost_);
}
+ direction_ = DOWN;
+
if (timeBar_) {
TimeManagerData myData;
myData.crd = g_runtime->world2game(timeBar_);
@@ -1041,7 +1043,6 @@ TimeManager::TimeManager(HoldData<TimeManagerData> &data_) {
assert(g_runtime->getTime() == 0.f);
lastEventTime_ = 0;
-
}
TimeManager::~TimeManager() {
Commit: 2f2fd042013bde280abae8a8d2421044e8630eef
https://github.com/scummvm/scummvm/commit/2f2fd042013bde280abae8a8d2421044e8630eef
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Mark switch option as fall through. CID 1563858
Changed paths:
engines/qdengine/minigames/adv/RunTime.cpp
diff --git a/engines/qdengine/minigames/adv/RunTime.cpp b/engines/qdengine/minigames/adv/RunTime.cpp
index c7808b3322c..12629c85237 100644
--- a/engines/qdengine/minigames/adv/RunTime.cpp
+++ b/engines/qdengine/minigames/adv/RunTime.cpp
@@ -546,6 +546,7 @@ bool MinigameManager::quant(float dt) {
case MinigameInterface::GAME_LOST:
if (!timeManager_->timeIsOut())
signal(EVENT_GAME_LOSE);
+ // fallthrough
case MinigameInterface::NOT_INITED:
gameLose();
break;
Commit: 627969bff3ffdf18fd18c9befdee5cd4c717f00f
https://github.com/scummvm/scummvm/commit/627969bff3ffdf18fd18c9befdee5cd4c717f00f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Init struct variable. CID 1563860
Changed paths:
engines/qdengine/minigames/adv/TextManager.cpp
diff --git a/engines/qdengine/minigames/adv/TextManager.cpp b/engines/qdengine/minigames/adv/TextManager.cpp
index 0b0006c6aa6..ba6dea00290 100644
--- a/engines/qdengine/minigames/adv/TextManager.cpp
+++ b/engines/qdengine/minigames/adv/TextManager.cpp
@@ -221,6 +221,7 @@ TextManager::StaticTextPreset::StaticTextPreset() {
font = -1;
align = ALIGN_CENTER;
format[15] = 0;
+ textID = 0;
}
TextManager::StaticMessage::StaticMessage(Font* font, TextAlign align) {
Commit: 012b1a5654fac3722d03fc11f1a7304c4328ac0e
https://github.com/scummvm/scummvm/commit/012b1a5654fac3722d03fc11f1a7304c4328ac0e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Fix potentially uninitalized variable. CID 1563850
Changed paths:
engines/qdengine/minigames/adv/m_triangles.cpp
diff --git a/engines/qdengine/minigames/adv/m_triangles.cpp b/engines/qdengine/minigames/adv/m_triangles.cpp
index 0a5b7ee90d2..d3277e0178c 100644
--- a/engines/qdengine/minigames/adv/m_triangles.cpp
+++ b/engines/qdengine/minigames/adv/m_triangles.cpp
@@ -73,6 +73,8 @@ MinigameTriangle::MinigameTriangle() {
gameType_ = TRIANGLE;
}
+ fieldLines_ = fieldWidth_ = 0;
+
if (!getParameter("size", fieldLines_, true))
return;
if (fieldLines_ < 2)
Commit: d71e861a896426a4de339f31fff3b5e708e4d46d
https://github.com/scummvm/scummvm/commit/d71e861a896426a4de339f31fff3b5e708e4d46d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:45+02:00
Commit Message:
QDENGINE: Initialize class variables. CID 1563874
Changed paths:
engines/qdengine/minigames/adv/m_triangles.h
diff --git a/engines/qdengine/minigames/adv/m_triangles.h b/engines/qdengine/minigames/adv/m_triangles.h
index ce45e6118de..e9ac06e1c78 100644
--- a/engines/qdengine/minigames/adv/m_triangles.h
+++ b/engines/qdengine/minigames/adv/m_triangles.h
@@ -80,21 +80,21 @@ public:
private:
GameType gameType_;
Coords positions_;
- int selectDepth_;
+ int selectDepth_ = 0;
- int fieldLines_;
- int fieldWidth_;
- int fieldSize_;
+ int fieldLines_ = 0;
+ int fieldWidth_ = 0;
+ int fieldSize_ = 0;
Nodes nodes_;
ObjectContainer selectBorders_[2];
ObjectContainer backSides_[6];
- int selected_;
- int hovered_;
+ int selected_ = 0;
+ int hovered_ = 0;
- AnimationState animationState_;
- int animatedNodes_[2];
- float animationTime_;
- float animationTimer_;
+ AnimationState animationState_ = NO_ANIMATION;
+ int animatedNodes_[2] = { 0 };
+ float animationTime_ = 0.0;
+ float animationTimer_ = 0.0;
/// оÑиÑÑиÑÑ ÑÑбаÑÐºÑ ÑиÑки
void releaseNodeBack(Node& node);
Commit: f5bc9241205dbd05038edf7eac680d5f8e1f3434
https://github.com/scummvm/scummvm/commit/f5bc9241205dbd05038edf7eac680d5f8e1f3434
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Initialize class variables. CID 1559915
Changed paths:
engines/qdengine/minigames/arkada_avtomat.h
diff --git a/engines/qdengine/minigames/arkada_avtomat.h b/engines/qdengine/minigames/arkada_avtomat.h
index 163a208332f..8140e03e17b 100644
--- a/engines/qdengine/minigames/arkada_avtomat.h
+++ b/engines/qdengine/minigames/arkada_avtomat.h
@@ -524,20 +524,20 @@ private:
const qdEngineInterface *_engine = nullptr;
qdMinigameSceneInterface *_scene = nullptr;
- qdMinigameObjectInterface *_patronMouseObj;
- qdMinigameObjectInterface *_patronTomatoObj;
- qdMinigameObjectInterface *_killObj;
- qdMinigameObjectInterface *_fazaObj;
- qdMinigameObjectInterface *_menObj;
- qdMinigameObjectInterface *_bloodObj;
- qdMinigameObjectInterface *_shotsEggObj;
- qdMinigameObjectInterface *_shotsTomatoObj;
- qdMinigameObjectInterface *_shotsBananObj;
- qdMinigameObjectInterface *_doneObj;
- qdMinigameObjectInterface *_livesObj;
- qdMinigameObjectInterface *_bublObj;
- qdMinigameObjectInterface *_walkFlagObj;
- qdMinigameObjectInterface *_jumpFlagObj;
+ qdMinigameObjectInterface *_patronMouseObj = nullptr;
+ qdMinigameObjectInterface *_patronTomatoObj = nullptr;
+ qdMinigameObjectInterface *_killObj = nullptr;
+ qdMinigameObjectInterface *_fazaObj = nullptr;
+ qdMinigameObjectInterface *_menObj = nullptr;
+ qdMinigameObjectInterface *_bloodObj = nullptr;
+ qdMinigameObjectInterface *_shotsEggObj = nullptr;
+ qdMinigameObjectInterface *_shotsTomatoObj = nullptr;
+ qdMinigameObjectInterface *_shotsBananObj = nullptr;
+ qdMinigameObjectInterface *_doneObj = nullptr;
+ qdMinigameObjectInterface *_livesObj = nullptr;
+ qdMinigameObjectInterface *_bublObj = nullptr;
+ qdMinigameObjectInterface *_walkFlagObj = nullptr;
+ qdMinigameObjectInterface *_jumpFlagObj = nullptr;
bool _goingLeft = false;
bool _goingRight = false;
Commit: b2c45c607482c5cdc8a7d41c930023b874cf0d08
https://github.com/scummvm/scummvm/commit/b2c45c607482c5cdc8a7d41c930023b874cf0d08
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Initialize class vairables. CID 1559910
Changed paths:
engines/qdengine/minigames/kartiny.h
diff --git a/engines/qdengine/minigames/kartiny.h b/engines/qdengine/minigames/kartiny.h
index 8fbe0e24d77..91392e5738f 100644
--- a/engines/qdengine/minigames/kartiny.h
+++ b/engines/qdengine/minigames/kartiny.h
@@ -490,8 +490,8 @@ private:
int _stage = 0;
struct {
- float depth;
- int num;
+ float depth = 0;
+ int num = 0;
} _artState[4];
};
Commit: 085ffdeff6a1a88590290e0f1f4b93b32086ef4f
https://github.com/scummvm/scummvm/commit/085ffdeff6a1a88590290e0f1f4b93b32086ef4f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Cleanup in MaskyOrder.dll minigame
Changed paths:
engines/qdengine/minigames/masky_order.h
diff --git a/engines/qdengine/minigames/masky_order.h b/engines/qdengine/minigames/masky_order.h
index 31dc1331409..bdd95ee993e 100644
--- a/engines/qdengine/minigames/masky_order.h
+++ b/engines/qdengine/minigames/masky_order.h
@@ -51,7 +51,7 @@ public:
~qdMaskyOrderMiniGame() {};
bool init(const qdEngineInterface *engine_interface) {
- debugC(1, kDebugMinigames, "MaskyOrder::init(), dll: %s lang: %d", _dll.c_str(), _language);
+ debugC(1, kDebugMinigames, "MaskyOrder::init()");
_engine = engine_interface;
_scene = _engine->current_scene_interface();
@@ -319,9 +319,6 @@ private:
int _rotatingPiece = -1;
bool _pieceIsPut = true;
int _currentPieceState = 0;
-
- Common::String _dll;
- Common::Language _language;
};
} // namespace QDEngine
Commit: 4450c9d2f1c2fc3ec73e66d0c0f9cf7a68c4d3c0
https://github.com/scummvm/scummvm/commit/4450c9d2f1c2fc3ec73e66d0c0f9cf7a68c4d3c0
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Initialize class variables. CID 1562474
Changed paths:
engines/qdengine/minigames/shveik_shkatulka.h
diff --git a/engines/qdengine/minigames/shveik_shkatulka.h b/engines/qdengine/minigames/shveik_shkatulka.h
index 5567ddb7253..d74390947c6 100644
--- a/engines/qdengine/minigames/shveik_shkatulka.h
+++ b/engines/qdengine/minigames/shveik_shkatulka.h
@@ -385,7 +385,7 @@ private:
int _someVar3 = 0;
bool _needSnap = false;
- qdMinigameObjectInterface *_stones[14];
+ qdMinigameObjectInterface *_stones[14] = { nullptr };
qdMinigameObjectInterface *_draggedStone = nullptr;
qdMinigameObjectInterface *_cursorObj = nullptr;
qdMinigameObjectInterface *_doneObj = nullptr;
Commit: d2b7f7cdba8758cafbcf6b10980730e4d7f9d4fb
https://github.com/scummvm/scummvm/commit/d2b7f7cdba8758cafbcf6b10980730e4d7f9d4fb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Avoid integer overflow. CID 1559706
In general, computing 'npos + 1' is not a great idea, so
avoid this
Changed paths:
engines/qdengine/parser/qdscr_parser.cpp
diff --git a/engines/qdengine/parser/qdscr_parser.cpp b/engines/qdengine/parser/qdscr_parser.cpp
index 5eef375e7d9..b3574daf17b 100644
--- a/engines/qdengine/parser/qdscr_parser.cpp
+++ b/engines/qdengine/parser/qdscr_parser.cpp
@@ -337,45 +337,35 @@ const char *qdscr_XML_string(const char *p) {
conv_str = p;
- uint32 pos = Common::String::npos;
- do {
+ uint32 pos = conv_str.find("&");;
+ while (pos != Common::String::npos) {
+ conv_str.replace(pos, 1, "&");
pos = conv_str.find("&", pos + 1);
- if (pos != Common::String::npos)
- conv_str.replace(pos, 1, "&");
-
- } while (pos != Common::String::npos);
+ }
- pos = Common::String::npos;
- do {
+ pos = conv_str.find("<");
+ while (pos != Common::String::npos) {
+ conv_str.replace(pos, 1, "<");
pos = conv_str.find("<", pos + 1);
- if (pos != Common::String::npos)
- conv_str.replace(pos, 1, "<");
-
- } while (pos != Common::String::npos);
+ }
- pos = Common::String::npos;
- do {
+ pos = conv_str.find(">");
+ while (pos != Common::String::npos) {
+ conv_str.replace(pos, 1, ">");
pos = conv_str.find(">", pos + 1);
- if (pos != Common::String::npos)
- conv_str.replace(pos, 1, ">");
-
- } while (pos != Common::String::npos);
+ }
- pos = Common::String::npos;
- do {
+ pos = conv_str.find("\"");
+ while (pos != Common::String::npos) {
+ conv_str.replace(pos, 1, """);
pos = conv_str.find("\"", pos + 1);
- if (pos != Common::String::npos)
- conv_str.replace(pos, 1, """);
-
- } while (pos != Common::String::npos);
+ }
- pos = Common::String::npos;
- do {
+ pos = conv_str.find("'");
+ while (pos != Common::String::npos) {
+ conv_str.replace(pos, 1, "'");
pos = conv_str.find("'", pos + 1);
- if (pos != Common::String::npos)
- conv_str.replace(pos, 1, "'");
-
- } while (pos != Common::String::npos);
+ }
return (const char *)transCyrillic(conv_str.c_str());
}
Commit: 436609f5deb243e847b42008789c2cc757ac34d3
https://github.com/scummvm/scummvm/commit/436609f5deb243e847b42008789c2cc757ac34d3
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Remove redundant code. CID 1559630
Changed paths:
engines/qdengine/qdcore/qd_game_dispatcher.cpp
diff --git a/engines/qdengine/qdcore/qd_game_dispatcher.cpp b/engines/qdengine/qdcore/qd_game_dispatcher.cpp
index 0881ae00847..8e722c6fa13 100644
--- a/engines/qdengine/qdcore/qd_game_dispatcher.cpp
+++ b/engines/qdengine/qdcore/qd_game_dispatcher.cpp
@@ -1934,7 +1934,6 @@ bool qdGameDispatcher::play_video(qdVideo *p) {
}
bool qdGameDispatcher::pause_video() {
- if (!_cur_video) return false;
return false;
}
Commit: 807b9300bddd827dcacf588e1658feaf8f8b8c3b
https://github.com/scummvm/scummvm/commit/807b9300bddd827dcacf588e1658feaf8f8b8c3b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Initialized class vairable. CID 1559611
Changed paths:
engines/qdengine/qdcore/qd_game_object_animated.cpp
diff --git a/engines/qdengine/qdcore/qd_game_object_animated.cpp b/engines/qdengine/qdcore/qd_game_object_animated.cpp
index 60e0bfa1253..d71103604b4 100644
--- a/engines/qdengine/qdcore/qd_game_object_animated.cpp
+++ b/engines/qdengine/qdcore/qd_game_object_animated.cpp
@@ -75,6 +75,7 @@ qdGameObjectAnimated::qdGameObjectAnimated(const qdGameObjectAnimated &obj) : qd
_inventory_name(obj._inventory_name),
_last_state(NULL),
_inventory_cell_index(-1),
+ _last_inventory_state(nullptr),
_last_frame(NULL),
_last_chg_time(obj._last_chg_time),
_shadow_alpha(obj._shadow_alpha),
Commit: 02900a7555384e48ea46eda8be0e466741916c84
https://github.com/scummvm/scummvm/commit/02900a7555384e48ea46eda8be0e466741916c84
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Check return value of load_data(). CID 1559604
Changed paths:
engines/qdengine/qdcore/qd_game_object_moving.cpp
diff --git a/engines/qdengine/qdcore/qd_game_object_moving.cpp b/engines/qdengine/qdcore/qd_game_object_moving.cpp
index 480ea03f3ea..970c4b5c7b9 100644
--- a/engines/qdengine/qdcore/qd_game_object_moving.cpp
+++ b/engines/qdengine/qdcore/qd_game_object_moving.cpp
@@ -1800,7 +1800,8 @@ bool qdGameObjectMoving::load_data(Common::SeekableReadStream &fh, int save_vers
_circuit_objs.clear();
for (int i = 0; i < num; i++) {
qdNamedObjectReference circ_ref;
- circ_ref.load_data(fh, save_version);
+ if (!circ_ref.load_data(fh, save_version))
+ return false;
_circuit_objs.push_back(dynamic_cast<qdGameObjectMoving *>(
qdGameDispatcher::get_dispatcher()->get_named_object(&circ_ref)));
}
Commit: 128aaff557f4fbddc0f6ab02be157c7e13b504cf
https://github.com/scummvm/scummvm/commit/128aaff557f4fbddc0f6ab02be157c7e13b504cf
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Check return value of save_script_body(). CID 1559645
Changed paths:
engines/qdengine/qdcore/qd_interface_button.cpp
diff --git a/engines/qdengine/qdcore/qd_interface_button.cpp b/engines/qdengine/qdcore/qd_interface_button.cpp
index 3877dc6567c..ab6b608304a 100644
--- a/engines/qdengine/qdcore/qd_interface_button.cpp
+++ b/engines/qdengine/qdcore/qd_interface_button.cpp
@@ -194,7 +194,8 @@ bool qdInterfaceButton::init(bool is_game_active) {
bool qdInterfaceButton::save_script_body(Common::WriteStream &fh, int indent) const {
for (int i = 0; i < num_states(); i++) {
- get_state(i)->save_script(fh, indent + 1);
+ if (!get_state(i)->save_script(fh, indent + 1))
+ return false;
}
return true;
Commit: 72c4bbaea4e3d68009492909cfab60aadb65efda
https://github.com/scummvm/scummvm/commit/72c4bbaea4e3d68009492909cfab60aadb65efda
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Check success of loading operation. CID 1559658
Changed paths:
engines/qdengine/qdcore/qd_interface_button.cpp
diff --git a/engines/qdengine/qdcore/qd_interface_button.cpp b/engines/qdengine/qdcore/qd_interface_button.cpp
index ab6b608304a..5009887b146 100644
--- a/engines/qdengine/qdcore/qd_interface_button.cpp
+++ b/engines/qdengine/qdcore/qd_interface_button.cpp
@@ -220,7 +220,8 @@ bool qdInterfaceButton::load_script_body(const xml::tag *p) {
switch (it->ID()) {
case QDSCR_INTERFACE_ELEMENT_STATE: {
qdInterfaceElementState st;
- st.load_script(&*it);
+ if (!st.load_script(&*it))
+ return false;
add_state(st);
}
break;
Commit: 37bc194e34a23eb07678ce9eb3cad07144be519f
https://github.com/scummvm/scummvm/commit/37bc194e34a23eb07678ce9eb3cad07144be519f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:46+02:00
Commit Message:
QDENGINE: Fix potential null dereference. CID 1559613
Changed paths:
engines/qdengine/qdcore/qd_interface_element_state.cpp
diff --git a/engines/qdengine/qdcore/qd_interface_element_state.cpp b/engines/qdengine/qdcore/qd_interface_element_state.cpp
index 4a7d479d5ae..1c466db7dfd 100644
--- a/engines/qdengine/qdcore/qd_interface_element_state.cpp
+++ b/engines/qdengine/qdcore/qd_interface_element_state.cpp
@@ -381,7 +381,7 @@ const qdInterfaceEvent *qdInterfaceElementState::find_event(qdInterfaceEvent::ev
bool qdInterfaceElementState::has_event(qdInterfaceEvent::event_t type, const char *ev_data) const {
for (events_container_t::const_iterator it = _events.begin(); it != _events.end(); ++it) {
if (it->event() == type) {
- if ((!ev_data && !it->event_data()) || (it->event_data() && !strcmp(ev_data, it->event_data())))
+ if ((!ev_data && !it->event_data()) || (it->event_data() && ev_data && !strcmp(ev_data, it->event_data())))
return true;
}
}
Commit: ad616bbc26eda60a04b9f060dde001cb79e95212
https://github.com/scummvm/scummvm/commit/ad616bbc26eda60a04b9f060dde001cb79e95212
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:47+02:00
Commit Message:
QDENGINE: Check file open success before attempt to write. CID 1560116
Changed paths:
engines/qdengine/system/graphics/gr_tile_animation.cpp
diff --git a/engines/qdengine/system/graphics/gr_tile_animation.cpp b/engines/qdengine/system/graphics/gr_tile_animation.cpp
index 185a9c2c20a..79f7436064e 100644
--- a/engines/qdengine/system/graphics/gr_tile_animation.cpp
+++ b/engines/qdengine/system/graphics/gr_tile_animation.cpp
@@ -666,10 +666,15 @@ Graphics::ManagedSurface *grTileAnimation::dumpTiles(int tilesPerRow) const {
void grTileAnimation::dumpTiles(Common::Path basename, int tilesPerRow) const {
Common::Path path = Common::Path(Common::String::format("dumps/%s.tiles.png", transCyrillic(basename.baseName())));
+ Common::DumpFile bitmapFile;
+ if (!bitmapFile.open(path, true)) {
+ warning("Cannot dump tile into file '%s'", path.toString().c_str());
+ return;
+ }
+
Graphics::ManagedSurface *dstSurf = dumpTiles(tilesPerRow);
- Common::DumpFile bitmapFile;
- bitmapFile.open(path, true);
+
Image::writePNG(bitmapFile, *(dstSurf->surfacePtr()));
bitmapFile.close();
Commit: a0deab50c716008ead9dfb283110e9eca421475d
https://github.com/scummvm/scummvm/commit/a0deab50c716008ead9dfb283110e9eca421475d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:47+02:00
Commit Message:
QDENGINE: Remove useless assignment. CID 1559707
Changed paths:
engines/qdengine/qdcore/util/LZ77.cpp
diff --git a/engines/qdengine/qdcore/util/LZ77.cpp b/engines/qdengine/qdcore/util/LZ77.cpp
index 1f53d9a7d79..0f6576fa425 100644
--- a/engines/qdengine/qdcore/util/LZ77.cpp
+++ b/engines/qdengine/qdcore/util/LZ77.cpp
@@ -160,7 +160,7 @@ int32 CLZ77::decode(byte *target, int32 &tlen, const byte *source, int32 slen) {
s += 2;
} else {
*t++ = *s++;
- len = 1;
+ //len = 1;
}
if (++block >= 8) {
flag = s++;
Commit: 3b377fa20608724431ab7235ff36ea6f857e20cb
https://github.com/scummvm/scummvm/commit/3b377fa20608724431ab7235ff36ea6f857e20cb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:47+02:00
Commit Message:
QDENGINE: Comment out unusued code branch. CID 1559646
Changed paths:
engines/qdengine/system/graphics/gr_dispatcher.cpp
diff --git a/engines/qdengine/system/graphics/gr_dispatcher.cpp b/engines/qdengine/system/graphics/gr_dispatcher.cpp
index dfd075960e4..e2f0c07ec19 100644
--- a/engines/qdengine/system/graphics/gr_dispatcher.cpp
+++ b/engines/qdengine/system/graphics/gr_dispatcher.cpp
@@ -961,12 +961,12 @@ bool grDispatcher::drawParsedText(int x, int y, int sx, int sy, uint32 color, co
int hSize = parser->fontHeight();
y -= hSize;
- bool skipToNextLine = false;
+ //bool skipToNextLine = false;
int cur_x = x;
for (OutNodes::const_iterator it = parser->outNodes().begin(); it != parser->outNodes().end(); ++it) {
switch (it->type) {
case OutNode::NEW_LINE:
- skipToNextLine = false;
+ //skipToNextLine = false;
y += hSize;
switch (align) {
case GR_ALIGN_LEFT:
@@ -984,8 +984,8 @@ bool grDispatcher::drawParsedText(int x, int y, int sx, int sy, uint32 color, co
break;
case OutNode::TEXT: {
- if (skipToNextLine)
- break;
+ //if (skipToNextLine)
+ // break;
Common::String str(it->nl.begin, it->nl.end - it->nl.begin);
drawText(cur_x, y, color, str.c_str(), 0, 0, font);
Commit: d9de39b8c2d16096f9b5d74feeb0c9474f7d6627
https://github.com/scummvm/scummvm/commit/d9de39b8c2d16096f9b5d74feeb0c9474f7d6627
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:47+02:00
Commit Message:
QDENGINE: Fix potential division by zero. CID 1559605, CID 1559617, CID 1559639, CID 1559643
Changed paths:
engines/qdengine/qdcore/qd_inventory_cell.cpp
diff --git a/engines/qdengine/qdcore/qd_inventory_cell.cpp b/engines/qdengine/qdcore/qd_inventory_cell.cpp
index 4f61483270b..c416abdb8c5 100644
--- a/engines/qdengine/qdcore/qd_inventory_cell.cpp
+++ b/engines/qdengine/qdcore/qd_inventory_cell.cpp
@@ -263,6 +263,9 @@ grScreenRegion qdInventoryCellSet::screen_region() const {
bool qdInventoryCellSet::put_object(qdGameObjectAnimated *p, const Vect2s &pos) {
if (!hit(pos)) return false;
+ if (_cells.front().size_x() == 0 || _cells.front().size_y() == 0)
+ return NULL;
+
Vect2s v = pos - screen_pos() + _cells.front().size() / 2;
int idx = v.x / _cells.front().size_x() + (v.y / _cells.front().size_y()) * _size.x;
// Ðвигаем Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð° ÑекÑÑее ÑмеÑение ÑÑеек
@@ -279,6 +282,9 @@ bool qdInventoryCellSet::put_object(qdGameObjectAnimated *p, const Vect2s &pos)
qdGameObjectAnimated *qdInventoryCellSet::get_object(const Vect2s &pos) const {
if (!hit(pos)) return NULL;
+ if (_cells.front().size_x() == 0 || _cells.front().size_y() == 0)
+ return NULL;
+
Vect2s v = pos - screen_pos() + _cells.front().size() / 2;
int idx = v.x / _cells.front().size_x() + (v.y / _cells.front().size_y()) * _size.x;
Commit: bb463cf86fd4e57505a256b4b03bd9f021f7d84f
https://github.com/scummvm/scummvm/commit/bb463cf86fd4e57505a256b4b03bd9f021f7d84f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:47+02:00
Commit Message:
QDENGINE: Use safer array copy operations. CID 1559603, CID 1559612, CID 1559628
Changed paths:
engines/qdengine/system/graphics/gr_tile_animation.cpp
diff --git a/engines/qdengine/system/graphics/gr_tile_animation.cpp b/engines/qdengine/system/graphics/gr_tile_animation.cpp
index 79f7436064e..ac109e4dbe8 100644
--- a/engines/qdengine/system/graphics/gr_tile_animation.cpp
+++ b/engines/qdengine/system/graphics/gr_tile_animation.cpp
@@ -110,7 +110,10 @@ bool grTileAnimation::compress(grTileCompressionMethod method) {
uint32 offs = tile_offsets.back();
uint32 sz = grTileSprite::compress(data, &*tile_vector.begin(), method);
- tile_data.insert(tile_data.end(), tile_vector.begin(), tile_vector.begin() + sz);
+
+ for (int j = 0; j < sz; j++)
+ tile_data.push_back(tile_vector[j]);
+
tile_offsets.push_back(offs + sz);
}
@@ -188,7 +191,9 @@ void grTileAnimation::addFrame(const uint32 *frame_data) {
uint32 sz = GR_TILE_SPRITE_SIZE;
uint32 offs = _tileOffsets.back();
- _tileData.insert(_tileData.end(), tile_vector.begin(), tile_vector.end());
+ for (auto &it : tile_vector)
+ _tileData.push_back(it);
+
_tileOffsets.push_back(offs + sz);
_frameIndex.push_back(tile_count);
} else
Commit: 4f52107b29cde3a8df6155c16f99129a6f25a2fc
https://github.com/scummvm/scummvm/commit/4f52107b29cde3a8df6155c16f99129a6f25a2fc
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-21T18:49:47+02:00
Commit Message:
QDENGINE: Check return value. CID 1559601
Changed paths:
engines/qdengine/system/sound/snd_dispatcher.cpp
diff --git a/engines/qdengine/system/sound/snd_dispatcher.cpp b/engines/qdengine/system/sound/snd_dispatcher.cpp
index f417d89d946..b7266233a1b 100644
--- a/engines/qdengine/system/sound/snd_dispatcher.cpp
+++ b/engines/qdengine/system/sound/snd_dispatcher.cpp
@@ -96,7 +96,9 @@ bool sndDispatcher::play_sound(const sndSound *snd, bool loop, int vol) {
int snd_volume = (vol == 255) ? volume_dB() : convert_volume_to_dB((volume() * vol) >> 8);
- p.create_sound_buffer();
+ if (!p.create_sound_buffer())
+ return false;
+
p.set_volume(snd_volume);
p.change_frequency(frequency_coeff());
More information about the Scummvm-git-logs
mailing list