[Scummvm-git-logs] scummvm master -> fa2ac215ecbdc22aa5fecba2a31012500f2de37c
aquadran
noreply at scummvm.org
Mon Oct 28 11:23:00 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
fa2ac215ec WINTERMUTE: Fixes for CID: 1433465, 1433347, 1433346, 1428715, 1412327
Commit: fa2ac215ecbdc22aa5fecba2a31012500f2de37c
https://github.com/scummvm/scummvm/commit/fa2ac215ecbdc22aa5fecba2a31012500f2de37c
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2024-10-28T12:22:55+01:00
Commit Message:
WINTERMUTE: Fixes for CID: 1433465, 1433347, 1433346, 1428715, 1412327
Changed paths:
engines/wintermute/ad/ad_game.cpp
engines/wintermute/ad/ad_inventory.cpp
engines/wintermute/ad/ad_object.cpp
engines/wintermute/ad/ad_response_box.cpp
engines/wintermute/base/base_game.cpp
engines/wintermute/base/file/base_package.h
engines/wintermute/base/gfx/base_renderer3d.h
engines/wintermute/base/gfx/opengl/base_render_opengl3d.h
engines/wintermute/base/gfx/opengl/shadow_volume_opengl.h
engines/wintermute/base/gfx/xactive_animation.cpp
engines/wintermute/base/gfx/xfile_loader.cpp
engines/wintermute/base/scriptables/script_engine.cpp
engines/wintermute/ext/wme_3fstatistics.h
diff --git a/engines/wintermute/ad/ad_game.cpp b/engines/wintermute/ad/ad_game.cpp
index 5ec70c45d24..f279be0b8d3 100644
--- a/engines/wintermute/ad/ad_game.cpp
+++ b/engines/wintermute/ad/ad_game.cpp
@@ -1962,7 +1962,7 @@ bool AdGame::endDlgBranch(const char *branchName, const char *scriptName, const
//////////////////////////////////////////////////////////////////////////
bool AdGame::clearBranchResponses(char *name) {
- for (uint32 i = 0; i < _responsesBranch.size(); i++) {
+ for (int32 i = 0; i < (int32)_responsesBranch.size(); i++) {
if (scumm_stricmp(name, _responsesBranch[i]->getContext()) == 0) {
delete _responsesBranch[i];
_responsesBranch.remove_at(i);
diff --git a/engines/wintermute/ad/ad_inventory.cpp b/engines/wintermute/ad/ad_inventory.cpp
index b6d00c10c1c..d80372419b1 100644
--- a/engines/wintermute/ad/ad_inventory.cpp
+++ b/engines/wintermute/ad/ad_inventory.cpp
@@ -58,8 +58,8 @@ bool AdInventory::insertItem(const char *name, const char *insertAfter) {
return STATUS_FAILED;
}
- int insertIndex = -1;
- for (uint32 i = 0; i < _takenItems.size(); i++) {
+ int32 insertIndex = -1;
+ for (int32 i = 0; i < (int32)_takenItems.size(); i++) {
if (scumm_stricmp(_takenItems[i]->getName(), name) == 0) {
_takenItems.remove_at(i);
i--;
diff --git a/engines/wintermute/ad/ad_object.cpp b/engines/wintermute/ad/ad_object.cpp
index bc860f14070..342eac8016b 100644
--- a/engines/wintermute/ad/ad_object.cpp
+++ b/engines/wintermute/ad/ad_object.cpp
@@ -582,7 +582,7 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
}
} else {
const char *attachmentName = val->getString();
- for (uint32 i = 0; i < _attachmentsPre.size(); i++) {
+ for (int32 i = 0; i < (int32)_attachmentsPre.size(); i++) {
if (_attachmentsPre[i]->getName() && scumm_stricmp(_attachmentsPre[i]->getName(), attachmentName) == 0) {
found = true;
_gameRef->unregisterObject(_attachmentsPre[i]);
@@ -590,7 +590,7 @@ bool AdObject::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
i--;
}
}
- for (uint32 i = 0; i < _attachmentsPost.size(); i++) {
+ for (int32 i = 0; i < (int32)_attachmentsPost.size(); i++) {
if (_attachmentsPost[i]->getName() && scumm_stricmp(_attachmentsPost[i]->getName(), attachmentName) == 0) {
found = true;
_gameRef->unregisterObject(_attachmentsPost[i]);
diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp
index 4df0519306a..f4a0166746b 100644
--- a/engines/wintermute/ad/ad_response_box.cpp
+++ b/engines/wintermute/ad/ad_response_box.cpp
@@ -639,7 +639,7 @@ bool AdResponseBox::persist(BasePersistenceManager *persistMgr) {
bool AdResponseBox::weedResponses() {
AdGame *adGame = (AdGame *)_gameRef;
- for (uint32 i = 0; i < _responses.size(); i++) {
+ for (int32 i = 0; i < (int32)_responses.size(); i++) {
switch (_responses[i]->_responseType) {
case RESPONSE_ONCE:
if (adGame->branchResponseUsed(_responses[i]->getID())) {
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index fd14806f77d..ea7678b1563 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -3258,7 +3258,7 @@ bool BaseGame::displayQuickMsg() {
}
// update
- for (uint32 i = 0; i < _quickMessages.size(); i++) {
+ for (int32 i = 0; i < (int32)_quickMessages.size(); i++) {
if (_currentTime - _quickMessages[i]->getStartTime() >= QUICK_MSG_DURATION) {
delete _quickMessages[i];
_quickMessages.remove_at(i);
diff --git a/engines/wintermute/base/file/base_package.h b/engines/wintermute/base/file/base_package.h
index 99b61f1e5c3..ea5deed09ac 100644
--- a/engines/wintermute/base/file/base_package.h
+++ b/engines/wintermute/base/file/base_package.h
@@ -81,7 +81,7 @@ public:
private:
byte _priority;
- uint32 _version;
+ uint32 _version{};
Common::Array<BasePackage *> _packages;
typedef Common::HashMap<Common::Path, Common::ArchiveMemberPtr, Common::Path::IgnoreCase_Hash, Common::Path::IgnoreCase_EqualTo> FilesMap;
FilesMap _files;
diff --git a/engines/wintermute/base/gfx/base_renderer3d.h b/engines/wintermute/base/gfx/base_renderer3d.h
index e5c5466729a..411cec3d73c 100644
--- a/engines/wintermute/base/gfx/base_renderer3d.h
+++ b/engines/wintermute/base/gfx/base_renderer3d.h
@@ -166,7 +166,7 @@ protected:
DXMatrix _worldMatrix;
DXMatrix _viewMatrix;
DXMatrix _projectionMatrix;
- DXViewport _viewport;
+ DXViewport _viewport{};
float _fov;
float _nearClipPlane;
float _farClipPlane;
diff --git a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.h b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.h
index 99ca434817f..880510cf407 100644
--- a/engines/wintermute/base/gfx/opengl/base_render_opengl3d.h
+++ b/engines/wintermute/base/gfx/opengl/base_render_opengl3d.h
@@ -139,7 +139,7 @@ public:
bool setViewport3D(DXViewport *viewport) override;
private:
- SimpleShadowVertex _simpleShadow[4];
+ SimpleShadowVertex _simpleShadow[4]{};
Common::Array<DXVector4> _lightPositions;
Common::Array<DXVector3> _lightDirections;
};
diff --git a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.h b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.h
index 88ffabbddad..cba3ce5e381 100644
--- a/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.h
+++ b/engines/wintermute/base/gfx/opengl/shadow_volume_opengl.h
@@ -44,7 +44,7 @@ public:
private:
bool render();
- ShadowVertex _shadowMask[4];
+ ShadowVertex _shadowMask[4]{};
bool initMask() override;
};
diff --git a/engines/wintermute/base/gfx/xactive_animation.cpp b/engines/wintermute/base/gfx/xactive_animation.cpp
index c1717b08814..3fbf4aa5d9a 100644
--- a/engines/wintermute/base/gfx/xactive_animation.cpp
+++ b/engines/wintermute/base/gfx/xactive_animation.cpp
@@ -99,7 +99,9 @@ bool ActiveAnimation::update(int slot, bool prevFrameOnly, float lerpValue, bool
}
}
if (_finished) {
- localTime = _animation->getTotalTime() - 1;
+ localTime = _animation->getTotalTime();
+ if (localTime != 0)
+ localTime--;
}
_lastLocalTime = localTime;
diff --git a/engines/wintermute/base/gfx/xfile_loader.cpp b/engines/wintermute/base/gfx/xfile_loader.cpp
index 7fb4836dc25..fb87a73a9dd 100644
--- a/engines/wintermute/base/gfx/xfile_loader.cpp
+++ b/engines/wintermute/base/gfx/xfile_loader.cpp
@@ -723,6 +723,8 @@ bool XFileLoader::decompressMsZipData() {
if (!readLE32(&decompressedSize)) {
error = true;
} else {
+ if (decompressedSize < 16)
+ return false;
decompressedSize -= 16;
}
diff --git a/engines/wintermute/base/scriptables/script_engine.cpp b/engines/wintermute/base/scriptables/script_engine.cpp
index 456bc2cef99..166fa09efd1 100644
--- a/engines/wintermute/base/scriptables/script_engine.cpp
+++ b/engines/wintermute/base/scriptables/script_engine.cpp
@@ -533,7 +533,7 @@ bool ScEngine::persist(BasePersistenceManager *persistMgr) {
//////////////////////////////////////////////////////////////////////////
void ScEngine::editorCleanup() {
- for (uint32 i = 0; i < _scripts.size(); i++) {
+ for (int32 i = 0; i < (int32)_scripts.size(); i++) {
if (_scripts[i]->_owner == nullptr && (_scripts[i]->_state == SCRIPT_FINISHED || _scripts[i]->_state == SCRIPT_ERROR)) {
delete _scripts[i];
_scripts.remove_at(i);
diff --git a/engines/wintermute/ext/wme_3fstatistics.h b/engines/wintermute/ext/wme_3fstatistics.h
index 79fc5598d62..f0e4d9d7436 100644
--- a/engines/wintermute/ext/wme_3fstatistics.h
+++ b/engines/wintermute/ext/wme_3fstatistics.h
@@ -48,7 +48,7 @@ private:
Common::String _chapter;
Common::String _language;
Common::String _buildNum;
- int32 _repeat;
+ int32 _repeat{};
};
} // End of namespace Wintermute
More information about the Scummvm-git-logs
mailing list