[Scummvm-git-logs] scummvm master -> 7eb5a801e082879379c52de12bebe952fe4e3954
bluegr
noreply at scummvm.org
Sat Oct 10 09:47:44 UTC 2026
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:
7eb5a801e0 DRAGONS: Fix out of bounds crash after actor resourceID change
Commit: 7eb5a801e082879379c52de12bebe952fe4e3954
https://github.com/scummvm/scummvm/commit/7eb5a801e082879379c52de12bebe952fe4e3954
Author: AmigaMaster (AmigaMaster-ng at t-online.de)
Date: 2026-10-10T12:47:39+03:00
Commit Message:
DRAGONS: Fix out of bounds crash after actor resourceID change
Fixes #15234
Assisted-by: Claude:Sonnet 5.5
Changed paths:
engines/dragons/actor.cpp
engines/dragons/scriptopcodes.cpp
diff --git a/engines/dragons/actor.cpp b/engines/dragons/actor.cpp
index d350134a3d7..453920ea5d1 100644
--- a/engines/dragons/actor.cpp
+++ b/engines/dragons/actor.cpp
@@ -91,6 +91,7 @@ void ActorManager::clearActorFlags(uint16 startingActorId) {
Actor *ActorManager::loadActor(uint32 resourceId, uint16 actorId) { //TODO should we rename this. loadActorResource or updateActorResource
Actor *actor = getActor(actorId);
actor->_actorResource = _actorResourceLoader->load(resourceId);
+ actor->_resourceID = (int16)resourceId; // keep in sync
return actor;
}
diff --git a/engines/dragons/scriptopcodes.cpp b/engines/dragons/scriptopcodes.cpp
index b8cd2fdeafd..ffee5613a3c 100644
--- a/engines/dragons/scriptopcodes.cpp
+++ b/engines/dragons/scriptopcodes.cpp
@@ -462,6 +462,7 @@ void ScriptOpcodes::opActorLoadSequence(ScriptOpCall &scriptOpCall) {
if (!ini->actor->_actorResource || ini->actor->_actorResource->_id != (uint32)ini->actorResourceId) {
ini->actor->_actorResource = _vm->_actorManager->getActorResource(ini->actorResourceId);
+ ini->actor->_resourceID = (int16)ini->actorResourceId;
}
ini->actor->updateSequence(sequenceId);
More information about the Scummvm-git-logs
mailing list