[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