[Scummvm-git-logs] scummvm master -> 267191dda057e656359fd066087af192c0199055

neuromancer noreply at scummvm.org
Wed Jan 17 19:40:52 UTC 2024


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:
267191dda0 FREESCAPE: initial support for dos demo dark in cga mode


Commit: 267191dda057e656359fd066087af192c0199055
    https://github.com/scummvm/scummvm/commit/267191dda057e656359fd066087af192c0199055
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2024-01-17T20:35:53+01:00

Commit Message:
FREESCAPE: initial support for dos demo dark in cga mode

Changed paths:
    engines/freescape/games/dark/dos.cpp


diff --git a/engines/freescape/games/dark/dos.cpp b/engines/freescape/games/dark/dos.cpp
index b1bc926eba1..74618cec92d 100644
--- a/engines/freescape/games/dark/dos.cpp
+++ b/engines/freescape/games/dark/dos.cpp
@@ -117,23 +117,43 @@ void DarkEngine::loadAssetsDOSDemo() {
 			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);
+
 	} else if (_renderMode == Common::kRenderCGA) {
+		file.open("SCN1C.DAT");
+		if (file.isOpen()) {
+			_title = load8bitBinImage(&file, 0x0);
+			_title->setPalette((byte *)&kDarkCGAPalettePinkBlue, 0, 4);
+		}
+		file.close();
 		file.open("DSIDEC.EXE");
 
 		if (!file.isOpen())
 			error("Failed to open DSIDEC.EXE");
-		loadFonts(&file, 0xa598);
-		load8bitBinary(&file, 0x8a70, 4); // TODO
-	} else
-		error("Invalid or unsupported render mode %s for Dark Side", Common::getRenderModeDescription(_renderMode));
 
-	_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"));
+		loadFonts(&file, 0x8907);
+		loadMessagesFixedSize(&file, 0x2d65, 16, 27);
+		loadMessagesFixedSize(&file, 0x7c3a, 308, 5);
+		loadGlobalObjects(&file, 0x2554, 23);
+		load8bitBinary(&file, 0x8a70, 4);
+		_border = load8bitBinImage(&file, 0x210);
+		_border->setPalette((byte *)&kDarkCGAPalettePinkBlue, 0, 4);
 
-	for (auto &it : _indicators)
-		it->convertToInPlace(_gfx->_texturePixelFormat);
+		for (auto &it : _areaMap) {
+			addWalls(it._value);
+			addECDs(it._value);
+			addSkanner(it._value);
+		}
+		swapPalette(1);
+	} else
+		error("Invalid or unsupported render mode %s for Dark Side", Common::getRenderModeDescription(_renderMode));
 }
 
 void DarkEngine::loadAssetsDOSFullGame() {




More information about the Scummvm-git-logs mailing list