[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