[Scummvm-git-logs] scummvm master -> 2c6b185fe1b9cf753255b38aa54a2f456da82e66

neuromancer noreply at scummvm.org
Wed Dec 28 12:36:41 UTC 2022


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

Summary:
13ab2ba17a FREESCAPE: score should be white in driller UI for zx spectrum
a83325dd12 FREESCAPE: improved drawInfoMenu for driller dos and zx spectrum
b02d2d5874 FREESCAPE: use the correct color for info menu for driller zx spectrum
2c6b185fe1 FREESCAPE: show title screen in driller zx spectrum


Commit: 13ab2ba17afa03ce81970f31bba5014a6ec726f7
    https://github.com/scummvm/scummvm/commit/13ab2ba17afa03ce81970f31bba5014a6ec726f7
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-12-28T09:34:55-03:00

Commit Message:
FREESCAPE: score should be white in driller UI for zx spectrum

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


diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index b5d7bc0cd33..afce4e0462c 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -666,6 +666,7 @@ void DrillerEngine::drawZXUI(Graphics::Surface *surface) {
 
 	_gfx->readFromPalette(color, r, g, b);
 	uint32 back = _gfx->_texturePixelFormat.ARGBToColor(0xFF, r, g, b);
+	uint32 white = _gfx->_texturePixelFormat.ARGBToColor(0xFF, 0xFF, 0xFF, 0xFF);
 
 	int score = _gameStateVars[k8bitVariableScore];
 	drawStringInSurface(_currentArea->_name, 176, 188, front, back, surface);
@@ -679,7 +680,7 @@ void DrillerEngine::drawZXUI(Graphics::Surface *surface) {
 
 	drawStringInSurface(Common::String::format("%02d", int(_angleRotations[_angleRotationIndex])), 64, 149, front, back, surface);
 	drawStringInSurface(Common::String::format("%3d", _playerSteps[_playerStepIndex]), 65, 157, front, back, surface);
-	drawStringInSurface(Common::String::format("%07d", score), 217, 133, front, back, surface);
+	drawStringInSurface(Common::String::format("%07d", score), 217, 133, white, back, surface);
 
 	int hours = _countdown <= 0 ? 0 : _countdown / 3600;
 	drawStringInSurface(Common::String::format("%02d", hours), 187, 12, front, back, surface);


Commit: a83325dd1268458c0c390a5fca59effc6ddf29dc
    https://github.com/scummvm/scummvm/commit/a83325dd1268458c0c390a5fca59effc6ddf29dc
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-12-28T09:34:55-03:00

Commit Message:
FREESCAPE: improved drawInfoMenu for driller dos and zx spectrum

Changed paths:
    engines/freescape/freescape.cpp
    engines/freescape/freescape.h
    engines/freescape/games/driller.cpp


diff --git a/engines/freescape/freescape.cpp b/engines/freescape/freescape.cpp
index e4535974386..ebcbda8520f 100644
--- a/engines/freescape/freescape.cpp
+++ b/engines/freescape/freescape.cpp
@@ -89,6 +89,7 @@ FreescapeEngine::FreescapeEngine(OSystem *syst, const ADGameDescription *gd)
 	_currentDemoMousePosition = _crossairPosition;
 	_flyMode = false;
 	_noClipMode = false;
+	_forceEndGame = false;
 	_playerHeightNumber = 1;
 	_angleRotationIndex = 0;
 
diff --git a/engines/freescape/freescape.h b/engines/freescape/freescape.h
index 4ba4005f393..13a2cd211fd 100644
--- a/engines/freescape/freescape.h
+++ b/engines/freescape/freescape.h
@@ -308,6 +308,7 @@ public:
 	StateVars _gameStateVars;
 	StateBits _gameStateBits;
 	virtual bool checkIfGameEnded();
+	bool _forceEndGame;
 	ObjectArray _sensors;
 	void checkSensors();
 	void drawSensorShoot(Sensor *sensor);
diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index afce4e0462c..c6e1f9659f3 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -821,7 +821,7 @@ void DrillerEngine::drawInfoMenu() {
 	uint32 black = _gfx->_texturePixelFormat.ARGBToColor(0xFF, 0x00, 0x00, 0x00);
 	surface->fillRect(_viewArea, black);
 
-	color = _renderMode == Common::kRenderCGA ? 1 : 14;
+	color = _renderMode == Common::kRenderCGA || _renderMode == Common::kRenderZX ? 1 : 14;
 	uint8 r, g, b;
 
 	_gfx->readFromPalette(color, r, g, b);
@@ -866,8 +866,13 @@ void DrillerEngine::drawInfoMenu() {
 	drawStringInSurface(Common::String::format("%13s : %d", "total sectors", 18), 84, 73, front, black, surface);
 	drawStringInSurface(Common::String::format("%13s : %d", "safe sectors", _gameStateVars[32]), 84, 81, front, black, surface);
 
-	drawStringInSurface("l-load s-save esc-terminate", 53, 97, front, black, surface);
-	drawStringInSurface("t-toggle sound on/off", 76, 105, front, black, surface);
+	if (isDOS()) {
+		drawStringInSurface("l-load s-save esc-terminate", 53, 97, front, black, surface);
+		drawStringInSurface("t-toggle sound on/off", 76, 105, front, black, surface);
+	} else if (isSpectrum()) {
+		drawStringInSurface("l-load s-save 1-abort", 53, 97, front, black, surface);
+		drawStringInSurface("any other key-continue", 76, 105, front, black, surface);
+	}
 
 	_uiTexture->update(surface);
 	_gfx->setViewport(_fullscreenViewArea);
@@ -893,8 +898,14 @@ void DrillerEngine::drawInfoMenu() {
 					_gfx->setViewport(_fullscreenViewArea);
 					saveGameDialog();
 					_gfx->setViewport(_viewArea);
-				} else if (event.kbd.keycode == Common::KEYCODE_t) {
+				} else if (isDOS() && event.kbd.keycode == Common::KEYCODE_t) {
 					// TODO
+				} else if (isDOS() && event.kbd.keycode == Common::KEYCODE_ESCAPE) {
+					_forceEndGame = true;
+					cont = false;
+				} else if (isSpectrum() && event.kbd.keycode == Common::KEYCODE_1) {
+					_forceEndGame = true;
+					cont = false;
 				} else
 					cont = false;
 				break;
@@ -1288,6 +1299,16 @@ bool DrillerEngine::checkIfGameEnded() {
 		gotoArea(127, 0);
 	}
 
+	if (_forceEndGame) {
+		_forceEndGame = false;
+		insertTemporaryMessage(_messagesList[18], _countdown - 2);
+		drawFrame();
+		_gfx->flipBuffer();
+		g_system->updateScreen();
+		g_system->delayMillis(2000);
+		gotoArea(127, 0);
+	}
+
 	if (_currentArea->getAreaID() == 127) {
 		if (_gameStateVars[32] == 18) { // All areas are complete
 			insertTemporaryMessage(_messagesList[19], _countdown - 2);


Commit: b02d2d58745113bb1f22b9d80affa72d274146cf
    https://github.com/scummvm/scummvm/commit/b02d2d58745113bb1f22b9d80affa72d274146cf
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-12-28T09:34:55-03:00

Commit Message:
FREESCAPE: use the correct color for info menu for driller zx spectrum

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


diff --git a/engines/freescape/games/driller.cpp b/engines/freescape/games/driller.cpp
index c6e1f9659f3..783f726f3b7 100644
--- a/engines/freescape/games/driller.cpp
+++ b/engines/freescape/games/driller.cpp
@@ -821,7 +821,16 @@ void DrillerEngine::drawInfoMenu() {
 	uint32 black = _gfx->_texturePixelFormat.ARGBToColor(0xFF, 0x00, 0x00, 0x00);
 	surface->fillRect(_viewArea, black);
 
-	color = _renderMode == Common::kRenderCGA || _renderMode == Common::kRenderZX ? 1 : 14;
+	switch (_renderMode) {
+		case Common::kRenderCGA:
+			color = 1;
+			break;
+		case Common::kRenderZX:
+			color = 6;
+			break;
+		default:
+			color = 14;
+	}
 	uint8 r, g, b;
 
 	_gfx->readFromPalette(color, r, g, b);


Commit: 2c6b185fe1b9cf753255b38aa54a2f456da82e66
    https://github.com/scummvm/scummvm/commit/2c6b185fe1b9cf753255b38aa54a2f456da82e66
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-12-28T09:34:55-03:00

Commit Message:
FREESCAPE: show title screen in driller zx spectrum

Changed paths:
  A devtools/create_freescape/driller-zx_ZX Spectrum_title.bmp
    dists/engine-data/freescape.dat
    engines/freescape/freescape.cpp


diff --git a/devtools/create_freescape/driller-zx_ZX Spectrum_title.bmp b/devtools/create_freescape/driller-zx_ZX Spectrum_title.bmp
new file mode 100644
index 00000000000..6421d62d97c
Binary files /dev/null and b/devtools/create_freescape/driller-zx_ZX Spectrum_title.bmp differ
diff --git a/dists/engine-data/freescape.dat b/dists/engine-data/freescape.dat
index f6aeb331c27..9a09f177b63 100644
Binary files a/dists/engine-data/freescape.dat and b/dists/engine-data/freescape.dat differ
diff --git a/engines/freescape/freescape.cpp b/engines/freescape/freescape.cpp
index ebcbda8520f..24ab12f7076 100644
--- a/engines/freescape/freescape.cpp
+++ b/engines/freescape/freescape.cpp
@@ -182,6 +182,14 @@ void FreescapeEngine::drawTitle() {
 		return;
 
 	_gfx->setViewport(_fullscreenViewArea);
+	if (isSpectrum()) {
+		Graphics::Surface *title = new Graphics::Surface();
+		title->create(320, 200, _title->format);
+		title->copyRectToSurface(*_title, (320 - _title->w) / 2, (200 - _title->h) / 2, Common::Rect(_title->w, _title->h));
+		_title->free();
+		delete _title;
+		_title = title;
+	}
 	if (!_titleTexture)
 		_titleTexture = _gfx->createTexture(_title);
 	_gfx->drawTexturedRect2D(_fullscreenViewArea, _fullscreenViewArea, _titleTexture);




More information about the Scummvm-git-logs mailing list