[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