[Scummvm-git-logs] scummvm master -> 9220e7530d74bd366b79741920bf29a0387c0176
mduggan
noreply at scummvm.org
Tue Mar 4 09:56:20 UTC 2025
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
452b5989ff DGDS: Fix interpretation of text speed setting
9220e7530d DGDS: Update comment
Commit: 452b5989ff06bc848617a414988c5691ae1c50e4
https://github.com/scummvm/scummvm/commit/452b5989ff06bc848617a414988c5691ae1c50e4
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2025-03-04T20:55:55+11:00
Commit Message:
DGDS: Fix interpretation of text speed setting
* The inversion (9 - value) was being applied twice, reversing
the resulting delay
* The delay in the dialog data should be doubled before calculating delay
millis
* The default setting should be 5
This fixes #15771
Changed paths:
engines/dgds/dgds.cpp
engines/dgds/menu.cpp
engines/dgds/scene.cpp
diff --git a/engines/dgds/dgds.cpp b/engines/dgds/dgds.cpp
index 1fdc6d7bde7..bb4bccedf06 100644
--- a/engines/dgds/dgds.cpp
+++ b/engines/dgds/dgds.cpp
@@ -85,7 +85,7 @@ DgdsEngine::DgdsEngine(OSystem *syst, const ADGameDescription *gameDesc)
: Engine(syst), _fontManager(nullptr), _console(nullptr), _inventory(nullptr),
_soundPlayer(nullptr), _decompressor(nullptr), _scene(nullptr), _shellGame(nullptr),
_hocIntro(nullptr), _gdsScene(nullptr), _resource(nullptr), _gamePals(nullptr), _gameGlobals(nullptr),
- _detailLevel(kDgdsDetailHigh), _textSpeed(1), _justChangedScene1(false),
+ _detailLevel(kDgdsDetailHigh), _textSpeed(5), _justChangedScene1(false),
_random("dgds"), _currentCursor(-1), _menuToTrigger(kMenuNone), _isLoading(true), _flipMode(false),
_rstFileName(nullptr), _difficulty(1), _menu(nullptr), _adsInterp(nullptr), _isDemo(false),
_dragonArcade(nullptr), _chinaTank(nullptr), _chinaTrain(nullptr), _isAltDlgColors(false),
diff --git a/engines/dgds/menu.cpp b/engines/dgds/menu.cpp
index e79fc39236f..fe08fbc0e7a 100644
--- a/engines/dgds/menu.cpp
+++ b/engines/dgds/menu.cpp
@@ -277,7 +277,7 @@ void Menu::configureGadget(MenuId menu, Gadget *gadget) {
break;
case kMenuSliderControlsTextSpeed:
slider->setSteps(10, false);
- slider->setValue(9 - engine->getTextSpeed());
+ slider->setValue(engine->getTextSpeed());
break;
case kMenuSliderControlsDetailLevel:
slider->setSteps(2, true);
@@ -486,7 +486,7 @@ void Menu::onMouseLUp(const Common::Point &mouse) {
engine->setDifficulty(setting);
break;
case kMenuSliderControlsTextSpeed:
- engine->setTextSpeed(9 - setting);
+ engine->setTextSpeed(setting);
break;
case kMenuSliderControlsDetailLevel:
engine->setDetailLevel(static_cast<DgdsDetailLevel>(setting));
@@ -698,7 +698,7 @@ bool Menu::handleClick(const Common::Point &mouse) {
if (!slider)
break;
int16 setting = slider->onClick(mouse);
- engine->setTextSpeed(9 - setting);
+ engine->setTextSpeed(setting);
drawMenu(_curMenu);
break;
}
diff --git a/engines/dgds/scene.cpp b/engines/dgds/scene.cpp
index e7fe44ed299..291ec73d3de 100644
--- a/engines/dgds/scene.cpp
+++ b/engines/dgds/scene.cpp
@@ -1157,7 +1157,7 @@ bool SDSScene::drawAndUpdateDialogs(Graphics::ManagedSurface *dst) {
if (dlg._time)
delay = dlg._time;
- int time = delay * (9 - engine->getTextSpeed());
+ int time = delay * 2 * (9 - engine->getTextSpeed());
assert(dlg._state);
dlg._state->_hideTime = DgdsEngine::getInstance()->getThisFrameMs() + time;
@@ -1454,6 +1454,8 @@ void SDSScene::mouseRDown(const Common::Point &pt) {
return;
}
_rbuttonDown = true;
+ // Ensure mouse cursor is updated
+ mouseMoved(pt);
}
void SDSScene::mouseRUp(const Common::Point &pt) {
Commit: 9220e7530d74bd366b79741920bf29a0387c0176
https://github.com/scummvm/scummvm/commit/9220e7530d74bd366b79741920bf29a0387c0176
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2025-03-04T20:56:04+11:00
Commit Message:
DGDS: Update comment
Changed paths:
engines/dgds/ads.cpp
diff --git a/engines/dgds/ads.cpp b/engines/dgds/ads.cpp
index 6957e29f165..d9d3f2684b9 100644
--- a/engines/dgds/ads.cpp
+++ b/engines/dgds/ads.cpp
@@ -419,8 +419,8 @@ bool ADSInterpreter::logicOpResult(uint16 code, const TTMEnviro *env, const TTMS
return true;
case 0x1380: // IF_DETAIL_LTE, 1 param
debugN(10, "ADS 0x%04x: if detail <= %d", code, arg);
- // FIXME: This should be right but we only have detail 0/1 and maybe HOC onward use
- // different numbers? HOC intro checks for >= 4.
+ // TODO: This check is right, but we only have detail 0/1 and HOC onward use
+ // different numbers. HOC intro checks for >= 4, and default in HOC is 4.
return false;
//return ((int)DgdsEngine::getInstance()->getDetailLevel() <= arg);
case 0x1390: // IF_DETAIL_GTE, 1 param
More information about the Scummvm-git-logs
mailing list