[Scummvm-git-logs] scummvm master -> 84cddcf3f62f832bfcd0cbe0eff17c0951acd097

sev- sev at scummvm.org
Fri Aug 13 15:36:08 UTC 2021


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:
a197e7e795 COMMON: Added MacintoshII platform
84cddcf3f6 DIRECTOR: Initial support for l-zone MacII


Commit: a197e7e7952a2405ae17743194525988c8605e7f
    https://github.com/scummvm/scummvm/commit/a197e7e7952a2405ae17743194525988c8605e7f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-08-13T17:07:27+02:00

Commit Message:
COMMON: Added MacintoshII platform

Changed paths:
    common/platform.cpp
    common/platform.h


diff --git a/common/platform.cpp b/common/platform.cpp
index c7a70c0c76..30553f8489 100644
--- a/common/platform.cpp
+++ b/common/platform.cpp
@@ -61,6 +61,7 @@ const PlatformDescription g_platforms[] = {
 	{ "megadrive", "genesis", "md", "Mega Drive/Genesis", kPlatformMegaDrive },
 	{ "saturn", "saturn", "saturn", "Sega Saturn", kPlatformSaturn },
 	{ "pippin", "pippin", "pippin", "Pippin", kPlatformPippin },
+	{ "macintosh2", "macintosh2", "macintosh2", "Macintosh II", kPlatformMacintoshII },
 
 	{ nullptr, nullptr, nullptr, "Default", kPlatformUnknown }
 };
diff --git a/common/platform.h b/common/platform.h
index de7ebac09c..c769b01c6d 100644
--- a/common/platform.h
+++ b/common/platform.h
@@ -74,6 +74,7 @@ enum Platform {
 	kPlatformMegaDrive,
 	kPlatformSaturn,
 	kPlatformPippin,
+	kPlatformMacintoshII,
 
 	kPlatformUnknown = -1
 };


Commit: 84cddcf3f62f832bfcd0cbe0eff17c0951acd097
    https://github.com/scummvm/scummvm/commit/84cddcf3f62f832bfcd0cbe0eff17c0951acd097
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-08-13T17:35:38+02:00

Commit Message:
DIRECTOR: Initial support for l-zone MacII

Changed paths:
    engines/director/detection_tables.h
    engines/director/frame.cpp
    engines/director/lingo/lingo-object.cpp
    engines/director/resource.cpp


diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index 523c90a09b..f2b8cb4a1d 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -1403,6 +1403,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACGAME1("lzone", "",   "L-ZONE", 		"f5277c53bacd27936158dd3867e587e2", 392484, 300),
 	MACGAME1("lzone", "v2", "L-ZONE", 		"276bee761e48a6fd709df77d5c2f60dd", 395344, 300),
+	GENGAME1_("lzone", "",	"L-ZONE",		"9f0bb7ec7720e4f680ee3aa3d22c1c9d", 384968, Common::EN_ANY, Common::kPlatformMacintoshII,ADGF_MACRESFORK, 300),
 	WINGAME2("lzone", "",   "L_ZONE.EXE",	"65d06b5fef155a2473434571aff5bc29", 370009,
 						    "SYNER_01.MMM", "56b6f1c68e85a96bcdd01028bdec2d35", 460594, 300),
 
diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp
index af44beaa32..2e74aaddd9 100644
--- a/engines/director/frame.cpp
+++ b/engines/director/frame.cpp
@@ -146,7 +146,7 @@ void Frame::readChannels(Common::ReadStreamEndian *stream, uint16 version) {
 		_transType = static_cast<TransitionType>(stream->readByte());
 		_sound1 = CastMemberID(stream->readUint16(), 0);
 
-		if (_vm->getPlatform() == Common::kPlatformMacintosh) {
+		if (_vm->getPlatform() == Common::kPlatformMacintosh || _vm->getPlatform() == Common::kPlatformMacintoshII) {
 			_sound2 = CastMemberID(stream->readUint16(), 0);
 			_soundType2 = stream->readByte();
 		} else {
@@ -157,7 +157,7 @@ void Frame::readChannels(Common::ReadStreamEndian *stream, uint16 version) {
 		_skipFrameFlag = stream->readByte();
 		_blend = stream->readByte();
 
-		if (_vm->getPlatform() != Common::kPlatformMacintosh) {
+		if (_vm->getPlatform() == Common::kPlatformWindows) {
 			_sound2 = CastMemberID(stream->readUint16(), 0);
 			_soundType2 = stream->readByte();
 		}
@@ -190,7 +190,7 @@ void Frame::readChannels(Common::ReadStreamEndian *stream, uint16 version) {
 
 		debugC(8, kDebugLoading, "Frame::readChannels(): %d %d %d %d %d %d %d %d %d %d %d", _actionId.member, _soundType1, _transDuration, _transChunkSize, _tempo, _transType, _sound1.member, _skipFrameFlag, _blend, _sound2.member, _soundType2);
 
-		if (_vm->getPlatform() == Common::kPlatformMacintosh)
+		if (_vm->getPlatform() == Common::kPlatformMacintosh || _vm->getPlatform() == Common::kPlatformMacintoshII)
 			stream->read(unk, 3);
 	} else if (version >= kFileVer400 && version < kFileVer500) {
 		// Sound/Tempo/Transition
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index 63ae9b2f36..9edbdc5a37 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -152,7 +152,7 @@ void Lingo::cleanupXLibs() {
 
 Common::String Lingo::normalizeXLibName(Common::String name) {
 	Common::Platform platform = _vm->getPlatform();
-	if (platform == Common::kPlatformMacintosh) {
+	if (platform == Common::kPlatformMacintosh || platform == Common::kPlatformMacintoshII) {
 		int pos = name.findLastOf(':');
 		name = name.substr(pos + 1, name.size());
 		if (name.hasSuffixIgnoreCase(".xlib"))
diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp
index 4b44d6d0f1..86ebf44009 100644
--- a/engines/director/resource.cpp
+++ b/engines/director/resource.cpp
@@ -38,7 +38,7 @@
 namespace Director {
 
 Archive *DirectorEngine::createArchive() {
-	if (getPlatform() == Common::kPlatformMacintosh) {
+	if (getPlatform() != Common::kPlatformWindows) {
 		if (getVersion() < 400)
 			return new MacArchive();
 		else
@@ -412,7 +412,7 @@ void Window::loadMac(const Common::String movie) {
 }
 
 void Window::loadStartMovieXLibs() {
-	if (strcmp(g_director->getGameId(), "warlock") == 0 && g_director->getPlatform() == Common::kPlatformMacintosh) {
+	if (strcmp(g_director->getGameId(), "warlock") == 0 && g_director->getPlatform() != Common::kPlatformWindows) {
 		g_lingo->openXLib("FPlayXObj", kXObj);
 	}
 	g_lingo->openXLib("SerialPort", kXObj);




More information about the Scummvm-git-logs mailing list