[Scummvm-git-logs] scummvm master -> 33822f7c663785de347c848f9f31fa44a5469539
digitall
547637+digitall at users.noreply.github.com
Tue Mar 23 05:36:50 UTC 2021
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:
33822f7c66 KYRA: Fix Memset on Non-Trivial Structure GCC Compiler Warnings
Commit: 33822f7c663785de347c848f9f31fa44a5469539
https://github.com/scummvm/scummvm/commit/33822f7c663785de347c848f9f31fa44a5469539
Author: D G Turner (digitall at scummvm.org)
Date: 2021-03-23T05:36:23Z
Commit Message:
KYRA: Fix Memset on Non-Trivial Structure GCC Compiler Warnings
Changed paths:
engines/kyra/engine/items_lok.cpp
engines/kyra/graphics/screen_lok.cpp
engines/kyra/sequence/seqplayer_lok.cpp
engines/kyra/sequence/seqplayer_lok.h
diff --git a/engines/kyra/engine/items_lok.cpp b/engines/kyra/engine/items_lok.cpp
index 5927ba0060..e1088996bb 100644
--- a/engines/kyra/engine/items_lok.cpp
+++ b/engines/kyra/engine/items_lok.cpp
@@ -57,7 +57,12 @@ void KyraEngine_LoK::addToNoDropRects(int x, int y, int w, int h) {
}
void KyraEngine_LoK::clearNoDropRects() {
- memset(_noDropRects, -1, sizeof(_noDropRects));
+ for (uint i = 0; i < ARRAYSIZE(_noDropRects); i++) {
+ _noDropRects[i].left = -1;
+ _noDropRects[i].top = -1;
+ _noDropRects[i].right = -1;
+ _noDropRects[i].bottom = -1;
+ }
}
byte KyraEngine_LoK::findFreeItemInScene(int scene) {
diff --git a/engines/kyra/graphics/screen_lok.cpp b/engines/kyra/graphics/screen_lok.cpp
index 07180b516e..ec53f22cb4 100644
--- a/engines/kyra/graphics/screen_lok.cpp
+++ b/engines/kyra/graphics/screen_lok.cpp
@@ -55,7 +55,12 @@ bool Screen_LoK::init() {
if (!Screen::init())
return false;
- memset(_bitBlitRects, 0, sizeof(_bitBlitRects));
+ for (uint i = 0; i < ARRAYSIZE(_bitBlitRects); i++) {
+ _bitBlitRects[i].left = 0;
+ _bitBlitRects[i].top = 0;
+ _bitBlitRects[i].right = 0;
+ _bitBlitRects[i].bottom = 0;
+ }
_bitBlitNum = 0;
memset(_saveLoadPage, 0, sizeof(_saveLoadPage));
memset(_saveLoadPageOvl, 0, sizeof(_saveLoadPageOvl));
diff --git a/engines/kyra/sequence/seqplayer_lok.cpp b/engines/kyra/sequence/seqplayer_lok.cpp
index 3c72affc6d..f31c62632f 100644
--- a/engines/kyra/sequence/seqplayer_lok.cpp
+++ b/engines/kyra/sequence/seqplayer_lok.cpp
@@ -599,7 +599,9 @@ bool SeqPlayer::playSequence(const uint8 *seqData, bool skipSeq) {
_seqLoopTable[i].count = 0xFFFF;
}
- memset(_seqMovies, 0, sizeof(_seqMovies));
+ for (uint i = 0; i < ARRAYSIZE(_seqMovies); i++) {
+ _seqMovies[i].clear();
+ }
_screen->_curPage = 0;
char revBuffer[384];
diff --git a/engines/kyra/sequence/seqplayer_lok.h b/engines/kyra/sequence/seqplayer_lok.h
index 8ca7fbac1b..9ab556d259 100644
--- a/engines/kyra/sequence/seqplayer_lok.h
+++ b/engines/kyra/sequence/seqplayer_lok.h
@@ -102,6 +102,15 @@ protected:
int16 frame;
int16 numFrames;
Common::Point pos;
+
+ void clear() {
+ movie = nullptr;
+ page = 0;
+ frame = 0;
+ numFrames = 0;
+ pos.x = 0;
+ pos.y = 0;
+ }
};
const uint8 *_seqData;
More information about the Scummvm-git-logs
mailing list