[Scummvm-git-logs] scummvm master -> 1f21d0ac5fefa0005f102a7936a80b316c3f4405
neuromancer
noreply at scummvm.org
Tue Oct 7 02:39:02 UTC 2025
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
4bfcf219a6 FREESCAPE: completed support for castle master for zx (disc)
6c8ba30774 FREESCAPE: castle master for zx switched to testing in detection tables
d16ede63eb FREESCAPE: fixed incorrect message in castle master for zx (spanish)
158fd7a755 FREESCAPE: only render thunder outside in castle
1f21d0ac5f FREESCAPE: fix bug breaking bug in castle (zx)
Commit: 4bfcf219a656c0d28474f2b8722d468531b2ec21
https://github.com/scummvm/scummvm/commit/4bfcf219a656c0d28474f2b8722d468531b2ec21
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-10-06T21:56:32-03:00
Commit Message:
FREESCAPE: completed support for castle master for zx (disc)
Changed paths:
engines/freescape/detection.cpp
engines/freescape/games/castle/zx.cpp
diff --git a/engines/freescape/detection.cpp b/engines/freescape/detection.cpp
index 475a929c0a5..59376d9b954 100644
--- a/engines/freescape/detection.cpp
+++ b/engines/freescape/detection.cpp
@@ -801,7 +801,7 @@ static const ADGameDescription gameDescriptions[] = {
AD_ENTRY1s("castlemaster.zx.data", "e2ed83c30cd0ed7119e349d0f677ae91", 36096),
Common::EN_ANY,
Common::kPlatformZX,
- ADGF_UNSTABLE,
+ ADGF_UNSTABLE | GF_ZX_RETAIL,
GUIO3(GUIO_NOMIDI, GAMEOPTION_TRAVEL_ROCK, GUIO_RENDERZX)
},
// Disc release
diff --git a/engines/freescape/games/castle/zx.cpp b/engines/freescape/games/castle/zx.cpp
index d4005ff79ef..f4cfe5ab533 100644
--- a/engines/freescape/games/castle/zx.cpp
+++ b/engines/freescape/games/castle/zx.cpp
@@ -113,12 +113,11 @@ void CastleEngine::loadAssetsZXFullGame() {
loadMessagesVariableSize(&file, 0x4bd, 71);
switch (_language) {
case Common::ES_ESP:
- loadRiddles(&file, 0x1470 - 4 - 2 - 9 * 2, 9);
- loadMessagesVariableSize(&file, 0xf3d, 71);
- load8bitBinary(&file, 0x6aab - 2, 16);
+ loadRiddles(&file, 0x1458, 9);
+ load8bitBinary(&file, 0x6aa9, 16);
loadSpeakerFxZX(&file, 0xca0, 0xcdc);
- file.seek(0x1218 + 16);
+ file.seek(0x1228);
for (int i = 0; i < 90; i++) {
Graphics::ManagedSurface *surface = new Graphics::ManagedSurface();
surface->create(8, 8, Graphics::PixelFormat::createFormatCLUT8());
@@ -130,11 +129,19 @@ void CastleEngine::loadAssetsZXFullGame() {
break;
case Common::EN_ANY:
- loadRiddles(&file, 0x145c - 2 - 9 * 2, 9);
- load8bitBinary(&file, 0x6a3b, 16);
- loadSpeakerFxZX(&file, 0xc91, 0xccd);
-
- file.seek(0x1219);
+ if (_variant & GF_ZX_RETAIL) {
+ loadRiddles(&file, 0x1448, 9);
+ load8bitBinary(&file, 0x6a3b, 16);
+ loadSpeakerFxZX(&file, 0xc91, 0xccd);
+ file.seek(0x1219);
+ } else if (_variant & GF_ZX_DISC) {
+ loadRiddles(&file, 0x1457, 9);
+ load8bitBinary(&file, 0x6a9b, 16);
+ loadSpeakerFxZX(&file, 0xca0, 0xcdc);
+ file.seek(0x1228);
+ } else {
+ error("Unknown Castle Master ZX variant");
+ }
for (int i = 0; i < 90; i++) {
Graphics::ManagedSurface *surface = new Graphics::ManagedSurface();
surface->create(8, 8, Graphics::PixelFormat::createFormatCLUT8());
@@ -157,10 +164,10 @@ void CastleEngine::loadAssetsZXFullGame() {
_gfx->readFromPalette(7, r, g, b);
uint32 white = _gfx->_texturePixelFormat.ARGBToColor(0xFF, r, g, b);
- _keysBorderFrames.push_back(loadFrameWithHeader(&file, _language == Common::ES_ESP ? 0xe06 : 0xdf7, red, white));
+ _keysBorderFrames.push_back(loadFrameWithHeader(&file, _variant & GF_ZX_DISC ? 0xe06 : 0xdf7, red, white));
uint32 green = _gfx->_texturePixelFormat.ARGBToColor(0xFF, 0, 0xff, 0);
- _spiritsMeterIndicatorFrame = loadFrameWithHeader(&file, _language == Common::ES_ESP ? 0xe5e : 0xe4f, green, white);
+ _spiritsMeterIndicatorFrame = loadFrameWithHeader(&file, _variant & GF_ZX_DISC ? 0xe5e : 0xe4f, green, white);
_gfx->readFromPalette(4, r, g, b);
uint32 front = _gfx->_texturePixelFormat.ARGBToColor(0xFF, r, g, b);
@@ -171,25 +178,17 @@ void CastleEngine::loadAssetsZXFullGame() {
background->create(backgroundWidth * 8, backgroundHeight, _gfx->_texturePixelFormat);
background->fillRect(Common::Rect(0, 0, backgroundWidth * 8, backgroundHeight), 0);
- file.seek(_language == Common::ES_ESP ? 0xfd3 : 0xfc4);
+ file.seek(_variant & GF_ZX_DISC ? 0xfd3 : 0xfc4);
_background = loadFrame(&file, background, backgroundWidth, backgroundHeight, front);
_gfx->readFromPalette(6, r, g, b);
uint32 yellow = _gfx->_texturePixelFormat.ARGBToColor(0xFF, r, g, b);
uint32 black = _gfx->_texturePixelFormat.ARGBToColor(0xFF, 0, 0, 0);
- _strenghtBackgroundFrame = loadFrameWithHeader(&file, _language == Common::ES_ESP ? 0xee6 : 0xed7, yellow, black);
- _strenghtBarFrame = loadFrameWithHeader(&file, _language == Common::ES_ESP ? 0xf72 : 0xf63, yellow, black);
-
- //Graphics::ManagedSurface *bar = new Graphics::ManagedSurface();
- //bar->create(_strenghtBarFrame->w, _strenghtBarFrame->h, _gfx->_texturePixelFormat);
- //_strenghtBarFrame->copyRectToSurface(*bar, 2, 0, Common::Rect(2, 0, _strenghtBarFrame->w - 2, _strenghtBarFrame->h));
- //_strenghtBarFrame->free();
- //delete _strenghtBarFrame;
- //_strenghtBarFrame = bar;
-
- _strenghtWeightsFrames = loadFramesWithHeader(&file, _language == Common::ES_ESP ? 0xf92 : 0xf83, 4, yellow, black);
+ _strenghtBackgroundFrame = loadFrameWithHeader(&file, _variant & GF_ZX_DISC ? 0xee6 : 0xed7, yellow, black);
+ _strenghtBarFrame = loadFrameWithHeader(&file, _variant & GF_ZX_DISC ? 0xf72 : 0xf63, yellow, black);
+ _strenghtWeightsFrames = loadFramesWithHeader(&file, _variant & GF_ZX_DISC ? 0xf92 : 0xf83, 4, yellow, black);
- _flagFrames = loadFramesWithHeader(&file, (_language == Common::ES_ESP ? 0x10e4 + 15 : 0x10e4), 4, green, black);
+ _flagFrames = loadFramesWithHeader(&file, (_variant & GF_ZX_DISC ? 0x10e4 + 15 : 0x10e4), 4, green, black);
file.skip(24);
int thunderWidth = 4;
Commit: 6c8ba30774b5d72501e38dc3d089d5e3cfedd70f
https://github.com/scummvm/scummvm/commit/6c8ba30774b5d72501e38dc3d089d5e3cfedd70f
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-10-06T22:01:45-03:00
Commit Message:
FREESCAPE: castle master for zx switched to testing in detection tables
Changed paths:
engines/freescape/detection.cpp
diff --git a/engines/freescape/detection.cpp b/engines/freescape/detection.cpp
index 59376d9b954..df1fb850cb8 100644
--- a/engines/freescape/detection.cpp
+++ b/engines/freescape/detection.cpp
@@ -801,7 +801,7 @@ static const ADGameDescription gameDescriptions[] = {
AD_ENTRY1s("castlemaster.zx.data", "e2ed83c30cd0ed7119e349d0f677ae91", 36096),
Common::EN_ANY,
Common::kPlatformZX,
- ADGF_UNSTABLE | GF_ZX_RETAIL,
+ ADGF_TESTING | GF_ZX_RETAIL,
GUIO3(GUIO_NOMIDI, GAMEOPTION_TRAVEL_ROCK, GUIO_RENDERZX)
},
// Disc release
@@ -811,7 +811,7 @@ static const ADGameDescription gameDescriptions[] = {
AD_ENTRY1s("castlemaster.zx.data", "98513a4438ba93971d793a0fbc875b70", 36309),
Common::EN_ANY,
Common::kPlatformZX,
- ADGF_UNSTABLE | GF_ZX_DISC,
+ ADGF_TESTING | GF_ZX_DISC,
GUIO3(GUIO_NOMIDI, GAMEOPTION_TRAVEL_ROCK, GUIO_RENDERZX)
},
// Spanish release was disc-only?
@@ -821,7 +821,7 @@ static const ADGameDescription gameDescriptions[] = {
AD_ENTRY1s("castlemaster.zx.data", "3e6f6b283fa00a3073edce2392950601", 36309),
Common::ES_ESP,
Common::kPlatformZX,
- ADGF_UNSTABLE | GF_ZX_DISC,
+ ADGF_TESTING | GF_ZX_DISC,
GUIO3(GUIO_NOMIDI, GAMEOPTION_TRAVEL_ROCK, GUIO_RENDERZX)
},
{
@@ -835,7 +835,7 @@ static const ADGameDescription gameDescriptions[] = {
},
Common::EN_ANY,
Common::kPlatformDOS,
- ADGF_UNSTABLE | ADGF_DEMO,
+ ADGF_TESTING | ADGF_DEMO,
GUIO4(GUIO_NOMIDI, GAMEOPTION_TRAVEL_ROCK, GUIO_RENDEREGA, GUIO_RENDERCGA)
},
{
@@ -908,7 +908,7 @@ static const ADGameDescription gameDescriptions[] = {
},
Common::UNK_LANG, // Multi-language
Common::kPlatformDOS,
- ADGF_UNSTABLE,
+ ADGF_TESTING,
GUIO4(GUIO_NOMIDI, GAMEOPTION_TRAVEL_ROCK, GUIO_RENDEREGA, GUIO_RENDERCGA)
},
{
@@ -924,7 +924,7 @@ static const ADGameDescription gameDescriptions[] = {
},
Common::UNK_LANG, // Multi-language
Common::kPlatformDOS,
- ADGF_UNSTABLE,
+ ADGF_TESTING,
GUIO4(GUIO_NOMIDI, GAMEOPTION_TRAVEL_ROCK, GUIO_RENDEREGA, GUIO_RENDERCGA)
},
{
Commit: d16ede63ebd4aa4fad47e644e3b5f95457c17b7b
https://github.com/scummvm/scummvm/commit/d16ede63ebd4aa4fad47e644e3b5f95457c17b7b
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-10-06T22:04:27-03:00
Commit Message:
FREESCAPE: fixed incorrect message in castle master for zx (spanish)
Changed paths:
engines/freescape/games/castle/castle.cpp
diff --git a/engines/freescape/games/castle/castle.cpp b/engines/freescape/games/castle/castle.cpp
index 109bbba3c9c..3658446bf47 100644
--- a/engines/freescape/games/castle/castle.cpp
+++ b/engines/freescape/games/castle/castle.cpp
@@ -828,7 +828,7 @@ void CastleEngine::drawFullscreenGameOverAndWait() {
if (_language == Common::EN_ANY)
scoreString = "SCORE XXXXXXX";
else if (_language == Common::ES_ESP)
- scoreString = "PUNTAJE XXXXXXX";
+ scoreString = "PUNTOS XXXXXXX";
else
error("Language not supported");
}
Commit: 158fd7a7557952cb39975e7d1194b6832afefa2b
https://github.com/scummvm/scummvm/commit/158fd7a7557952cb39975e7d1194b6832afefa2b
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-10-06T22:20:21-03:00
Commit Message:
FREESCAPE: only render thunder outside in castle
Changed paths:
engines/freescape/games/castle/castle.cpp
diff --git a/engines/freescape/games/castle/castle.cpp b/engines/freescape/games/castle/castle.cpp
index 3658446bf47..b54f3c2579c 100644
--- a/engines/freescape/games/castle/castle.cpp
+++ b/engines/freescape/games/castle/castle.cpp
@@ -1681,15 +1681,17 @@ void CastleEngine::drawBackground() {
clearBackground();
_gfx->drawBackground(_currentArea->_skyColor);
- if (_background) {
- if (!_skyTexture)
- _skyTexture = _gfx->createTexture(_background->surfacePtr(), true);
- _gfx->drawSkybox(_skyTexture, _position);
- if (_thunderTextures.empty()) {
- _thunderTextures.push_back(_gfx->createTexture(_thunderFrames[0]->surfacePtr(), true));
- _thunderTextures.push_back(_gfx->createTexture(_thunderFrames[1]->surfacePtr(), true));
+ if (_currentArea->isOutside()) {
+ if (_background) {
+ if (!_skyTexture)
+ _skyTexture = _gfx->createTexture(_background->surfacePtr(), true);
+ _gfx->drawSkybox(_skyTexture, _position);
+ if (_thunderTextures.empty()) {
+ _thunderTextures.push_back(_gfx->createTexture(_thunderFrames[0]->surfacePtr(), true));
+ _thunderTextures.push_back(_gfx->createTexture(_thunderFrames[1]->surfacePtr(), true));
+ }
+ updateThunder();
}
- updateThunder();
}
}
Commit: 1f21d0ac5fefa0005f102a7936a80b316c3f4405
https://github.com/scummvm/scummvm/commit/1f21d0ac5fefa0005f102a7936a80b316c3f4405
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-10-06T23:38:38-03:00
Commit Message:
FREESCAPE: fix bug breaking bug in castle (zx)
Changed paths:
engines/freescape/games/castle/castle.cpp
diff --git a/engines/freescape/games/castle/castle.cpp b/engines/freescape/games/castle/castle.cpp
index b54f3c2579c..c6bf89d098d 100644
--- a/engines/freescape/games/castle/castle.cpp
+++ b/engines/freescape/games/castle/castle.cpp
@@ -351,7 +351,6 @@ void CastleEngine::gotoArea(uint16 areaID, int entranceID) {
_gfx->_keyColor = 255;
_lastPosition = _position;
- _gameStateVars[0x1f] = 0;
if (areaID == _startArea && entranceID == _startEntrance) {
if (getGameBit(31))
@@ -1391,8 +1390,6 @@ void CastleEngine::updateTimeVariables() {
}
if (_lastTenSeconds != seconds / 10) {
- //_gameStateVars[0x1e] += 1;
- //_gameStateVars[0x1f] += 1;
_lastTenSeconds = seconds / 10;
executeLocalGlobalConditions(false, false, true);
}
More information about the Scummvm-git-logs
mailing list