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

neuromancer noreply at scummvm.org
Sat Jan 7 14:40:37 UTC 2023


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:
7fc56ec926 FREESCAPE: added missing color in table for Driller CPC
aedcd3290a FREESCAPE: added more detection entries for Driller CPC


Commit: 7fc56ec9267c4845ab570b0197812c0737ced1c5
    https://github.com/scummvm/scummvm/commit/7fc56ec9267c4845ab570b0197812c0737ced1c5
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2023-01-07T11:40:20-03:00

Commit Message:
FREESCAPE: added missing color in table for Driller CPC

Changed paths:
    engines/freescape/gfx.cpp


diff --git a/engines/freescape/gfx.cpp b/engines/freescape/gfx.cpp
index 87514d6f3cc..3fab0026779 100644
--- a/engines/freescape/gfx.cpp
+++ b/engines/freescape/gfx.cpp
@@ -219,6 +219,9 @@ void Renderer::extractCPCIndexes(uint8 cm1, uint8 cm2, uint8 &i1, uint8 &i2) {
 	} else if (cm1 == 0xfb && cm2 == 0xfe) { // TODO
 		i1 = 0;
 		i2 = 0;
+	} else if (cm1 == 0x40 && cm2 == 0x20) { // This one has a special stapple pattern
+		i1 = 1;
+		i2 = 0;
 	} else
 		error("%x %x", cm1, cm2);
 }


Commit: aedcd3290afa9d5b4aeda34740fe338aed07f983
    https://github.com/scummvm/scummvm/commit/aedcd3290afa9d5b4aeda34740fe338aed07f983
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2023-01-07T11:40:20-03:00

Commit Message:
FREESCAPE: added more detection entries for Driller CPC

Changed paths:
    engines/freescape/detection.cpp
    engines/freescape/freescape.h
    engines/freescape/games/driller.cpp


diff --git a/engines/freescape/detection.cpp b/engines/freescape/detection.cpp
index 35c330b05f8..c55eb73bf78 100644
--- a/engines/freescape/detection.cpp
+++ b/engines/freescape/detection.cpp
@@ -71,6 +71,18 @@ static const ADGameDescription gameDescriptions[] = {
 		GF_CPC_RETAIL | ADGF_TESTING,
 		GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
 	},
+	{
+		"driller",
+		"",
+		{
+			{"DRILLER.CPC.EDSK", 0, "ccca1fb22252f43403f75a546ebb5a57", 194816},
+			AD_LISTEND
+		},
+		Common::EN_ANY,
+		Common::kPlatformAmstradCPC,
+		GF_CPC_RETAIL2 | ADGF_TESTING,
+		GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
+	},
 	{
 		"driller",
 		"",
@@ -83,6 +95,18 @@ static const ADGameDescription gameDescriptions[] = {
 		GF_CPC_BUDGET | ADGF_TESTING,
 		GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
 	},
+	{
+		"driller",
+		"VirtualWorlds-A",
+		{
+			{"VIRTUALWORLDS.A.CPC.EDSK", 0, "421d369636984fc209a0969007daa35b", 195635},
+			AD_LISTEND
+		},
+		Common::EN_ANY,
+		Common::kPlatformAmstradCPC,
+		GF_CPC_VIRTUALWORLDS | ADGF_TESTING,
+		GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
+	},
 	{
 		"spacestationoblivion",
 		"",
diff --git a/engines/freescape/freescape.h b/engines/freescape/freescape.h
index 8236dc708bb..6985f1699c3 100644
--- a/engines/freescape/freescape.h
+++ b/engines/freescape/freescape.h
@@ -349,7 +349,9 @@ enum DrillerReleaseFlags {
 		GF_ZX_RETAIL = (1 << 2),
 		GF_ZX_BUDGET = (1 << 3),
 		GF_CPC_RETAIL = (1 << 4),
-		GF_CPC_BUDGET = (1 << 5),
+		GF_CPC_RETAIL2 = (1 << 5),
+		GF_CPC_BUDGET = (1 << 6),
+		GF_CPC_VIRTUALWORLDS = (1 << 7),
 };
 
 class DrillerEngine : public FreescapeEngine {
diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index 1a0390e4eb2..a76a437f9ce 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -519,13 +519,24 @@ void DrillerEngine::loadAssetsFullGame() {
 			error("Unknown ZX spectrum variant");
 	} else if (isCPC()) {
 		loadBundledImages();
-		Common::SeekableReadStream *stream = parseEDSK("driller.cpc.edsk");
+		Common::SeekableReadStream *stream;
+		if (_variant & GF_CPC_VIRTUALWORLDS)
+			stream = parseEDSK("virtualworlds.A.cpc.edsk");
+		else
+			stream = parseEDSK("driller.cpc.edsk");
 
 		if (_variant & GF_CPC_RETAIL) {
 			loadMessagesFixedSize(stream, 0xb0f7, 14, 20);
 			loadFonts(stream, 0xeb14);
 			load8bitBinary(stream, 0xec76, 4);
 			loadGlobalObjects(stream, 0xacb2);
+		} else if (_variant & GF_CPC_RETAIL2) {
+			loadMessagesFixedSize(stream, 0xb0f7 - 0x3fab, 14, 20);
+			loadFonts(stream, 0xeb14 - 0x3fab);
+			load8bitBinary(stream, 0xaccb, 4);
+			loadGlobalObjects(stream, 0xacb2 - 0x3fab);
+		} else if (_variant & _variant & GF_CPC_VIRTUALWORLDS) {
+			error("Not implemented yet");
 		} else if (_variant & GF_CPC_BUDGET) {
 			loadMessagesFixedSize(stream, 0x9ef7, 14, 20);
 			loadFonts(stream, 0xd914);




More information about the Scummvm-git-logs mailing list