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

aquadran noreply at scummvm.org
Sat Oct 19 19:41:27 UTC 2024


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:
f380ce92fb WINTERMUTE: Sync ad_scene_geometry with original sources


Commit: f380ce92fb7eb8cfcdfe1882551933980106741c
    https://github.com/scummvm/scummvm/commit/f380ce92fb7eb8cfcdfe1882551933980106741c
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2024-10-19T21:41:22+02:00

Commit Message:
WINTERMUTE: Sync ad_scene_geometry with original sources

Changed paths:
    engines/wintermute/ad/ad_scene_geometry.cpp


diff --git a/engines/wintermute/ad/ad_scene_geometry.cpp b/engines/wintermute/ad/ad_scene_geometry.cpp
index 5365a1c20e1..4b58698af2e 100644
--- a/engines/wintermute/ad/ad_scene_geometry.cpp
+++ b/engines/wintermute/ad/ad_scene_geometry.cpp
@@ -117,6 +117,8 @@ void AdSceneGeometry::cleanup() {
 	_waypointGroups.clear();
 
 	for (i = 0; i < _cameras.size(); i++) {
+		if (_gameRef->_renderer3D->_camera == _cameras[i])
+			_gameRef->_renderer3D->_camera = nullptr;
 		delete _cameras[i];
 	}
 	_cameras.clear();
@@ -211,7 +213,7 @@ bool AdSceneGeometry::loadFile(const char *filename) {
 				plane->setName(meshNames[i].c_str());
 				plane->_mesh = meshes[i];
 				plane->_mesh->computeNormals();
-				plane->_mesh->fillVertexBuffer(0xFF0000FF);
+				plane->_mesh->fillVertexBuffer(0xFF0000FF); // original 0x700000FF
 				plane->_receiveShadows = ExtNode->_receiveShadows;
 				_planes.add(plane);
 			}
@@ -222,7 +224,7 @@ bool AdSceneGeometry::loadFile(const char *filename) {
 				block->setName(meshNames[i].c_str());
 				block->_mesh = meshes[i];
 				block->_mesh->computeNormals();
-				block->_mesh->fillVertexBuffer(0xFFFF0000);
+				block->_mesh->fillVertexBuffer(0xFFFF0000); // original 0x70FF0000
 				block->_receiveShadows = ExtNode->_receiveShadows;
 				_blocks.add(block);
 			}
@@ -243,7 +245,7 @@ bool AdSceneGeometry::loadFile(const char *filename) {
 				generic->setName(meshNames[i].c_str());
 				generic->_mesh = meshes[i];
 				generic->_mesh->computeNormals();
-				generic->_mesh->fillVertexBuffer(0xFF00FF00);
+				generic->_mesh->fillVertexBuffer(0xFF00FF00); // original 0x7000FF00
 				generic->_receiveShadows = ExtNode->_receiveShadows;
 				_generics.add(generic);
 			}
@@ -357,9 +359,9 @@ DXMatrix *AdSceneGeometry::getViewMatrix() {
 
 //////////////////////////////////////////////////////////////////////////
 bool AdSceneGeometry::storeDrawingParams() {
+	// store values
 	_drawingViewport = _gameRef->_renderer3D->getViewPort();
 
-	// store values
 	_gameRef->_renderer3D->getWorldTransform(&_lastWorldMat);
 	_gameRef->_renderer3D->getViewTransform(&_lastViewMat);
 	_gameRef->_renderer3D->getProjectionTransform(&_lastProjMat);
@@ -652,6 +654,7 @@ bool AdSceneGeometry::convert2Dto3D(int x, int y, DXVector3 *pos) {
 	x -= (mleft + mright) / 2 + modWidth;
 	y -= (mtop + mbottom) / 2 + modHeight;
 
+
 	DXVector3 vPickRayDir;
 	DXVector3 vPickRayOrig;
 
@@ -662,8 +665,8 @@ bool AdSceneGeometry::convert2Dto3D(int x, int y, DXVector3 *pos) {
 	vec._z =  -1.0f;
 
 	// Get the inverse view matrix
-	DXMatrix m, viewMatrix = DXMatrix(_lastViewMat);
-	DXMatrixInverse(&m, nullptr, &viewMatrix);
+	DXMatrix m;
+	DXMatrixInverse(&m, nullptr, &_lastViewMat);
 
 	// Transform the screen space pick ray into 3D space
 	vPickRayDir._x  = vec._x * m.matrix._11 + vec._y * m.matrix._21 + vec._z * m.matrix._31;
@@ -876,7 +879,7 @@ bool AdSceneGeometry::enableLights(DXVector3 point, BaseArray<char *> &ignoreLig
 	for (uint i = 0; i < _lights.size(); i++) {
 		_lights[i]->_isAvailable = false;
 		if (_lights[i]->_active) {
-			++activeLightCount;
+			activeLightCount++;
 		}
 	}
 
@@ -1223,6 +1226,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
 
 			if (name) {
 				delete[] name;
+				name = nullptr;
 			}
 		}
 	}
@@ -1254,6 +1258,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
 
 			if (name) {
 				delete[] name;
+				name = nullptr;
 			}
 		}
 	}
@@ -1284,6 +1289,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
 
 			if (name) {
 				delete[] name;
+				name = nullptr;
 			}
 		}
 	}
@@ -1314,6 +1320,7 @@ bool AdSceneGeometry::persist(BasePersistenceManager *persistMgr) {
 
 			if (name) {
 				delete[] name;
+				name = nullptr;
 			}
 		}
 	}




More information about the Scummvm-git-logs mailing list