[Scummvm-git-logs] scummvm master -> b2d43335817010b260fe81c39092ddfb8f6a91a5
neuromancer
noreply at scummvm.org
Sun Aug 27 16:21:26 UTC 2023
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
b2d4333581 FREESCAPE: added code for loading full game of dark in zx
Commit: b2d43335817010b260fe81c39092ddfb8f6a91a5
https://github.com/scummvm/scummvm/commit/b2d43335817010b260fe81c39092ddfb8f6a91a5
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2023-08-27T18:20:51+02:00
Commit Message:
FREESCAPE: added code for loading full game of dark in zx
Changed paths:
engines/freescape/detection.cpp
engines/freescape/freescape.h
engines/freescape/games/dark/zx.cpp
diff --git a/engines/freescape/detection.cpp b/engines/freescape/detection.cpp
index 704e13e0c33..9d02ee9fb40 100644
--- a/engines/freescape/detection.cpp
+++ b/engines/freescape/detection.cpp
@@ -314,7 +314,7 @@ static const ADGameDescription gameDescriptions[] = {
},
Common::EN_ANY,
Common::kPlatformAmiga,
- ADGF_UNSTABLE,
+ ADGF_TESTING,
GUIO1(GUIO_NOMIDI)
},
// Cinemaware release
@@ -357,7 +357,7 @@ static const ADGameDescription gameDescriptions[] = {
},
Common::EN_ANY,
Common::kPlatformDOS,
- ADGF_UNSTABLE,
+ ADGF_TESTING,
GUIO3(GUIO_NOMIDI, GUIO_RENDEREGA, GUIO_RENDERCGA)
},
{
@@ -372,7 +372,7 @@ static const ADGameDescription gameDescriptions[] = {
},
Common::EN_ANY,
Common::kPlatformDOS,
- ADGF_UNSTABLE,
+ ADGF_TESTING,
GUIO3(GUIO_NOMIDI, GUIO_RENDEREGA, GUIO_RENDERCGA)
},
{
@@ -387,7 +387,7 @@ static const ADGameDescription gameDescriptions[] = {
},
Common::EN_ANY,
Common::kPlatformDOS,
- ADGF_UNSTABLE,
+ ADGF_TESTING,
GUIO3(GUIO_NOMIDI, GUIO_RENDEREGA, GUIO_RENDERCGA)
},
{
@@ -402,7 +402,7 @@ static const ADGameDescription gameDescriptions[] = {
},
Common::EN_ANY,
Common::kPlatformDOS,
- ADGF_UNSTABLE | ADGF_DEMO,
+ ADGF_TESTING | ADGF_DEMO,
GUIO3(GUIO_NOMIDI, GUIO_RENDEREGA, GUIO_RENDERCGA)
},
{
@@ -414,7 +414,19 @@ static const ADGameDescription gameDescriptions[] = {
},
Common::EN_ANY,
Common::kPlatformZX,
- ADGF_UNSTABLE | ADGF_DEMO,
+ ADGF_TESTING | ADGF_DEMO,
+ GUIO1(GUIO_NOMIDI)
+ },
+ {
+ "darkside",
+ "",
+ {
+ {"DARKSIDE.ZX.DATA", 0, "e840db278f1256d1d3a1a34d49644aee", 34460},
+ AD_LISTEND
+ },
+ Common::EN_ANY,
+ Common::kPlatformZX,
+ ADGF_TESTING,
GUIO1(GUIO_NOMIDI)
},
{
diff --git a/engines/freescape/freescape.h b/engines/freescape/freescape.h
index 5b24a33a90e..a98cdddc672 100644
--- a/engines/freescape/freescape.h
+++ b/engines/freescape/freescape.h
@@ -570,6 +570,7 @@ public:
void loadAssetsAmigaFullGame() override;
void loadAssetsZXDemo() override;
+ void loadAssetsZXFullGame() override;
void loadMessagesVariableSize(Common::SeekableReadStream *file, int offset, int number) override;
int _lastTenSeconds;
diff --git a/engines/freescape/games/dark/zx.cpp b/engines/freescape/games/dark/zx.cpp
index 3a98897809f..682cc28d5e9 100644
--- a/engines/freescape/games/dark/zx.cpp
+++ b/engines/freescape/games/dark/zx.cpp
@@ -33,6 +33,48 @@ void DarkEngine::initZX() {
_maxShield = 63;
}
+
+void DarkEngine::loadAssetsZXFullGame() {
+ Common::File file;
+
+ file.open("darkside.zx.title");
+ if (file.isOpen()) {
+ _title = loadAndCenterScrImage(&file);
+ } else
+ error("Unable to find darkside.zx.title");
+
+ file.close();
+ file.open("darkside.zx.border");
+ if (file.isOpen()) {
+ _border = loadAndCenterScrImage(&file);
+ } else
+ error("Unable to find driller.zx.border");
+ file.close();
+
+ file.open("darkside.zx.data");
+ if (!file.isOpen())
+ error("Failed to open darksize.zx.data");
+
+ loadMessagesFixedSize(&file, 0x56b - 6, 16, 27);
+
+ loadFonts(&file, 0x5d60 - 6);
+ loadGlobalObjects(&file, 0x1a, 23);
+ load8bitBinary(&file, 0x5ec0 - 4, 4);
+ for (auto &it : _areaMap) {
+ addWalls(it._value);
+ addECDs(it._value);
+ addSkanner(it._value);
+ }
+
+ _indicators.push_back(loadBundledImage("dark_fallen_indicator"));
+ _indicators.push_back(loadBundledImage("dark_crouch_indicator"));
+ _indicators.push_back(loadBundledImage("dark_walk_indicator"));
+ _indicators.push_back(loadBundledImage("dark_jet_indicator"));
+
+ for (auto &it : _indicators)
+ it->convertToInPlace(_gfx->_texturePixelFormat, nullptr);
+}
+
void DarkEngine::loadAssetsZXDemo() {
Common::File file;
More information about the Scummvm-git-logs
mailing list