[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