[Scummvm-git-logs] scummvm master -> 41aaf76571a23d8af3aee8079120fcf10d9fe3e3

neuromancer noreply at scummvm.org
Sat Jan 7 00:02:27 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:
8a4ed2d06b FREESCAPE: improved parsing of Diller CPC and added debugging code
41aaf76571 FREESCAPE: renamed DrillerReleaseFlags to follow the code conventions


Commit: 8a4ed2d06b3f587218edb56e4da5d0e5d3de021a
    https://github.com/scummvm/scummvm/commit/8a4ed2d06b3f587218edb56e4da5d0e5d3de021a
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2023-01-06T20:57:14-03:00

Commit Message:
FREESCAPE: improved parsing of Diller CPC and added debugging code

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


diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index a54940d9b5a..46049b0feec 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -398,6 +398,19 @@ Common::SeekableReadStream *parseEDSK(const Common::String filename) {
 		j = j + osize;
 		ntracks++;
 	}
+
+	if (0) { // Useful to debug where exactly each object is located in memory once it is parsed
+		i = 0;
+		while(i < j) {
+			debugN("%0.5x: ", i);
+			for (int k = 0; k <= 16; k++) {
+				debugN("%0.2x ", memBuffer[i]);
+				i++;
+			}
+			debugN("\n");
+		}
+	}
+
 	free(edskBuffer);
 	return (new Common::MemoryReadStream(memBuffer, size));
 }
