[Scummvm-git-logs] scummvm master -> 18bda4af1f496c2fb25fa9a39d85e6a1f89c85d5

neuromancer noreply at scummvm.org
Thu May 8 08:28:53 UTC 2025


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
18bda4af1f FREESCAPE: added more details to the driller UI for c64


Commit: 18bda4af1f496c2fb25fa9a39d85e6a1f89c85d5
    https://github.com/scummvm/scummvm/commit/18bda4af1f496c2fb25fa9a39d85e6a1f89c85d5
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2025-05-08T10:28:34+02:00

Commit Message:
FREESCAPE: added more details to the driller UI for c64

Changed paths:
    engines/freescape/detection.cpp
    engines/freescape/games/driller/c64.cpp
    engines/freescape/games/driller/driller.cpp


diff --git a/engines/freescape/detection.cpp b/engines/freescape/detection.cpp
index a36d68a8130..db3dfb6d966 100644
--- a/engines/freescape/detection.cpp
+++ b/engines/freescape/detection.cpp
@@ -110,7 +110,7 @@ static const ADGameDescription gameDescriptions[] = {
 		AD_ENTRY1s("DRILLER.C64.DATA", "4afec6eea3887343e7f91fb21a2f2948", 43278),
 		Common::EN_ANY,
 		Common::kPlatformC64,
-		ADGF_UNSTABLE | GF_C64_TAPE,
+		ADGF_UNSUPPORTED, //| GF_C64_TAPE,
 		GUIO3(GUIO_NOMIDI, GAMEOPTION_AUTOMATIC_DRILLING, GUIO_RENDERC64)
 	},
 	{
diff --git a/engines/freescape/games/driller/c64.cpp b/engines/freescape/games/driller/c64.cpp
index 8ee9e5751f0..853f6f4f16d 100644
--- a/engines/freescape/games/driller/c64.cpp
+++ b/engines/freescape/games/driller/c64.cpp
@@ -158,7 +158,7 @@ void DrillerEngine::loadAssetsC64FullGame() {
 	} else
 		error("Unknown C64 release");
 
-	_playerSid = new DrillerSIDPlayer(_mixer);
+	//_playerSid = new DrillerSIDPlayer(_mixer);
 }
 
 
@@ -236,6 +236,14 @@ void DrillerEngine::drawC64UI(Graphics::Surface *surface) {
 		Common::Rect shieldBar(88 - 4  - shield, 180 - 4, 88 - 4, 186 - 4);
 		surface->fillRect(shieldBar, green);
 	}
+
+	_gfx->readFromPalette(7, r, g, b);
+	uint32 yellow = _gfx->_texturePixelFormat.ARGBToColor(0xFF, r, g, b);
+
+	surface->fillRect(Common::Rect(87, 156, 104, 166), back);
+	drawCompass(surface, 94, 156, _yaw - 30, 11, 75, yellow);
+	surface->fillRect(Common::Rect(224, 151, 235, 160), back);
+	drawCompass(surface, 223, 156, _pitch - 30, 12, 60, yellow);
 }
 
 } // End of namespace Freescape
\ No newline at end of file
diff --git a/engines/freescape/games/driller/driller.cpp b/engines/freescape/games/driller/driller.cpp
index 3c9dd8f3bf4..942fba09be4 100644
--- a/engines/freescape/games/driller/driller.cpp
+++ b/engines/freescape/games/driller/driller.cpp
@@ -277,13 +277,13 @@ void DrillerEngine::gotoArea(uint16 areaID, int entranceID) {
 	_gameStateVars[0x1f] = 0;
 
 	if (areaID == _startArea && entranceID == _startEntrance) {
-		if (isC64())
+		/*if (isC64())
 			_playerSid->startMusic();
-		else {
+		else {*/
 			playSound(_soundIndexStart, true);
 			// Start playing music, if any, in any supported format
 			playMusic("Matt Gray - The Best Of Reformation - 07 Driller Theme");
-		}
+		//}
 
 	} else if (areaID == 127) {
 		assert(entranceID == 0);
@@ -1016,7 +1016,8 @@ void DrillerEngine::drawCompass(Graphics::Surface *surface, int x, int y, double
 	double h = magnitude * sin(-degrees * degtorad);
 
 	surface->drawLine(x, y, x+(int)w, y+(int)h, color);
-
+	if (isC64())
+		surface->drawLine(x+1, y, x+1+(int)w, y+(int)h, color);
 
 	degrees = degrees - fov;
 	if (degrees < 0)
@@ -1026,7 +1027,8 @@ void DrillerEngine::drawCompass(Graphics::Surface *surface, int x, int y, double
 	h = magnitude * sin(-degrees * degtorad);
 
 	surface->drawLine(x, y, x+(int)w, y+(int)h, color);
-	//surface->drawLine(x, y, x+(int)-w, y+(int)h, color);
+	if (isC64())
+		surface->drawLine(x+1, y, x+1+(int)w, y+(int)h, color);
 }
 
 




More information about the Scummvm-git-logs mailing list