[Scummvm-git-logs] scummvm master -> 153a89c0b87bccc26e4e62b2fd68d9810a28a4d0

neuromancer noreply at scummvm.org
Sun Nov 16 18:24:20 UTC 2025


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
153a89c0b8 FREESCAPE: removed undefined behavior in addSkanner (incorrect casting)


Commit: 153a89c0b87bccc26e4e62b2fd68d9810a28a4d0
    https://github.com/scummvm/scummvm/commit/153a89c0b87bccc26e4e62b2fd68d9810a28a4d0
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-11-16T19:23:50+01:00

Commit Message:
FREESCAPE: removed undefined behavior in addSkanner (incorrect casting)

Changed paths:
    engines/freescape/games/dark/dark.cpp
    engines/freescape/games/driller/driller.cpp


diff --git a/engines/freescape/games/dark/dark.cpp b/engines/freescape/games/dark/dark.cpp
index caab7991a06..56624a0a7d0 100644
--- a/engines/freescape/games/dark/dark.cpp
+++ b/engines/freescape/games/dark/dark.cpp
@@ -459,32 +459,32 @@ void DarkEngine::addSkanner(Area *area) {
 		debugC(1, kFreescapeDebugParser, "Adding group %d", id);
 		area->addGroupFromArea(id, _areaMap[255]);
 	} else {
-		GeometricObject *obj = nullptr;
+		Object *obj = nullptr;
 		id = 248;
 		// If first object is already added, do not re-add any
 		if (area->objectWithID(id) != nullptr)
 			return;
 
 		debugC(1, kFreescapeDebugParser, "Adding object %d to room structure", id);
-		obj = (GeometricObject *)_areaMap[255]->objectWithID(id);
+		obj = _areaMap[255]->objectWithID(id);
 		assert(obj);
-		obj = (GeometricObject *)obj->duplicate();
+		obj = obj->duplicate();
 		obj->makeInvisible();
 		area->addObject(obj);
 
 		id = 249;
 		debugC(1, kFreescapeDebugParser, "Adding object %d to room structure", id);
-		obj = (GeometricObject *)_areaMap[255]->objectWithID(id);
+		obj = _areaMap[255]->objectWithID(id);
 		assert(obj);
-		obj = (GeometricObject *)obj->duplicate();
+		obj = obj->duplicate();
 		obj->makeInvisible();
 		area->addObject(obj);
 
 		id = 250;
 		debugC(1, kFreescapeDebugParser, "Adding object %d to room structure", id);
-		obj = (GeometricObject *)_areaMap[255]->objectWithID(id);
+		obj = _areaMap[255]->objectWithID(id);
 		assert(obj);
-		obj = (GeometricObject *)obj->duplicate();
+		obj = obj->duplicate();
 		obj->makeInvisible();
 		area->addObject(obj);
 	}
diff --git a/engines/freescape/games/driller/driller.cpp b/engines/freescape/games/driller/driller.cpp
index af291a7ed8d..55083aff94a 100644
--- a/engines/freescape/games/driller/driller.cpp
+++ b/engines/freescape/games/driller/driller.cpp
@@ -727,7 +727,7 @@ bool DrillerEngine::checkDrill(const Math::Vector3d position) {
 
 void DrillerEngine::addSkanner(Area *area) {
 	debugC(1, kFreescapeDebugParser, "Adding skanner to area: %d", area->getAreaID());
-	GeometricObject *obj = nullptr;
+	Object *obj = nullptr;
 	int16 id;
 
 	id = 248;
@@ -736,25 +736,25 @@ void DrillerEngine::addSkanner(Area *area) {
 		return;
 
 	debugC(1, kFreescapeDebugParser, "Adding object %d to room structure", id);
-	obj = (GeometricObject *)_areaMap[255]->objectWithID(id);
+	obj = _areaMap[255]->objectWithID(id);
 	assert(obj);
-	obj = (GeometricObject *)obj->duplicate();
+	obj = obj->duplicate();
 	obj->makeInvisible();
 	area->addObject(obj);
 
 	id = 249;
 	debugC(1, kFreescapeDebugParser, "Adding object %d to room structure", id);
-	obj = (GeometricObject *)_areaMap[255]->objectWithID(id);
+	obj = _areaMap[255]->objectWithID(id);
 	assert(obj);
-	obj = (GeometricObject *)obj->duplicate();
+	obj = obj->duplicate();
 	obj->makeInvisible();
 	area->addObject(obj);
 
 	id = 250;
 	debugC(1, kFreescapeDebugParser, "Adding object %d to room structure", id);
-	obj = (GeometricObject *)_areaMap[255]->objectWithID(id);
+	obj = _areaMap[255]->objectWithID(id);
 	assert(obj);
-	obj = (GeometricObject *)obj->duplicate();
+	obj = obj->duplicate();
 	obj->makeInvisible();
 	area->addObject(obj);
 }




More information about the Scummvm-git-logs mailing list