[Scummvm-git-logs] scummvm master -> c2529c1945c6664e9f4fca4b874a6455c8efbbcf

digitall noreply at scummvm.org
Tue Jul 11 23:20:33 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:
c2529c1945 WATCHMAKER: Fix Remaining GCC Compiler Warnings


Commit: c2529c1945c6664e9f4fca4b874a6455c8efbbcf
    https://github.com/scummvm/scummvm/commit/c2529c1945c6664e9f4fca4b874a6455c8efbbcf
Author: D G Turner (digitall at scummvm.org)
Date: 2023-07-12T00:20:23+01:00

Commit Message:
WATCHMAKER: Fix Remaining GCC Compiler Warnings

Changed paths:
    engines/watchmaker/3d/geometry.cpp
    engines/watchmaker/classes/do_camera.cpp
    engines/watchmaker/render.cpp
    engines/watchmaker/render.h
    engines/watchmaker/t3d.h


diff --git a/engines/watchmaker/3d/geometry.cpp b/engines/watchmaker/3d/geometry.cpp
index fd6acef4695..48100fc8087 100644
--- a/engines/watchmaker/3d/geometry.cpp
+++ b/engines/watchmaker/3d/geometry.cpp
@@ -654,7 +654,7 @@ void t3dCreateProceduralSky(void) {
 	tab = new uint8[MaxSetDimX * MaxSetDimY * 3]{};
 
 	if (!SkySurface)  // rReleaseBitmapDirect( SkySurface );
-		SkySurface = (gTexture *)rCreateSurface(256, 256, rTEXTURESURFACE);
+		SkySurface = (gTexture *)rCreateSurfaceP(256, 256, rTEXTURESURFACE);
 
 	p = (unsigned short *)rLockSurfaceDirect(SkySurface, (unsigned int *)&pitch);
 	pitch /= 2;
diff --git a/engines/watchmaker/classes/do_camera.cpp b/engines/watchmaker/classes/do_camera.cpp
index ccecdd1c9be..5320ae13cb2 100644
--- a/engines/watchmaker/classes/do_camera.cpp
+++ b/engines/watchmaker/classes/do_camera.cpp
@@ -171,7 +171,7 @@ void HandleCameraCarrello(t3dBODY *croom) {
 
 //	Se e' appena partito il carrello
 	if (!bCameraCarrello) {
-		memcpy(&CameraCarrello, t3dCurCamera, sizeof(CameraCarrello));
+		CameraCarrello = *t3dCurCamera;
 		t3dCurCamera = &CameraCarrello;
 	}
 
@@ -868,9 +868,9 @@ void StartAnimCamera(WGame &game) {
 
 	LastCamera = t3dCurCamera;
 	DestCamera = PickCamera(t3dCurRoom, t3dCurCameraIndex);
-
-	memcpy(&AnimCamera, DestCamera, sizeof(AnimCamera));
+	AnimCamera = *DestCamera;
 	t3dCurCamera = &AnimCamera;
+
 	game._renderer->setCurCameraViewport(t3dCurCamera->Fov, bSuperView);
 
 	bCameraCarrello = FALSE;
diff --git a/engines/watchmaker/render.cpp b/engines/watchmaker/render.cpp
index ddca011e452..f49ad13cda8 100644
--- a/engines/watchmaker/render.cpp
+++ b/engines/watchmaker/render.cpp
@@ -127,6 +127,11 @@ int rCreateSurface(unsigned int dimx, unsigned int dimy, unsigned char flags) {
 	return 0;
 }
 
+void *rCreateSurfaceP(unsigned int dimx, unsigned int dimy, unsigned char flags) {
+	warning("STUBBED: rCreateSurfaceP");
+	return nullptr;
+}
+
 VertexBuffer rCreateVertexBuffer(unsigned int num) {
 	//warning("STUBBED: rCreateVertexBuffer");
 	return VertexBuffer();
diff --git a/engines/watchmaker/render.h b/engines/watchmaker/render.h
index 15bf9fda093..46a37ca95c7 100644
--- a/engines/watchmaker/render.h
+++ b/engines/watchmaker/render.h
@@ -152,6 +152,7 @@ void rReleaseBitmap(int i);
 void rReleaseBitmapDirect(gTexture *b);
 void rSetLoaderFlags(unsigned int NewLoaderFlags);
 int rCreateSurface(unsigned int dimx, unsigned int dimy, unsigned char flags);
+void *rCreateSurfaceP(unsigned int dimx, unsigned int dimy, unsigned char flags);
 char   *rGetBitmapName(unsigned int id);
 void rSetBitmapName(unsigned int id, const char *s);
 unsigned char *rLockSurface(int surf, unsigned int *pitch);
diff --git a/engines/watchmaker/t3d.h b/engines/watchmaker/t3d.h
index 4076dd1df53..f2086165cf1 100644
--- a/engines/watchmaker/t3d.h
+++ b/engines/watchmaker/t3d.h
@@ -196,23 +196,41 @@ public:
 };
 
 struct t3dCAMERA {
-	t3dV3F      Source;                     // camera eye
-	t3dV3F      Target;                     // camera target
-	t3dV3F      MaxTarget;                  // original 3dsmax target
-	t3dV3F      NormalizedDir;              // cam direction
-	t3dF32      Fov = 0.0f;                 // cam field of view
-	t3dV2F      Center;                     // cam center
-	t3dM3X3F    Matrix;                     // cam view matrix
-	t3dF32      NearClipPlane = 0.0f, FarClipPlane = 0.0f; // camera planes
-	uint8       NumAvailablePaths() const {
-		return CameraPaths.size();    // num camera paths
+	t3dV3F      Source;                       // camera eye
+	t3dV3F      Target;                       // camera target
+	t3dV3F      MaxTarget;                    // original 3dsmax target
+	t3dV3F      NormalizedDir;                // cam direction
+	t3dF32      Fov;                          // cam field of view
+	t3dV2F      Center;                       // cam center
+	t3dM3X3F    Matrix;                       // cam view matrix
+	t3dF32      NearClipPlane, FarClipPlane;  // camera planes
+	uint8       Index;                        // cam index 9in room
+	Common::Array<t3dPathCamera> CameraPaths;
+
+	uint8 NumAvailablePaths() const {
+		return CameraPaths.size();
 	}
-	uint8       Index = 0;                      // cam index 9in room
-	Common::Array<t3dPathCamera> CameraPaths;     // paths list
+
 public:
-	t3dCAMERA() = default;
+	t3dCAMERA() {
+		reset();
+	}
+
 	explicit t3dCAMERA(Common::SeekableReadStream &stream);
 
+	void reset() {
+		Source = t3dV3F();
+		Target = t3dV3F();
+		MaxTarget = t3dV3F();
+		NormalizedDir = t3dV3F();
+		Fov = 0.0f;
+		Center = t3dV2F();
+		Matrix = t3dM3X3F();
+		NearClipPlane = 0.0f, FarClipPlane = 0.0f;
+		Index = 0;
+		CameraPaths.clear();
+	}
+
 	void normalizedSight();
 };
 




More information about the Scummvm-git-logs mailing list