[Scummvm-git-logs] scummvm master -> 2bd777c926e536edc7357eceae46cf347c0e390d

sev- noreply at scummvm.org
Thu Dec 8 18:06:15 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:
2bd777c926 KYRA: Support files for installed multi-floppy mac kyra1


Commit: 2bd777c926e536edc7357eceae46cf347c0e390d
    https://github.com/scummvm/scummvm/commit/2bd777c926e536edc7357eceae46cf347c0e390d
Author: Vladimir Serbinenko (phcoder at gmail.com)
Date: 2022-12-08T19:06:12+01:00

Commit Message:
KYRA: Support files for installed multi-floppy mac kyra1

This is the case for multi-floppy installer when installed or
extracted.

Changed paths:
    engines/kyra/detection.cpp
    engines/kyra/resource/resource.cpp


diff --git a/engines/kyra/detection.cpp b/engines/kyra/detection.cpp
index 1bacaadc1a3..77873b9c991 100644
--- a/engines/kyra/detection.cpp
+++ b/engines/kyra/detection.cpp
@@ -47,6 +47,7 @@ static const DebugChannelDef debugFlagList[] = {
 const char *const directoryGlobs[] = {
 	"malcolm",
 	"data", // LOL GOG release
+	"runtime",
 	nullptr
 };
 
diff --git a/engines/kyra/resource/resource.cpp b/engines/kyra/resource/resource.cpp
index 70eeac7d77c..15fb3ee1ece 100644
--- a/engines/kyra/resource/resource.cpp
+++ b/engines/kyra/resource/resource.cpp
@@ -64,6 +64,9 @@ Common::Archive *Resource::loadKyra1MacInstaller() {
 Resource::Resource(KyraEngine_v1 *vm) : _archiveCache(), _files(), _archiveFiles(), _protectedFiles(), _loaders(), _vm(vm), _bigEndianPlatForm(vm->gameFlags().platform == Common::kPlatformAmiga || vm->gameFlags().platform == Common::kPlatformSegaCD) {
 	initializeLoaders();
 
+	if (_vm->game() == GI_KYRA1 && _vm->gameFlags().platform == Common::Platform::kPlatformMacintosh)
+		SearchMan.addSubDirectoryMatching(Common::FSNode(ConfMan.get("path")), "runtime");
+
 	// Initialize directories for playing from CD or with original
 	// directory structure
 	if (_vm->game() == GI_KYRA3)
@@ -129,10 +132,17 @@ bool Resource::reset() {
 			// when the user has an Android package file in the CWD.
 			Common::FSDirectory gameDir(dir);
 			Common::ArchiveMemberList files;
+			Common::ScopedPtr<Common::FSDirectory> gameDirRuntime;
 
 			gameDir.listMatchingMembers(files, "*.PAK");
 			gameDir.listMatchingMembers(files, "*.APK");
 
+			if (_vm->gameFlags().platform == Common::Platform::kPlatformMacintosh) {
+				gameDirRuntime.reset(gameDir.getSubDirectory("runtime"));
+				gameDirRuntime->listMatchingMembers(files, "*.PAK");
+				gameDirRuntime->listMatchingMembers(files, "*.APK");
+			}
+
 			for (Common::ArchiveMemberList::const_iterator i = files.begin(); i != files.end(); ++i) {
 				Common::String name = (*i)->getName();
 				name.toUppercase();




More information about the Scummvm-git-logs mailing list