[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