[Scummvm-git-logs] scummvm master -> 6a0fcad62f4b90517c36676178ef92c16273c36e
neuromancer
noreply at scummvm.org
Sat Dec 24 18:55:01 UTC 2022
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
8ddc39fe73 FREESCAPE: fixed two crashes in the ZX renderer
a410e1d9b8 FREESCAPE: avoid invalid rectangle when drawing shield/energy bar in driller zx release
6a0fcad62f FREESCAPE: added detection of another driller zx release
Commit: 8ddc39fe737fbd5ce43158b96808bef16daf9d33
https://github.com/scummvm/scummvm/commit/8ddc39fe737fbd5ce43158b96808bef16daf9d33
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-12-24T15:53:53-03:00
Commit Message:
FREESCAPE: fixed two crashes in the ZX renderer
Changed paths:
engines/freescape/games/palettes.cpp
engines/freescape/gfx_opengl.cpp
diff --git a/engines/freescape/games/palettes.cpp b/engines/freescape/games/palettes.cpp
index 080c10afc06..822c44a3b53 100644
--- a/engines/freescape/games/palettes.cpp
+++ b/engines/freescape/games/palettes.cpp
@@ -41,7 +41,7 @@ byte dos_EGA_palette[16][3] = {
{0xff, 0xff, 0x55},
{0xff, 0xff, 0xff}};
-byte kDrillerZXPalette[8][3] = {
+byte kDrillerZXPalette[9][3] = {
{0x00, 0x00, 0x00},
{0x00, 0x00, 0xee},
{0xee, 0x00, 0x00},
@@ -50,6 +50,7 @@ byte kDrillerZXPalette[8][3] = {
{0x00, 0xee, 0xee},
{0xee, 0xee, 0x00},
{0xee, 0xee, 0xee},
+ {0x00, 0x00, 0x00},
};
void FreescapeEngine::loadColorPalette() {
diff --git a/engines/freescape/gfx_opengl.cpp b/engines/freescape/gfx_opengl.cpp
index d638449a9a6..63b3444ca95 100644
--- a/engines/freescape/gfx_opengl.cpp
+++ b/engines/freescape/gfx_opengl.cpp
@@ -192,7 +192,7 @@ void OpenGLRenderer::renderPlayerShoot(byte color, const Common::Point position,
glOrtho(0, _screenW, _screenH, 0, 0, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
- if (_renderMode == Common::kRenderCGA) {
+ if (_renderMode == Common::kRenderCGA || _renderMode == Common::kRenderZX) {
r = g = b = 255;
} else {
uint32 pixel = 0x0;
Commit: a410e1d9b82ecd0963a7296556cae70d1fe9de80
https://github.com/scummvm/scummvm/commit/a410e1d9b82ecd0963a7296556cae70d1fe9de80
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-12-24T15:53:53-03:00
Commit Message:
FREESCAPE: avoid invalid rectangle when drawing shield/energy bar in driller zx release
Changed paths:
engines/freescape/games/driller.cpp
diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index 25788e9616a..ad44f0af8de 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -677,17 +677,17 @@ void DrillerEngine::drawZXUI(Graphics::Surface *surface) {
int shield = _gameStateVars[k8bitVariableShield];
if (energy >= 0) {
- Common::Rect backBar(43, 188, 105 - energy, 194);
+ Common::Rect backBar(45, 188, 109 - energy, 194);
surface->fillRect(backBar, back);
- Common::Rect energyBar(105 - energy, 188, 106, 194);
+ Common::Rect energyBar(108 - energy, 188, 108, 194);
surface->fillRect(energyBar, front);
}
if (shield >= 0) {
- Common::Rect backBar(43, 181, 106 - shield, 187);
+ Common::Rect backBar(45, 181, 109 - shield, 187);
surface->fillRect(backBar, back);
- Common::Rect shieldBar(106 - shield, 181, 106, 187);
+ Common::Rect shieldBar(108 - shield, 181, 108, 187);
surface->fillRect(shieldBar, front);
}
}
Commit: 6a0fcad62f4b90517c36676178ef92c16273c36e
https://github.com/scummvm/scummvm/commit/6a0fcad62f4b90517c36676178ef92c16273c36e
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-12-24T15:53:53-03:00
Commit Message:
FREESCAPE: added detection of another driller zx release
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 ac44744f815..17f0b1598e9 100644
--- a/engines/freescape/detection.cpp
+++ b/engines/freescape/detection.cpp
@@ -39,12 +39,24 @@ static const ADGameDescription gameDescriptions[] = {
"driller",
"",
{
- {"DRILLER.ZXSPECTRUM.DATA", 0, "396c1789a7da3db5058d18eb8d2d35a3", 37590},
+ {"DRILLER.ZX.EXTRACTED", 0, "396c1789a7da3db5058d18eb8d2d35a3", 37590},
AD_LISTEND
},
Common::EN_ANY,
Common::kPlatformZX,
- ADGF_TESTING,
+ ADGF_ZX_RETAIL | ADGF_TESTING,
+ GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
+ },
+ {
+ "driller",
+ "",
+ {
+ {"DRILLER.ZX.EXTRACTED", 0, "2b996ab877f45414f8e2ae4c862746f3", 35214},
+ AD_LISTEND
+ },
+ Common::EN_ANY,
+ Common::kPlatformZX,
+ ADGF_ZX_MUSICAL | ADGF_TESTING,
GUIO2(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING)
},
{
diff --git a/engines/freescape/freescape.h b/engines/freescape/freescape.h
index 2becd748687..4ba4005f393 100644
--- a/engines/freescape/freescape.h
+++ b/engines/freescape/freescape.h
@@ -343,6 +343,8 @@ public:
enum DrillerReleaseFlags {
ADGF_AMIGA_RETAIL = (1 << 0),
ADGF_AMIGA_BUDGET = (1 << 1),
+ ADGF_ZX_RETAIL = (1 << 2),
+ ADGF_ZX_MUSICAL = (1 << 3),
};
class DrillerEngine : public FreescapeEngine {
diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index ad44f0af8de..9db0fa13958 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -410,15 +410,28 @@ void DrillerEngine::loadAssetsFullGame() {
loadSoundsFx(&file, 0x30da6, 25);
} else if (isSpectrum()) {
loadBundledImages();
- file.open("driller.zxspectrum.data");
+ file.open("driller.zx.extracted");
if (!file.isOpen())
- error("Failed to open driller.zxspectrum.data");
+ error("Failed to open driller.zx.extracted");
loadMessagesFixedSize(&file, 0x20e4, 14, 20);
- loadFonts(&file, 0x62ca);
- //loadGlobalObjects(&file, 0x3b42);
- load8bitBinary(&file, 0x642c, 4);
+
+ if (_variant & ADGF_ZX_RETAIL)
+ loadFonts(&file, 0x62ca);
+ if (_variant & ADGF_ZX_MUSICAL)
+ loadFonts(&file, 0x5aa8);
+
+ //loadGlobalObjects(&file, 0x642c);
+ //loadGlobalObjects(&file, 0x5c0a);
+
+ if (_variant & ADGF_ZX_RETAIL)
+ load8bitBinary(&file, 0x642c, 4);
+ else if (_variant & ADGF_ZX_MUSICAL)
+ load8bitBinary(&file, 0x5c0a, 4);
+ else
+ error("Unknown ZX spectrum variant");
+
} else if (_renderMode == Common::kRenderEGA) {
loadBundledImages();
file.open("DRILLE.EXE");
More information about the Scummvm-git-logs
mailing list