[Scummvm-git-logs] scummvm master -> 489ed90d1073caeb88761aca5f694629a4761b1d

digitall noreply at scummvm.org
Mon Feb 20 23:35:16 UTC 2023


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:
489ed90d10 HPL1: Fix Use of Memset on Non-Trivial Data Structure GCC Compiler Warning


Commit: 489ed90d1073caeb88761aca5f694629a4761b1d
    https://github.com/scummvm/scummvm/commit/489ed90d1073caeb88761aca5f694629a4761b1d
Author: D G Turner (digitall at scummvm.org)
Date: 2023-02-20T23:34:41Z

Commit Message:
HPL1: Fix Use of Memset on Non-Trivial Data Structure GCC Compiler Warning

Changed paths:
    engines/hpl1/engine/libraries/newton/physics/dgCollisionCompound.cpp
    engines/hpl1/engine/libraries/newton/physics/dgCollisionCompound.h


diff --git a/engines/hpl1/engine/libraries/newton/physics/dgCollisionCompound.cpp b/engines/hpl1/engine/libraries/newton/physics/dgCollisionCompound.cpp
index dd70403219b..4c89ddb05fe 100644
--- a/engines/hpl1/engine/libraries/newton/physics/dgCollisionCompound.cpp
+++ b/engines/hpl1/engine/libraries/newton/physics/dgCollisionCompound.cpp
@@ -155,6 +155,22 @@ dgCollisionCompound::dgNodeBase::~dgNodeBase() {
 	}
 }
 
+void dgCollisionCompound::dgNodeBase::reset() {
+	m_id = 0; // FIXME: Maybe should reset to -1
+	m_left = NULL;
+	m_right = NULL;
+	m_parent = NULL;
+	m_type = 0;
+	m_shape = NULL;
+
+	m_p0 = dgVector(0.0f, 0.0f, 0.0f, 0.0f);
+	m_p1 = dgVector(0.0f, 0.0f, 0.0f, 0.0f);;
+	m_size = dgVector(0.0f, 0.0f, 0.0f, 0.0f);;
+	m_origin = dgVector(0.0f, 0.0f, 0.0f, 0.0f);;
+
+	m_area = 0.0f;
+}
+
 bool dgCollisionCompound::dgNodeBase::BoxTest(const OOBBTestData &data,
         const dgNodeBase *const otherNode) const {
 	dgVector otherOrigin(data.m_matrix.TransformVector(otherNode->m_origin));
@@ -355,7 +371,7 @@ dgCollisionCompound::dgCollisionCompound(dgWorld *const world,
 		Data() {
 		}
 		~Data() {
-			memset(this, 0, sizeof(dgNodeBase));
+			this->reset();
 		}
 
 		dgInt8 m_padding[128];
diff --git a/engines/hpl1/engine/libraries/newton/physics/dgCollisionCompound.h b/engines/hpl1/engine/libraries/newton/physics/dgCollisionCompound.h
index 82136343abe..75d1dbd8411 100644
--- a/engines/hpl1/engine/libraries/newton/physics/dgCollisionCompound.h
+++ b/engines/hpl1/engine/libraries/newton/physics/dgCollisionCompound.h
@@ -62,6 +62,7 @@ protected:
 		dgNodeBase(dgCollisionConvex *const m_shape, dgInt32 id);
 		dgNodeBase(dgNodeBase *const left, dgNodeBase *const right, dgInt32 id);
 		~dgNodeBase();
+		void reset();
 		bool BoxTest(const OOBBTestData &data) const;
 		bool BoxTest(const OOBBTestData &data, const dgNodeBase *const otherNode) const;
 




More information about the Scummvm-git-logs mailing list