@@ -512,10 +525,12 @@ void DrillerEngine::loadAssetsFullGame() {
 			loadMessagesFixedSize(stream, 0xb0f7, 14, 20);
 			loadFonts(stream, 0xeb14);
 			load8bitBinary(stream, 0xec76, 4);
-			//loadGlobalObjects(&file, 0x1c93);
+			loadGlobalObjects(stream, 0xacb2);
 		} else if (_variant & ADGF_CPC_ZAFIRO) {
+			loadMessagesFixedSize(stream, 0x9ef7, 14, 20);
+			loadFonts(stream, 0xd914);
 			load8bitBinary(stream, 0xda76, 4);
-			// TODO
+			loadGlobalObjects(stream, 0x9ab2);
 		} else
 			error("Unknown Amstrad CPC variant");
 	} else if (isC64()) {


Commit: 41aaf76571a23d8af3aee8079120fcf10d9fe3e3
    https://github.com/scummvm/scummvm/commit/41aaf76571a23d8af3aee8079120fcf10d9fe3e3
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2023-01-06T20:57:14-03:00

Commit Message:
FREESCAPE: renamed DrillerReleaseFlags to follow the code conventions

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 8f9b7599a91..35c330b05f8 100644
--- a/engines/freescape/detection.cpp
+++ b/engines/freescape/detection.cpp
@@ -44,7 +44,7 @@ static const ADGameDescription gameDescriptions[] = {
 		},
 		Common::EN_ANY,
 		Common::kPlatformZX,
-		ADGF_ZX_RETAIL | ADGF_TESTING,
+		GF_ZX_RETAIL | ADGF_TESTING,
 		GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
 	},
 	{
@@ -56,7 +56,7 @@ static const ADGameDescription gameDescriptions[] = {
 		},
 		Common::EN_ANY,
 		Common::kPlatformZX,
-		ADGF_ZX_MUSICAL | ADGF_TESTING,
+		GF_ZX_BUDGET | ADGF_TESTING,
 		GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
 	},
 	{
@@ -68,7 +68,7 @@ static const ADGameDescription gameDescriptions[] = {
 		},
 		Common::EN_ANY,
 		Common::kPlatformAmstradCPC,
-		ADGF_CPC_RETAIL | ADGF_TESTING,
+		GF_CPC_RETAIL | ADGF_TESTING,
 		GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
 	},
 	{
@@ -80,7 +80,7 @@ static const ADGameDescription gameDescriptions[] = {
 		},
 		Common::EN_ANY,
 		Common::kPlatformAmstradCPC,
-		ADGF_CPC_ZAFIRO | ADGF_TESTING,
+		GF_CPC_BUDGET | ADGF_TESTING,
 		GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
 	},
 	{
@@ -157,7 +157,7 @@ static const ADGameDescription gameDescriptions[] = {
 		},
 		Common::EN_ANY,
 		Common::kPlatformAmiga,
-		ADGF_AMIGA_RETAIL | ADGF_TESTING,
+		GF_AMIGA_RETAIL | ADGF_TESTING,
 		GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
 	},
 	{
@@ -170,7 +170,7 @@ static const ADGameDescription gameDescriptions[] = {
 		},
 		Common::EN_ANY,
 		Common::kPlatformAmiga,
-		ADGF_AMIGA_BUDGET | ADGF_TESTING,
+		GF_AMIGA_BUDGET | ADGF_TESTING,
 		GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
 	},
 	{
diff --git a/engines/freescape/freescape.h b/engines/freescape/freescape.h
index 12120fc3e36..3c9fbe997c6 100644
--- a/engines/freescape/freescape.h
+++ b/engines/freescape/freescape.h
@@ -344,12 +344,12 @@ public:
 };
 
 enum DrillerReleaseFlags {
-		ADGF_AMIGA_RETAIL = (1 << 0),
-		ADGF_AMIGA_BUDGET = (1 << 1),
-		ADGF_ZX_RETAIL = (1 << 2),
-		ADGF_ZX_MUSICAL = (1 << 3),
-		ADGF_CPC_RETAIL = (1 << 4),
-		ADGF_CPC_ZAFIRO = (1 << 5),
+		GF_AMIGA_RETAIL = (1 << 0),
+		GF_AMIGA_BUDGET = (1 << 1),
+		GF_ZX_RETAIL = (1 << 2),
+		GF_ZX_BUDGET = (1 << 3),
+		GF_CPC_RETAIL = (1 << 4),
+		GF_CPC_BUDGET = (1 << 5),
 };
 
 class DrillerEngine : public FreescapeEngine {
diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index 46049b0feec..37feeff1249 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -419,7 +419,7 @@ Common::SeekableReadStream *parseEDSK(const Common::String filename) {
 void DrillerEngine::loadAssetsFullGame() {
 	Common::File file;
 	if (isAmiga()) {
-		if (_variant & ADGF_AMIGA_RETAIL) {
+		if (_variant & GF_AMIGA_RETAIL) {
 			file.open("driller");
 
 			if (!file.isOpen())
@@ -440,7 +440,7 @@ void DrillerEngine::loadAssetsFullGame() {
 			load8bitBinary(&file, 0x29c16, 16);
 			loadPalettes(&file, 0x297d4);
 			loadSoundsFx(&file, 0x30e80, 25);
-		} else if (_variant & ADGF_AMIGA_BUDGET) {
+		} else if (_variant & GF_AMIGA_BUDGET) {
 			file.open("lift.neo");
 			if (!file.isOpen())
 				error("Failed to open 'lift.neo' file");
@@ -504,16 +504,16 @@ void DrillerEngine::loadAssetsFullGame() {
 
 		loadMessagesFixedSize(&file, 0x20e4, 14, 20);
 
-		if (_variant & ADGF_ZX_RETAIL)
+		if (_variant & GF_ZX_RETAIL)
 			loadFonts(&file, 0x62ca);
-		if (_variant & ADGF_ZX_MUSICAL)
+		if (_variant & GF_ZX_BUDGET)
 			loadFonts(&file, 0x5aa8);
 
 		loadGlobalObjects(&file, 0x1c93);
 
-		if (_variant & ADGF_ZX_RETAIL)
+		if (_variant & GF_ZX_RETAIL)
 			load8bitBinary(&file, 0x642c, 4);
-		else if (_variant & ADGF_ZX_MUSICAL)
+		else if (_variant & GF_ZX_BUDGET)
 			load8bitBinary(&file, 0x5c0a, 4);
 		else
 			error("Unknown ZX spectrum variant");
@@ -521,12 +521,12 @@ void DrillerEngine::loadAssetsFullGame() {
 		loadBundledImages();
 		Common::SeekableReadStream *stream = parseEDSK("driller.cpc.edsk");
 
-		if (_variant & ADGF_CPC_RETAIL) {
+		if (_variant & GF_CPC_RETAIL) {
 			loadMessagesFixedSize(stream, 0xb0f7, 14, 20);
 			loadFonts(stream, 0xeb14);
 			load8bitBinary(stream, 0xec76, 4);
 			loadGlobalObjects(stream, 0xacb2);
-		} else if (_variant & ADGF_CPC_ZAFIRO) {
+		} else if (_variant & GF_CPC_BUDGET) {
 			loadMessagesFixedSize(stream, 0x9ef7, 14, 20);
 			loadFonts(stream, 0xd914);
 			load8bitBinary(stream, 0xda76, 4);




More information about the Scummvm-git-logs mailing list