[Scummvm-git-logs] scummvm master -> 312770c972dcacd644db55b20116ec5dd889660f

digitall 547637+digitall at users.noreply.github.com
Sun Mar 21 22:35:44 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:
312770c972 BBVS: Fix Memset on Non-Trivial Structure GCC Compiler Warnings


Commit: 312770c972dcacd644db55b20116ec5dd889660f
    https://github.com/scummvm/scummvm/commit/312770c972dcacd644db55b20116ec5dd889660f
Author: D G Turner (digitall at scummvm.org)
Date: 2021-03-21T22:35:12Z

Commit Message:
BBVS: Fix Memset on Non-Trivial Structure GCC Compiler Warnings

Changed paths:
    engines/bbvs/bbvs.h
    engines/bbvs/saveload.cpp
    engines/bbvs/scene.cpp


diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h
index e061fb98a0..95002dabc9 100644
--- a/engines/bbvs/bbvs.h
+++ b/engines/bbvs/bbvs.h
@@ -172,7 +172,27 @@ struct SceneObject {
 	int xIncr, yIncr;
 	int turnValue, turnCount, turnTicks;
 	Common::Point walkDestPt;
-	SceneObject() : sceneObjectDef(0), anim(0) {
+
+	SceneObject() {
+		clear();
+	}
+
+	void clear() {
+		x = 0;
+		y = 0;
+		sceneObjectDef = nullptr;
+		anim = nullptr;
+		animIndex = 0;
+		frameIndex = 0;
+		frameTicks = 0;
+		walkCount = 0;
+		xIncr = 0;
+		yIncr = 0;
+		turnValue = 0;
+		turnCount = 0;
+		turnTicks = 0;
+		walkDestPt.x = 0;
+		walkDestPt.y = 0;
 	}
 };
 
diff --git a/engines/bbvs/saveload.cpp b/engines/bbvs/saveload.cpp
index 622d05b8f4..ab52e567a5 100644
--- a/engines/bbvs/saveload.cpp
+++ b/engines/bbvs/saveload.cpp
@@ -109,8 +109,8 @@ void BbvsEngine::loadgame(const char *filename) {
 
 	g_engine->setTotalPlayTime(header.playTime * 1000);
 
-	memset(_sceneObjects, 0, sizeof(_sceneObjects));
 	for (int i = 0; i < kSceneObjectsCount; ++i) {
+		_sceneObjects[i].clear();
 		_sceneObjects[i].walkDestPt.x = -1;
 		_sceneObjects[i].walkDestPt.y = -1;
 	}
diff --git a/engines/bbvs/scene.cpp b/engines/bbvs/scene.cpp
index fd4ee136e9..9dac5c55a6 100644
--- a/engines/bbvs/scene.cpp
+++ b/engines/bbvs/scene.cpp
@@ -100,8 +100,8 @@ void BbvsEngine::initScene(bool sounds) {
 
 	memset(_backgroundSoundsActive, 0, sizeof(_backgroundSoundsActive));
 
-	memset(_sceneObjects, 0, sizeof(_sceneObjects));
 	for (int i = 0; i < kSceneObjectsCount; ++i) {
+		_sceneObjects[i].clear();
 		_sceneObjects[i].walkDestPt.x = -1;
 		_sceneObjects[i].walkDestPt.y = -1;
 	}




More information about the Scummvm-git-logs mailing list