[Scummvm-git-logs] scummvm master -> 29c5f6e7494d46fa0b927507251d150b8b7879d6
a-yyg
76591232+a-yyg at users.noreply.github.com
Sat Aug 14 23:37:33 UTC 2021
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ec88076e91 SAGA2: Write correct workaround comment
29c5f6e749 SAGA2: Fix nullptr access in Sector iterators
Commit: ec88076e91b8b73a46ee73b00c7f8a158b9894bb
https://github.com/scummvm/scummvm/commit/ec88076e91b8b73a46ee73b00c7f8a158b9894bb
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-08-15T08:37:18+09:00
Commit Message:
SAGA2: Write correct workaround comment
Changed paths:
engines/saga2/interp.cpp
diff --git a/engines/saga2/interp.cpp b/engines/saga2/interp.cpp
index 25c1302106..8554288cd9 100644
--- a/engines/saga2/interp.cpp
+++ b/engines/saga2/interp.cpp
@@ -246,7 +246,7 @@ uint8 *byteAddress(Thread *th, uint8 **pcPtr) {
debugC(3, kDebugScripts, "byteAddress: far[%s:%d] = %d", seg2str(seg).c_str(), offset, *segmentAddress(seg, offset));
*pcPtr = pc;
- // FIXME: WORKAROUND: Fixes Captain Navis (5299, 17715, 80) in Maldavith not allowing passage to the Tamnath Ruins through sail even if Muybridge is alive.
+ // FIXME: WORKAROUND: Fixes Captain Navis (5299, 17715, 80) in Maldavith not allowing passage to the Tamnath Ruins through sail even if Muybridge is dead.
if (seg == 130 && offset == 2862) {
warning("WORKAROUND: byteAddress: far");
Actor *boss = (Actor *)GameObject::objectAddress(32880);
Commit: 29c5f6e7494d46fa0b927507251d150b8b7879d6
https://github.com/scummvm/scummvm/commit/29c5f6e7494d46fa0b927507251d150b8b7879d6
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-08-15T08:37:18+09:00
Commit Message:
SAGA2: Fix nullptr access in Sector iterators
Changed paths:
engines/saga2/objects.cpp
engines/saga2/path.cpp
diff --git a/engines/saga2/objects.cpp b/engines/saga2/objects.cpp
index b141ea20d0..bb949c917f 100644
--- a/engines/saga2/objects.cpp
+++ b/engines/saga2/objects.cpp
@@ -3379,6 +3379,10 @@ ObjectID SectorRegionObjectIterator::first(GameObject **obj) {
sectorCoords = minSector;
currentSector = searchWorld->getSector(sectorCoords.u, sectorCoords.v);
+
+ if (currentSector == nullptr)
+ return Nothing;
+
while (currentSector->childID == Nothing) {
if (++sectorCoords.v >= maxSector.v) {
sectorCoords.v = minSector.v;
@@ -3625,12 +3629,18 @@ ObjectID RegionalObjectIterator::first(GameObject **obj) {
ObjectID currentObjectID;
currentObjectID = SectorRegionObjectIterator::first(¤tObject);
+
+ if (currentObjectID == Nothing)
+ return Nothing;
+
while (currentObjectID != Nothing
&& !inRegion(currentObject->getLocation())) {
currentObjectID = SectorRegionObjectIterator::next(¤tObject);
}
- if (obj != nullptr) *obj = currentObject;
+ if (obj != nullptr)
+ *obj = currentObject;
+
return currentObjectID;
}
diff --git a/engines/saga2/path.cpp b/engines/saga2/path.cpp
index fbe6650fd6..726dfe0a69 100644
--- a/engines/saga2/path.cpp
+++ b/engines/saga2/path.cpp
@@ -1463,7 +1463,7 @@ void PathRequest::initialize(void) {
baseCoords.v
+ (searchCenter << kTileUVShift) * 2,
0));
- GameObject *obj;
+ GameObject *obj = nullptr;
for (iter.first(&obj);
obj != nullptr;
@@ -2497,7 +2497,7 @@ TilePoint selectNearbySite(
baseCoords.v
+ (searchCenter << kTileUVShift) * 2,
0));
- GameObject *obj;
+ GameObject *obj = nullptr;
for (iter.first(&obj);
obj != nullptr;
More information about the Scummvm-git-logs
mailing list