[Scummvm-git-logs] scummvm master -> fbc40129a189b66a1ef888fb2d99c57cf3fce661

moralrecordings noreply at scummvm.org
Fri Dec 6 15:25:11 UTC 2024


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:
0f2a0a4729 DIRECTOR: Revert games accidentally added to supported list
fbc40129a1 DIRECTOR: XOBJ: Fix incorrect memory management in AiffXObj


Commit: 0f2a0a4729642d55c92d61e3f05d4cc8ded04672
    https://github.com/scummvm/scummvm/commit/0f2a0a4729642d55c92d61e3f05d4cc8ded04672
Author: Scott Percival (code at moral.net.au)
Date: 2024-12-06T23:23:17+08:00

Commit Message:
DIRECTOR: Revert games accidentally added to supported list

Changed paths:
    engines/director/detection_tables.h


diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index 0e6cd501180..57a2bfc01f2 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -2178,12 +2178,6 @@ static const DirectorGameDescription gameDescriptions[] = {
 //
 //////////////////////////////////////////////////
 
-	// BackPacker (Windows, Swedish)
-	// Reported via TRAC #14819
-	WINGAME1_l("backpacker", "", "BACKPACK.EXE", "t:8e6fb18a41a9baff740aecd4ce68e100", 698999, Common::SE_SWE, 404),
-
-	WINGAME2("barbmagichouse", "", "BARBIE.EXE", "t:daa44668235cb5debf68e9e92cce4643", 909919,
-			                       "BDATA/OUTSIDE.DIR", "b914daee4a5531493247d537ee48a185", 3084168, 404),
 
 	// Original filename is 'BD-J/Demo'
 	// Developed by ART Sector ONE / Richard M. Coombs
@@ -2299,12 +2293,6 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Korean Windows version is named 'Time Girl'
 	WINGAME1_l("timegal", "", "TIMEGIRL.EXE", "0e5a7734bdc74198a62171ea4d51a364", 687457, Common::KO_KOR, 400),
 
-	// Tivola demo/sampler disc, Spring 1997, released in Germany
-	MACGAME2_l("tivolaspring1997", "Sampler", "Tivola Demos",      "r:5debd53e3dd84431c9ca1e47f5e10c1b", 503636,
-											  "Demo/SAMPLECD.Dxr", "d:81c08d08680a7e8649b67a6a0314776d", 5667390, Common::DE_DEU, 404),
-	WINGAME2_l("tivolaspring1997", "Sampler", "START.EXE",         "t:e38cb9f5acb91b498a7a6718385c82e2", 740011,
-											  "DEMO/SAMPLECD.DXR", "d:81c08d08680a7e8649b67a6a0314776d", 5667390, Common::DE_DEU, 404),
-
 	// Found on
 	// 1995-08-16 Mac/Win hybrid v1.2 release of SimTower
 	// 1995-10-28 Mac/Win hybrid release of Marty
@@ -3634,6 +3622,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Original filename is 'オウム報道全記録Demo'
 	MACDEMO1_l("aumhodozenkiroku", "Demo", "xn--Demo-4k4cxa39ay43tw0mbx1jiloc9h", "7fd44b6dffa0ea0402eaed4c3769b39b", 304674, Common::JA_JPN, 404),
 
+	// BackPacker (Windows, Swedish)
+	// Reported via TRAC #14819
+	WINGAME1_l("backpacker", "", "BACKPACK.EXE", "t:8e6fb18a41a9baff740aecd4ce68e100", 698999, Common::SE_SWE, 404),
+
 	// Both Mac and Win english versions require installation to extract executable
 	// Russian version appears to be identical with only assets replaced
 	// Original Japanese Mac filename is バッドデイ(Power PC)
@@ -3646,6 +3638,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2_l("badday", "", "BDM/BAD_DAY.EXE",	  "t:3023f944e8d494393bf08c0cb7a61ba0", 768773,
 							 "BADDAY/BADDAY.DXR", "d:26c3b03b18e7aa098216be73d96289b0", 549108, Common::JA_JPN, 404),
 
+	WINGAME2("barbmagichouse", "", "BARBIE.EXE", "t:daa44668235cb5debf68e9e92cce4643", 909919,
+			                       "BDATA/OUTSIDE.DIR", "b914daee4a5531493247d537ee48a185", 3084168, 404),
+
 	// Original filename is みんなであそぼ デモ
 	// Kidsoft US packaging says A Bear Family Adventure featuring Playtime in the Park by Erica Dale
 	MACDEMO1_l("bearfamily", "Demo", "Playtime Demo", "77f4098988d5386794d1530065f514cd", 301697, Common::JA_JPN, 400),
@@ -5836,6 +5831,12 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Full version is not Director
 	WINDEMO1("timelapse", "Demo", "TLOVIEW.EXE", "6cd9f5644c8aa66ce60a23ee02762eab", 75131959, 404),
 
+	// Tivola demo/sampler disc, Spring 1997, released in Germany
+	MACGAME2_l("tivolaspring1997", "Sampler", "Tivola Demos",      "r:5debd53e3dd84431c9ca1e47f5e10c1b", 503636,
+											  "Demo/SAMPLECD.Dxr", "d:81c08d08680a7e8649b67a6a0314776d", 5667390, Common::DE_DEU, 404),
+	WINGAME2_l("tivolaspring1997", "Sampler", "START.EXE",         "t:e38cb9f5acb91b498a7a6718385c82e2", 740011,
+											  "DEMO/SAMPLECD.DXR", "d:81c08d08680a7e8649b67a6a0314776d", 5667390, Common::DE_DEU, 404),
+
 	MACDEMO1_l("toeic", "Demo", "TOEIC", "r:77f4098988d5386794d1530065f514cd", 301681, Common::JA_JPN, 400),
 
 	WINDEMO2("tommy", "Demo", "TOMMY.EXE",	 "t:c754198b33865bb95d77c1188d0a67d6",  696897,


Commit: fbc40129a189b66a1ef888fb2d99c57cf3fce661
    https://github.com/scummvm/scummvm/commit/fbc40129a189b66a1ef888fb2d99c57cf3fce661
Author: Scott Percival (code at moral.net.au)
Date: 2024-12-06T23:23:17+08:00

Commit Message:
DIRECTOR: XOBJ: Fix incorrect memory management in AiffXObj

Thanks to sluicebox for the tipoff.

Changed paths:
    engines/director/lingo/xlibs/aiff.cpp


diff --git a/engines/director/lingo/xlibs/aiff.cpp b/engines/director/lingo/xlibs/aiff.cpp
index 29c9f008b97..432e2fb2914 100644
--- a/engines/director/lingo/xlibs/aiff.cpp
+++ b/engines/director/lingo/xlibs/aiff.cpp
@@ -93,17 +93,22 @@ void AiffXObj::m_new(int nargs) {
 }
 
 void AiffXObj::m_duration(int nargs) {
-	g_lingo->printSTUBWithArglist("AiffXObj::m_duration", nargs);
-	auto filePath = g_lingo->pop().asString();
+	Common::String filePath = g_lingo->pop().asString();
 
-	auto aiffStream = Common::MacResManager::openFileOrDataFork(findPath(filePath));
+	Common::SeekableReadStream *aiffStream = Common::MacResManager::openFileOrDataFork(findPath(filePath));
 	if (!aiffStream) {
-		warning("Failed to open %s", filePath.c_str());
+		warning("AiffXObj::m_duration: Failed to open %s", filePath.c_str());
 		g_lingo->push(0);
 		return;
 	}
 
-	auto aiffHeader = Audio::AIFFHeader::readAIFFHeader(aiffStream, DisposeAfterUse::YES);
+	Audio::AIFFHeader *aiffHeader = Audio::AIFFHeader::readAIFFHeader(aiffStream, DisposeAfterUse::NO);
+	if (!aiffHeader) {
+		warning("AiffXObj::m_duration: No AIFF header found for %s", filePath.c_str());
+		g_lingo->push(0);
+		delete aiffStream;
+		return;
+	}
 
 	int duration = (aiffHeader->getFrameCount() / (float)aiffHeader->getFrameRate()) * 60;
 




More information about the Scummvm-git-logs mailing list