[Scummvm-git-logs] scummvm master -> 1ac3cb27ac53b1c3e6b9160e611e6e8ea1cd8fac

sev- noreply at scummvm.org
Sat Jun 18 22:19:22 UTC 2022


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

Summary:
1ac3cb27ac DIRECTOR: Register Shared Cast in _openResFiles. That fixes cursors stored in there


Commit: 1ac3cb27ac53b1c3e6b9160e611e6e8ea1cd8fac
    https://github.com/scummvm/scummvm/commit/1ac3cb27ac53b1c3e6b9160e611e6e8ea1cd8fac
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-06-19T00:19:14+02:00

Commit Message:
DIRECTOR: Register Shared Cast in _openResFiles. That fixes cursors stored in there

Changed paths:
    engines/director/movie.cpp


diff --git a/engines/director/movie.cpp b/engines/director/movie.cpp
index 070cf7a92e5..1fb6cd4311f 100644
--- a/engines/director/movie.cpp
+++ b/engines/director/movie.cpp
@@ -92,6 +92,9 @@ Movie::Movie(Window *window) {
 Movie::~Movie() {
 	// _movieArchive is shared with the cast, so the cast will free it
 	delete _cast;
+
+	g_director->_openResFiles.erase(_sharedCast->getArchive()->getPathName());
+
 	delete _sharedCast;
 	delete _score;
 }
@@ -278,6 +281,8 @@ void Movie::clearSharedCast() {
 	if (!_sharedCast)
 		return;
 
+	g_director->_openResFiles.erase(_sharedCast->getArchive()->getPathName());
+
 	delete _sharedCast;
 
 	_sharedCast = nullptr;
@@ -304,6 +309,9 @@ void Movie::loadSharedCastsFrom(Common::String filename) {
 	_sharedCast = new Cast(this, 0, true);
 	_sharedCast->setArchive(sharedCast);
 	_sharedCast->loadArchive();
+
+	// Register the resfile so that Cursor::readFromResource can find it
+	g_director->_openResFiles.setVal(sharedCast->getPathName(), sharedCast);
 }
 
 CastMember *Movie::getCastMember(CastMemberID memberID) {




More information about the Scummvm-git-logs mailing list