[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