[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