[Scummvm-git-logs] scummvm master -> 50b30e254c212e75f145a7ad5165985496030443

sev- noreply at scummvm.org
Sun Aug 25 21:17:28 UTC 2024


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

Summary:
84be0c63d9 QDENGINE: Add more settings to `ConfMan`
624d5a59b3 JANITORIAL: Get rid of redundant whitespaces
6c2c8924d7 COMMON: Add `ConfigManager::setFloat` and `ConfigManager::getFloat`
603c3d26d7 QDENGINE: Remove redundant pre processor directives
747555bca1 QDENGINE: Add game_speed to `ConfMan`
927dedc1d3 QDENGINE: Use ConfMan for sound settings
aab48c2c5b QDENGINE: Hardcode pixel format while initialising window
f03376602e QDENGINE: Use QDEngineEngine::_debugDraw instead of qdGameConfig::_debug_draw
39d2ca2045 QDENGINE: Use ConfMan instead of `toggle_fps`
7f8344d28a QDENGINE: Add a comment regarding deleted check
88e92ae05f QDENGINE: Get rid of `qdGameConfig` completely
42a8150e41 QDENGINE: Remove `putIniKey()`
50b30e254c QDENGINE: Use `ConfMan.flushToDisk()` to persist values


Commit: 84be0c63d98430bc5a3db9bf29992e118bb29a70
    https://github.com/scummvm/scummvm/commit/84be0c63d98430bc5a3db9bf29992e118bb29a70
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Add more settings to `ConfMan`

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qd_runtime.cpp
    engines/qdengine/qdcore/qd_game_dispatcher.cpp
    engines/qdengine/qdcore/qd_minigame.cpp
    engines/qdengine/qdengine.h


diff --git a/engines/qdengine/qd_runtime.cpp b/engines/qdengine/qd_runtime.cpp
index 18e3c61aea5..73ed84700fd 100644
--- a/engines/qdengine/qd_runtime.cpp
+++ b/engines/qdengine/qd_runtime.cpp
@@ -339,8 +339,6 @@ void init_graphics() {
 	if (!init_graphics_dispatcher())
 		return;
 
-	qdGameConfig::get_config().set_pixel_format(grDispatcher::instance()->pixel_format());
-
 	grDispatcher::instance()->setClip();
 	grDispatcher::instance()->setClipMode(1);
 
diff --git a/engines/qdengine/qdcore/qd_game_dispatcher.cpp b/engines/qdengine/qdcore/qd_game_dispatcher.cpp
index 68fdafe1576..445961013c5 100644
--- a/engines/qdengine/qdcore/qd_game_dispatcher.cpp
+++ b/engines/qdengine/qdcore/qd_game_dispatcher.cpp
@@ -748,7 +748,7 @@ void qdGameDispatcher::redraw() {
 			grDispatcher::instance()->flush();
 #endif
 		}
-		if (!qdGameConfig::get_config().force_full_redraw())
+		if (!g_engine->_forceFullRedraw)
 			drop_flag(FULLSCREEN_REDRAW_FLAG);
 		post_redraw();
 	}
diff --git a/engines/qdengine/qdcore/qd_minigame.cpp b/engines/qdengine/qdcore/qd_minigame.cpp
index 0f44b19aec6..b062345e352 100644
--- a/engines/qdengine/qdcore/qd_minigame.cpp
+++ b/engines/qdengine/qdcore/qd_minigame.cpp
@@ -139,14 +139,12 @@ bool qdMiniGame::load_script(const xml::tag *p) {
 			_config.reserve(_config.size() + config_size);
 			break;
 		case QDSCR_MINIGAME_CONFIG_PARAMETER: {
-			if (!qdGameConfig::get_config().minigame_read_only_ini()) {
-				qdMinigameConfigParameter prm;
-				prm.load_script(&*it);
-				config_container_t::iterator cfg_it = Common::find(_config.begin(), _config.end(), prm);
-				if (cfg_it != _config.end()) {
-					cfg_it->set_data_string(prm.data_string());
-					cfg_it->set_data_count(prm.data_count());
-				}
+			qdMinigameConfigParameter prm;
+			prm.load_script(&*it);
+			config_container_t::iterator cfg_it = Common::find(_config.begin(), _config.end(), prm);
+			if (cfg_it != _config.end()) {
+				cfg_it->set_data_string(prm.data_string());
+				cfg_it->set_data_count(prm.data_count());
 			}
 		}
 		break;
diff --git a/engines/qdengine/qdengine.h b/engines/qdengine/qdengine.h
index e08481c1da5..3e341445646 100644
--- a/engines/qdengine/qdengine.h
+++ b/engines/qdengine/qdengine.h
@@ -69,6 +69,8 @@ public:
 
 	int _screenW;
 	int _screenH;
+
+	bool _forceFullRedraw = false;
 public:
 	QDEngineEngine(OSystem *syst, const ADGameDescription *gameDesc);
 	~QDEngineEngine() override;


Commit: 624d5a59b33b2953b1c20bcaa8865999bd37a217
    https://github.com/scummvm/scummvm/commit/624d5a59b33b2953b1c20bcaa8865999bd37a217
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
JANITORIAL: Get rid of redundant whitespaces

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    common/config-manager.cpp
    common/config-manager.h


diff --git a/common/config-manager.cpp b/common/config-manager.cpp
index 44da7cc1837..f81ceb14592 100644
--- a/common/config-manager.cpp
+++ b/common/config-manager.cpp
@@ -39,7 +39,7 @@ DECLARE_SINGLETON(ConfigManager);
 
 char const *const ConfigManager::kApplicationDomain = "scummvm";
 char const *const ConfigManager::kTransientDomain = "__TRANSIENT";
-char const *const ConfigManager::kSessionDomain = "__SESSION"; 
+char const *const ConfigManager::kSessionDomain = "__SESSION";
 
 char const *const ConfigManager::kKeymapperDomain = "keymapper";
 
@@ -67,7 +67,7 @@ void ConfigManager::copyFrom(ConfigManager &source) {
 	_appDomain = source._appDomain;
 	_defaultsDomain = source._defaultsDomain;
 	_keymapperDomain = source._keymapperDomain;
-	_sessionDomain = source._sessionDomain; 
+	_sessionDomain = source._sessionDomain;
 #ifdef USE_CLOUD
 	_cloudDomain = source._cloudDomain;
 #endif
@@ -182,7 +182,7 @@ bool ConfigManager::loadFromStream(SeekableReadStream &stream) {
 	_miscDomains.clear();
 	_transientDomain.clear();
 	_domainSaveOrder.clear();
-	_sessionDomain.clear(); 
+	_sessionDomain.clear();
 
 	_keymapperDomain.clear();
 #ifdef USE_CLOUD
@@ -401,7 +401,7 @@ const ConfigManager::Domain *ConfigManager::getDomain(const String &domName) con
 	if (domName == kKeymapperDomain)
 		return &_keymapperDomain;
 	if (domName == kSessionDomain)
-		return &_sessionDomain; 
+		return &_sessionDomain;
 #ifdef USE_CLOUD
 	if (domName == kCloudDomain)
 		return &_cloudDomain;
@@ -425,7 +425,7 @@ ConfigManager::Domain *ConfigManager::getDomain(const String &domName) {
 	if (domName == kKeymapperDomain)
 		return &_keymapperDomain;
 	if (domName == kSessionDomain)
-		return &_sessionDomain; 
+		return &_sessionDomain;
 #ifdef USE_CLOUD
 	if (domName == kCloudDomain)
 		return &_cloudDomain;
@@ -445,7 +445,7 @@ ConfigManager::Domain *ConfigManager::getDomain(const String &domName) {
 bool ConfigManager::hasKey(const String &key) const {
 	// Search the domains in the following order:
 	// 1) the transient domain,
-	// 2) the session domain, 
+	// 2) the session domain,
 	// 3) the active game domain (if any),
 	// 4) the application domain.
 	// The defaults domain is explicitly *not* checked.
@@ -454,7 +454,7 @@ bool ConfigManager::hasKey(const String &key) const {
 		return true;
 
 	if (_sessionDomain.contains(key))
-		return true; 
+		return true;
 
 	if (_activeDomain && _activeDomain->contains(key))
 		return true;
@@ -473,7 +473,7 @@ bool ConfigManager::hasKey(const String &key, const String &domName) const {
 		return hasKey(key);
 
 	if (_sessionDomain.contains(key))
-		return true; 
+		return true;
 
 	const Domain *domain = getDomain(domName);
 
@@ -494,7 +494,7 @@ void ConfigManager::removeKey(const String &key, const String &domName) {
 		      key.c_str(), domName.c_str());
 
 	domain->erase(key);
-	_sessionDomain.erase(key); 
+	_sessionDomain.erase(key);
 }
 
 
@@ -505,7 +505,7 @@ const String &ConfigManager::get(const String &key) const {
 	if (_transientDomain.contains(key))
 		return _transientDomain[key];
 	else if (_sessionDomain.contains(key))
-		return _sessionDomain[key]; 
+		return _sessionDomain[key];
 	else if (_activeDomain && _activeDomain->contains(key))
 		return (*_activeDomain)[key];
 	else if (_appDomain.contains(key))
@@ -522,7 +522,7 @@ const String &ConfigManager::get(const String &key, const String &domName) const
 		return get(key);
 
 	if (_sessionDomain.contains(key))
-		return _sessionDomain.getVal(key); 
+		return _sessionDomain.getVal(key);
 
 	const Domain *domain = getDomain(domName);
 
@@ -578,7 +578,7 @@ Path ConfigManager::getPath(const String &key, const String &domName) const {
 void ConfigManager::set(const String &key, const String &value) {
 	// Remove the transient and session domain value, if any.
 	_transientDomain.erase(key);
-	_sessionDomain.erase(key); 
+	_sessionDomain.erase(key);
 
 	// Write the new key/value pair into the active domain, resp. into
 	// the application domain if no game domain is active.
@@ -617,7 +617,7 @@ void ConfigManager::set(const String &key, const String &value, const String &do
 		      key.c_str(), value.c_str(), domName.c_str());
 
 	if (domName != kSessionDomain && domName != kTransientDomain)
-		_sessionDomain.erase(key); 
+		_sessionDomain.erase(key);
 
 	(*domain).setVal(key, value);
 
diff --git a/common/config-manager.h b/common/config-manager.h
index 5ab99ff27f6..c77eb3dc902 100644
--- a/common/config-manager.h
+++ b/common/config-manager.h
@@ -116,10 +116,10 @@ public:
 	/** The name of keymapper domain used to store the key maps. */
 	static char const *const kKeymapperDomain;
 
-	/** The name of the session domain where configs are put 
-	 * for the entire session or until they are overwritten or removed. 
+	/** The name of the session domain where configs are put
+	 * for the entire session or until they are overwritten or removed.
 	 * These settings don't get saved to disk. */
-	static char const *const kSessionDomain; 
+	static char const *const kSessionDomain;
 
 #ifdef USE_CLOUD
 	/** The name of cloud domain used to store the user's tokens. */
@@ -245,7 +245,7 @@ private:
 
 	Domain			_keymapperDomain;
 
-	Domain          _sessionDomain; 	
+	Domain          _sessionDomain;
 
 #ifdef USE_CLOUD
 	Domain			_cloudDomain;


Commit: 6c2c8924d78a2ad7da3cf25649f04eec3675fa84
    https://github.com/scummvm/scummvm/commit/6c2c8924d78a2ad7da3cf25649f04eec3675fa84
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
COMMON: Add `ConfigManager::setFloat` and `ConfigManager::getFloat`

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    common/config-manager.cpp
    common/config-manager.h


diff --git a/common/config-manager.cpp b/common/config-manager.cpp
index f81ceb14592..a7a76de8ccb 100644
--- a/common/config-manager.cpp
+++ b/common/config-manager.cpp
@@ -571,6 +571,22 @@ Path ConfigManager::getPath(const String &key, const String &domName) const {
 	return Path::fromConfig(get(key, domName));
 }
 
+float ConfigManager::getFloat(const String &key, const String &domName) const {
+	String value(get(key, domName));
+	char *pend;
+
+	if (value.empty()) {
+		return 0.0f;
+	}
+
+	float fvalue = strtof(value.c_str(), &pend);
+	if (value.c_str() == pend)
+		error("ConfigManager::getFloat(%s,%s): '%s' is not a valid float",
+		      key.c_str(), domName.c_str(), value.c_str());
+
+	return fvalue;
+}
+
 
 #pragma mark -
 
@@ -661,6 +677,10 @@ void ConfigManager::setPath(const String &key, const Path &value, const String &
 	set(key, value.toConfig(), domName);
 }
 
+void ConfigManager::setFloat(const String &key, float value, const String &domName) {
+	set(key, String::format("%f", value), domName);
+}
+
 
 #pragma mark -
 
diff --git a/common/config-manager.h b/common/config-manager.h
index c77eb3dc902..4ec23912111 100644
--- a/common/config-manager.h
+++ b/common/config-manager.h
@@ -188,9 +188,11 @@ public:
 	int                      getInt(const String &key, const String &domName = String()) const; /*!< Get integer value. */
 	bool                     getBool(const String &key, const String &domName = String()) const; /*!< Get Boolean value. */
 	Path                     getPath(const String &key, const String &domName = String()) const; /*!< Get path value. */
+	float                    getFloat(const String &key, const String &domName = String()) const; /*!< Get float value. */
 	void                     setInt(const String &key, int value, const String &domName = String()); /*!< Set integer value. */
 	void                     setBool(const String &key, bool value, const String &domName = String()); /*!< Set Boolean value. */
 	void                     setPath(const String &key, const Path &value, const String &domName = String()); /*!< Set path value. */
+	void                     setFloat(const String &key, float value, const String &domName = String()); /*!< Set float value. */
 
 	void                     registerDefault(const String &key, const String &value); /*!< Register a value as the default. */
 	void                     registerDefault(const String &key, const char *value); /*!< @overload */


Commit: 603c3d26d770d9442fbbffa57fd191b559075876
    https://github.com/scummvm/scummvm/commit/603c3d26d770d9442fbbffa57fd191b559075876
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Remove redundant pre processor directives

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qdcore/qd_animation.cpp
    engines/qdengine/qdcore/qd_animation_info.cpp
    engines/qdengine/qdcore/qd_setup.cpp


diff --git a/engines/qdengine/qdcore/qd_animation.cpp b/engines/qdengine/qdcore/qd_animation.cpp
index 1689a138c54..30d4d21e24b 100644
--- a/engines/qdengine/qdcore/qd_animation.cpp
+++ b/engines/qdengine/qdcore/qd_animation.cpp
@@ -28,14 +28,12 @@
 #include "qdengine/system/graphics/gr_dispatcher.h"
 #include "qdengine/system/graphics/gr_tile_animation.h"
 
-#ifndef __QD_SYSLIB__
 #include "qdengine/parser/qdscr_parser.h"
 #include "qdengine/parser/xml_tag_buffer.h"
 
 #include "qdengine/qdcore/qd_animation_info.h"
 #include "qdengine/qdcore/qd_named_object_reference.h"
 #include "qdengine/qdcore/qd_game_dispatcher.h"
-#endif
 
 #include "qdengine/qdcore/qd_animation.h"
 #include "qdengine/qdcore/qd_file_manager.h"
@@ -390,7 +388,6 @@ void qdAnimation::init_size() {
 }
 
 void qdAnimation::load_script(const xml::tag *p) {
-#ifndef __QD_SYSLIB__
 	for (xml::tag::subtag_iterator it = p->subtags_begin(); it != p->subtags_end(); ++it) {
 		switch (it->ID()) {
 		case QDSCR_NAME:
@@ -406,7 +403,6 @@ void qdAnimation::load_script(const xml::tag *p) {
 	}
 
 	init_size();
-#endif
 }
 
 bool qdAnimation::save_script(Common::WriteStream &fh, int indent) const {
@@ -480,7 +476,6 @@ void qdAnimation::create_reference(qdAnimation *p, const qdAnimationInfo *inf) c
 
 	debugC(1, kDebugTemp, "num_frames_: %d empty?: %d, is_empty()?: %d", _num_frames, _frames.empty(), is_empty());
 
-#ifndef __QD_SYSLIB__
 	if (inf) {
 		if (inf->check_flag(QD_ANIMATION_FLAG_LOOP))
 			p->set_flag(QD_ANIMATION_FLAG_LOOP);
@@ -493,7 +488,6 @@ void qdAnimation::create_reference(qdAnimation *p, const qdAnimationInfo *inf) c
 
 		p->_playback_speed = inf->animation_speed();
 	}
-#endif
 
 	p->_parent = this;
 }
diff --git a/engines/qdengine/qdcore/qd_animation_info.cpp b/engines/qdengine/qdcore/qd_animation_info.cpp
index 23ea3754dfa..1360ffcf13e 100644
--- a/engines/qdengine/qdcore/qd_animation_info.cpp
+++ b/engines/qdengine/qdcore/qd_animation_info.cpp
@@ -22,13 +22,11 @@
 #include "qdengine/qd_fwd.h"
 #include "qdengine/xmath.h"
 
-#ifndef __QD_SYSLIB__
 #include "qdengine/parser/xml_tag_buffer.h"
 #include "qdengine/parser/qdscr_parser.h"
 
 #include "qdengine/qdcore/qd_game_scene.h"
 #include "qdengine/qdcore/qd_game_dispatcher.h"
-#endif
 
 #include "qdengine/qdcore/qd_named_object.h"
 #include "qdengine/qdcore/qd_animation_info.h"
@@ -109,7 +107,6 @@ qdAnimationInfo &qdAnimationInfo::operator = (const qdAnimationInfo &p) {
 }
 
 qdAnimation *qdAnimationInfo::animation() const {
-#ifndef __QD_SYSLIB__
 	if (animation_name()) {
 		if (qdGameScene *p = static_cast<qdGameScene *>(owner(QD_NAMED_OBJECT_SCENE))) {
 			if (qdAnimation *anm = p->get_animation(animation_name()))
@@ -119,7 +116,6 @@ qdAnimation *qdAnimationInfo::animation() const {
 		if (qdGameDispatcher *p = qd_get_game_dispatcher())
 			return p->get_animation(animation_name());
 	}
-#endif
 	return NULL;
 }
 
diff --git a/engines/qdengine/qdcore/qd_setup.cpp b/engines/qdengine/qdcore/qd_setup.cpp
index 8b10a148588..58ffe14f221 100644
--- a/engines/qdengine/qdcore/qd_setup.cpp
+++ b/engines/qdengine/qdcore/qd_setup.cpp
@@ -26,11 +26,9 @@
 #include "qdengine/qdcore/qd_setup.h"
 #include "qdengine/system/graphics/gr_dispatcher.h"
 
-#ifndef __QD_SYSLIB__
 #include "qdengine/system/sound/snd_dispatcher.h"
 #include "qdengine/qdcore/qd_game_scene.h"
 #include "qdengine/qdcore/util/plaympp_api.h"
-#endif
 
 namespace QDEngine {
 
@@ -196,10 +194,8 @@ void qdGameConfig::load() {
 	p = getIniKey(_ini_name, "game", "locale");
 	if (strlen(p)) _locale = p;
 
-#ifndef __QD_SYSLIB__
 	p = getIniKey(_ini_name, "game", "fps_period");
 	if (strlen(p)) qdGameScene::fps_counter()->set_period(atoi(p));
-#endif
 
 	if (atoi(getIniKey(_ini_name, "debug", "full_redraw")))
 		_force_full_redraw = true;
@@ -254,11 +250,9 @@ bool qdGameConfig::update_sound_settings() const {
 }
 
 bool qdGameConfig::update_music_settings() const {
-#ifndef __QD_SYSLIB__
 	mpegPlayer::instance().set_volume(_music_volume);
 	if (_enable_music) mpegPlayer::instance().enable();
 	else mpegPlayer::instance().disable();
-#endif
 	return true;
 }
 } // namespace QDEngine


Commit: 747555bca104ac2210cf40f080e9e3195cb0e31c
    https://github.com/scummvm/scummvm/commit/747555bca104ac2210cf40f080e9e3195cb0e31c
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Add game_speed to `ConfMan`

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qd_runtime.cpp
    engines/qdengine/qdengine.cpp


diff --git a/engines/qdengine/qd_runtime.cpp b/engines/qdengine/qd_runtime.cpp
index 73ed84700fd..f0113a6cc24 100644
--- a/engines/qdengine/qd_runtime.cpp
+++ b/engines/qdengine/qd_runtime.cpp
@@ -237,8 +237,8 @@ int QDEngineEngine::engineMain() {
 	ResourceDispatcher resD;
 	resD.setTimer(ConfMan.getBool("logic_synchro_by_clock"), ConfMan.getInt("logic_period"), 300);
 	resD.attach(new MemberFunctionCallResourceUser<qdGameDispatcher>(*qd_gameD, &qdGameDispatcher::quant, ConfMan.getInt("logic_period")));
-	sndD->set_frequency_coeff(qdGameConfig::get_config().game_speed());
-	resD.set_speed(qdGameConfig::get_config().game_speed());
+	sndD->set_frequency_coeff(ConfMan.getFloat("game_speed"));
+	resD.set_speed(ConfMan.getFloat("game_speed"));
 	resD.start();
 
 	bool exit_flag = false;
@@ -261,21 +261,21 @@ int QDEngineEngine::engineMain() {
 					qdGameConfig::get_config().toggle_fps();
 #ifdef __QD_DEBUG_ENABLE__
 				else if (event.kbd.keycode == Common::KEYCODE_PAGEDOWN) {
-					float speed = qdGameConfig::get_config().game_speed() * 0.9f;
+					float speed = ConfMan.getFloat("game_speed") * 0.9f;
 					if (speed < 0.1f) speed = 0.1f;
-					qdGameConfig::get_config().set_game_speed(speed);
+					ConfMan.setFloat("game_speed", speed);
 					sndD->set_frequency_coeff(speed);
-					resD.set_speed(qdGameConfig::get_config().game_speed());
+					resD.set_speed(ConfMan.getFloat("game_speed"));
 				} else if (event.kbd.keycode == Common::KEYCODE_PAGEUP) {
-					float speed = qdGameConfig::get_config().game_speed() * 1.1f;
+					float speed = ConfMan.getFloat("game_speed") * 1.1f;
 					if (speed > 10.0f) speed = 10.0f;
-					qdGameConfig::get_config().set_game_speed(speed);
+					ConfMan.setFloat("game_speed", speed);
 					sndD->set_frequency_coeff(speed);
-					resD.set_speed(qdGameConfig::get_config().game_speed());
+					resD.set_speed(ConfMan.getFloat("game_speed"));
 				} else if (event.kbd.keycode == Common::KEYCODE_HOME) {
-					qdGameConfig::get_config().set_game_speed(1.0f);
+					ConfMan.setFloat("game_speed", 1.0f);
 					sndD->set_frequency_coeff(1.0f);
-					resD.set_speed(qdGameConfig::get_config().game_speed());
+					resD.set_speed(ConfMan.getFloat("game_speed"));
 				} else if (event.kbd.ascii == 'g')
 					qdGameConfig::get_config().toggle_show_grid();
 #endif
diff --git a/engines/qdengine/qdengine.cpp b/engines/qdengine/qdengine.cpp
index 42a72cba526..b7ff6be0a0d 100644
--- a/engines/qdengine/qdengine.cpp
+++ b/engines/qdengine/qdengine.cpp
@@ -47,6 +47,7 @@ QDEngineEngine::QDEngineEngine(OSystem *syst, const ADGameDescription *gameDesc)
 	_screenW = 640;
 	_screenH = 480;
 
+	ConfMan.registerDefault("game_speed", 1);
 	ConfMan.registerDefault("logic_period", 25);
 	ConfMan.registerDefault("logic_synchro_by_clock", true);
 	ConfMan.registerDefault("show_fps", false);


Commit: 927dedc1d39f19a70f8d93c61d6611fb94886778
    https://github.com/scummvm/scummvm/commit/927dedc1d39f19a70f8d93c61d6611fb94886778
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Use ConfMan for sound settings

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qd_runtime.cpp
    engines/qdengine/qdcore/qd_interface_dispatcher.cpp
    engines/qdengine/qdcore/util/plaympp_api.cpp
    engines/qdengine/qdcore/util/plaympp_api.h
    engines/qdengine/qdengine.cpp
    engines/qdengine/qdengine.h
    engines/qdengine/system/sound/snd_dispatcher.cpp
    engines/qdengine/system/sound/snd_dispatcher.h


diff --git a/engines/qdengine/qd_runtime.cpp b/engines/qdengine/qd_runtime.cpp
index f0113a6cc24..0b001041705 100644
--- a/engines/qdengine/qd_runtime.cpp
+++ b/engines/qdengine/qd_runtime.cpp
@@ -206,8 +206,7 @@ int QDEngineEngine::engineMain() {
 
 	sndDispatcher *sndD = new sndDispatcher;
 
-	qdGameConfig::get_config().update_sound_settings();
-	qdGameConfig::get_config().update_music_settings();
+	g_engine->syncSoundSettings();
 
 	winVideo::init();
 
diff --git a/engines/qdengine/qdcore/qd_interface_dispatcher.cpp b/engines/qdengine/qdcore/qd_interface_dispatcher.cpp
index 7403b313003..54d0897e42f 100644
--- a/engines/qdengine/qdcore/qd_interface_dispatcher.cpp
+++ b/engines/qdengine/qdcore/qd_interface_dispatcher.cpp
@@ -19,6 +19,7 @@
  *
  */
 
+#include "common/config-manager.h"
 #include "common/debug.h"
 #include "common/savefile.h"
 
@@ -642,13 +643,13 @@ bool qdInterfaceDispatcher::handle_event(int event_code, const char *event_data,
 int qdInterfaceDispatcher::option_value(int option_id, const char *option_data) {
 	switch (option_id) {
 	case qdInterfaceElement::OPTION_SOUND:
-		return (int)qdGameConfig::get_config().is_sound_enabled();
+		return ConfMan.getBool("enable_sound");
 	case qdInterfaceElement::OPTION_SOUND_VOLUME:
-		return qdGameConfig::get_config().sound_volume();
+		return ConfMan.getInt("sound_volume");
 	case qdInterfaceElement::OPTION_MUSIC:
-		return (int)qdGameConfig::get_config().is_music_enabled();
+		return ConfMan.getBool("enable_music");
 	case qdInterfaceElement::OPTION_MUSIC_VOLUME:
-		return qdGameConfig::get_config().music_volume();
+		return ConfMan.getInt("music_volume");
 	case qdInterfaceElement::OPTION_ACTIVE_PERSONAGE:
 		if (option_data) {
 			if (qdGameObjectMoving * p = qdGameDispatcher::get_dispatcher()->get_active_personage()) {
@@ -663,24 +664,20 @@ int qdInterfaceDispatcher::option_value(int option_id, const char *option_data)
 bool qdInterfaceDispatcher::set_option_value(int option_id, int value, const char *option_data) {
 	switch (option_id) {
 	case qdInterfaceElement::OPTION_SOUND:
-		qdGameConfig::get_config().toggle_sound(value > 0);
-		qdGameConfig::get_config().update_sound_settings();
-		qdGameConfig::get_config().save();
+		ConfMan.setBool("enable_sound", value > 0);
+		g_engine->syncSoundSettings();
 		return true;
 	case qdInterfaceElement::OPTION_SOUND_VOLUME:
-		qdGameConfig::get_config().set_sound_volume(value);
-		qdGameConfig::get_config().update_sound_settings();
-		qdGameConfig::get_config().save();
+		ConfMan.setInt("sound_volume", value);
+		g_engine->syncSoundSettings();
 		return true;
 	case qdInterfaceElement::OPTION_MUSIC:
-		qdGameConfig::get_config().toggle_music(value > 0);
-		qdGameConfig::get_config().update_music_settings();
-		qdGameConfig::get_config().save();
+		ConfMan.setBool("enable_music", value > 0);
+		g_engine->syncSoundSettings();
 		return true;
 	case qdInterfaceElement::OPTION_MUSIC_VOLUME:
-		qdGameConfig::get_config().set_music_volume(value);
-		qdGameConfig::get_config().update_music_settings();
-		qdGameConfig::get_config().save();
+		ConfMan.setInt("music_volume", value);
+		g_engine->syncSoundSettings();
 		return true;
 	case qdInterfaceElement::OPTION_ACTIVE_PERSONAGE:
 		if (option_data) {
@@ -747,4 +744,5 @@ const char *qdInterfaceDispatcher::get_save_title() const {
 
 	return nullptr;
 }
+
 } // namespace QDEngine
diff --git a/engines/qdengine/qdcore/util/plaympp_api.cpp b/engines/qdengine/qdcore/util/plaympp_api.cpp
index d2a4d7d3418..dcb61076ef4 100644
--- a/engines/qdengine/qdcore/util/plaympp_api.cpp
+++ b/engines/qdengine/qdcore/util/plaympp_api.cpp
@@ -19,6 +19,7 @@
  *
  */
 
+#include "common/config-manager.h"
 #include "common/debug.h"
 #include "common/stream.h"
 
@@ -157,4 +158,13 @@ mpegPlayer &mpegPlayer::instance() {
 	return player;
 }
 
+void mpegPlayer::syncMusicSettings() {
+	set_volume(ConfMan.getInt("music_volume"));
+
+	if (ConfMan.getBool("enable_music"))
+		enable();
+	else
+		disable();
+}
+
 } // namespace QDEngine
diff --git a/engines/qdengine/qdcore/util/plaympp_api.h b/engines/qdengine/qdcore/util/plaympp_api.h
index 2f7d266adce..bf7fbdf8041 100644
--- a/engines/qdengine/qdcore/util/plaympp_api.h
+++ b/engines/qdengine/qdcore/util/plaympp_api.h
@@ -73,6 +73,8 @@ public:
 	}
 	void set_volume(uint32 vol);
 
+	void syncMusicSettings();
+
 	static bool init_library(void *dsound_device);
 	static void deinit_library();
 
diff --git a/engines/qdengine/qdengine.cpp b/engines/qdengine/qdengine.cpp
index b7ff6be0a0d..061611234ff 100644
--- a/engines/qdengine/qdengine.cpp
+++ b/engines/qdengine/qdengine.cpp
@@ -34,6 +34,8 @@
 #include "qdengine/console.h"
 #include "qdengine/parser/qdscr_parser.h"
 #include "qdengine/qdcore/qd_game_dispatcher.h"
+#include "qdengine/qdcore/util/plaympp_api.h"
+#include "qdengine/system/sound/snd_dispatcher.h"
 
 namespace QDEngine {
 
@@ -48,9 +50,13 @@ QDEngineEngine::QDEngineEngine(OSystem *syst, const ADGameDescription *gameDesc)
 	_screenH = 480;
 
 	ConfMan.registerDefault("game_speed", 1);
+	ConfMan.registerDefault("enable_sound", true);
+	ConfMan.registerDefault("enable_music", true);
 	ConfMan.registerDefault("logic_period", 25);
 	ConfMan.registerDefault("logic_synchro_by_clock", true);
+	ConfMan.registerDefault("music_volume", 255);
 	ConfMan.registerDefault("show_fps", false);
+	ConfMan.registerDefault("sound_volume", 255);
 	ConfMan.registerDefault("splash_enabled", true);
 	ConfMan.registerDefault("splash_time", 3000);
 
@@ -134,6 +140,13 @@ Common::Error QDEngineEngine::loadGameStream(Common::SeekableReadStream *stream)
 	return Common::kReadingFailed;
 }
 
+void QDEngineEngine::syncSoundSettings() {
+	Engine::syncSoundSettings();
+
+	sndDispatcher::get_dispatcher()->syncSoundSettings();
+	mpegPlayer::instance().syncMusicSettings();
+}
+
 } // namespace QDEngine
 
 // Translates cp-1251..utf-8
diff --git a/engines/qdengine/qdengine.h b/engines/qdengine/qdengine.h
index 3e341445646..a97c70d8c1b 100644
--- a/engines/qdengine/qdengine.h
+++ b/engines/qdengine/qdengine.h
@@ -113,6 +113,8 @@ public:
 	Common::Error saveGameStream(Common::WriteStream *stream, bool isAutosave = false) override;
 	Common::Error loadGameStream(Common::SeekableReadStream *stream) override;
 
+	void syncSoundSettings() override;
+
 	int engineMain();
 
 	int _thumbSizeX = 0, _thumbSizeY = 0;
diff --git a/engines/qdengine/system/sound/snd_dispatcher.cpp b/engines/qdengine/system/sound/snd_dispatcher.cpp
index 7e1dfcad601..f417d89d946 100644
--- a/engines/qdengine/system/sound/snd_dispatcher.cpp
+++ b/engines/qdengine/system/sound/snd_dispatcher.cpp
@@ -19,6 +19,7 @@
  *
  */
 
+#include "common/config-manager.h"
 #include "qdengine/qd_fwd.h"
 #include "qdengine/xmath.h"
 #include "qdengine/system/graphics/gr_dispatcher.h"
@@ -199,4 +200,14 @@ void sndDispatcher::resume_sounds() {
 			it->resume();
 	}
 }
+
+void sndDispatcher::syncSoundSettings() {
+	set_volume(ConfMan.getInt("sound_volume"));
+
+	if (ConfMan.getBool("enable_sound"))
+		enable();
+	else
+		disable();
+}
+
 } // namespace QDEngine
diff --git a/engines/qdengine/system/sound/snd_dispatcher.h b/engines/qdengine/system/sound/snd_dispatcher.h
index 5ec1996b895..7ac0df0e34d 100644
--- a/engines/qdengine/system/sound/snd_dispatcher.h
+++ b/engines/qdengine/system/sound/snd_dispatcher.h
@@ -106,6 +106,8 @@ public:
 		stop_sounds();
 	}
 
+	void syncSoundSettings();
+
 	//! Возвращает указатель на текущий диспетчер.
 	static inline sndDispatcher *get_dispatcher() {
 		return _dispatcher_ptr;


Commit: aab48c2c5b69a6ae3a42922965bf88004b1a2cc7
    https://github.com/scummvm/scummvm/commit/aab48c2c5b69a6ae3a42922965bf88004b1a2cc7
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Hardcode pixel format while initialising window

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qd_runtime.cpp


diff --git a/engines/qdengine/qd_runtime.cpp b/engines/qdengine/qd_runtime.cpp
index 0b001041705..cbe2e0501ee 100644
--- a/engines/qdengine/qd_runtime.cpp
+++ b/engines/qdengine/qd_runtime.cpp
@@ -349,7 +349,7 @@ void init_graphics() {
 }
 
 bool init_graphics_dispatcher() {
-	grDispatcher::instance()->init(g_engine->_screenW, g_engine->_screenH, (grPixelFormat)qdGameConfig::get_config().pixel_format());
+	grDispatcher::instance()->init(g_engine->_screenW, g_engine->_screenH, GR_RGB565);
 	return true;
 }
 


Commit: f03376602e84ff3e288f9784e25a1b9ef3e135cf
    https://github.com/scummvm/scummvm/commit/f03376602e84ff3e288f9784e25a1b9ef3e135cf
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Use QDEngineEngine::_debugDraw instead of qdGameConfig::_debug_draw

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qdcore/qd_interface_text_window.cpp
    engines/qdengine/qdcore/qd_screen_text.cpp


diff --git a/engines/qdengine/qdcore/qd_interface_text_window.cpp b/engines/qdengine/qdcore/qd_interface_text_window.cpp
index 7f1943a0064..fcdd8705212 100644
--- a/engines/qdengine/qdcore/qd_interface_text_window.cpp
+++ b/engines/qdengine/qdcore/qd_interface_text_window.cpp
@@ -392,7 +392,7 @@ bool qdInterfaceTextWindow::redraw() const {
 
 			grDispatcher::instance()->setClip(l_clip, t_clip, r_clip, b_clip);
 
-			if (qdGameConfig::get_config().debug_draw())
+			if (g_engine->_debugDraw)
 				grDispatcher::instance()->rectangle(ar.x - _text_size.x / 2, ar.y - _text_size.y / 2, _text_size.x, _text_size.y, 0xFFFFFF, 0, GR_OUTLINED, 3);
 		}
 	} else if (_windowType == WINDOW_EDIT || _windowType == WINDOW_TEXT) {
diff --git a/engines/qdengine/qdcore/qd_screen_text.cpp b/engines/qdengine/qdcore/qd_screen_text.cpp
index 6f817f8669c..69ecabc4bd2 100644
--- a/engines/qdengine/qdcore/qd_screen_text.cpp
+++ b/engines/qdengine/qdcore/qd_screen_text.cpp
@@ -166,7 +166,7 @@ void qdScreenText::redraw(const Vect2i &owner_pos) const {
 	                     find_font(_text_format.font_type());
 
 	grDispatcher::instance()->drawAlignedText(x, y, _size.x, _size.y, col, data(), grTextAlign(_text_format.alignment()), 0, 0, font);
-	if (qdGameConfig::get_config().debug_draw())
+	if (g_engine->_debugDraw)
 		grDispatcher::instance()->rectangle(x, y, _size.x, _size.y, col, 0, GR_OUTLINED);
 }
 


Commit: 39d2ca2045195ac3f1bbaf2c201dc196cafb8d82
    https://github.com/scummvm/scummvm/commit/39d2ca2045195ac3f1bbaf2c201dc196cafb8d82
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Use ConfMan instead of `toggle_fps`

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qd_runtime.cpp


diff --git a/engines/qdengine/qd_runtime.cpp b/engines/qdengine/qd_runtime.cpp
index cbe2e0501ee..5c47ae819be 100644
--- a/engines/qdengine/qd_runtime.cpp
+++ b/engines/qdengine/qd_runtime.cpp
@@ -257,7 +257,7 @@ int QDEngineEngine::engineMain() {
 				break;
 			case Common::EVENT_KEYDOWN:
 				if (event.kbd.ascii == 'f')
-					qdGameConfig::get_config().toggle_fps();
+					ConfMan.setBool("show_fps", !ConfMan.getBool("show_fps"));
 #ifdef __QD_DEBUG_ENABLE__
 				else if (event.kbd.keycode == Common::KEYCODE_PAGEDOWN) {
 					float speed = ConfMan.getFloat("game_speed") * 0.9f;


Commit: 7f8344d28ac58c910509b326f3544ec54d51e8de
    https://github.com/scummvm/scummvm/commit/7f8344d28ac58c910509b326f3544ec54d51e8de
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Add a comment regarding deleted check

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qdcore/qd_minigame.cpp


diff --git a/engines/qdengine/qdcore/qd_minigame.cpp b/engines/qdengine/qdcore/qd_minigame.cpp
index b062345e352..afaeef6d09e 100644
--- a/engines/qdengine/qdcore/qd_minigame.cpp
+++ b/engines/qdengine/qdcore/qd_minigame.cpp
@@ -139,6 +139,9 @@ bool qdMiniGame::load_script(const xml::tag *p) {
 			_config.reserve(_config.size() + config_size);
 			break;
 		case QDSCR_MINIGAME_CONFIG_PARAMETER: {
+			/* if (!qdGameConfig::get_config().minigame_read_only_ini())
+			 * has been removed since none of the games require this setting
+			 */
 			qdMinigameConfigParameter prm;
 			prm.load_script(&*it);
 			config_container_t::iterator cfg_it = Common::find(_config.begin(), _config.end(), prm);


Commit: 88e92ae05f18cde2ed69d684c4761669c036f2d0
    https://github.com/scummvm/scummvm/commit/88e92ae05f18cde2ed69d684c4761669c036f2d0
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Get rid of `qdGameConfig` completely

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qd_runtime.cpp
    engines/qdengine/qdcore/qd_setup.cpp
    engines/qdengine/qdcore/qd_setup.h


diff --git a/engines/qdengine/qd_runtime.cpp b/engines/qdengine/qd_runtime.cpp
index 5c47ae819be..b8845db6d7e 100644
--- a/engines/qdengine/qd_runtime.cpp
+++ b/engines/qdengine/qd_runtime.cpp
@@ -170,8 +170,6 @@ int QDEngineEngine::engineMain() {
 
 	grD->showMouse(); // FIXME HACK
 
-	qdGameConfig::get_config().load();
-
 	SplashScreen sp;
 	if (ConfMan.getBool("splash_enabled")) {
 		sp.create(IDB_SPLASH);
diff --git a/engines/qdengine/qdcore/qd_setup.cpp b/engines/qdengine/qdcore/qd_setup.cpp
index 58ffe14f221..b7ef9598b76 100644
--- a/engines/qdengine/qdcore/qd_setup.cpp
+++ b/engines/qdengine/qdcore/qd_setup.cpp
@@ -19,22 +19,13 @@
  *
  */
 
-#include "common/archive.h"
 #include "common/formats/ini-file.h"
 
 #include "qdengine/qd_fwd.h"
 #include "qdengine/qdcore/qd_setup.h"
-#include "qdengine/system/graphics/gr_dispatcher.h"
-
-#include "qdengine/system/sound/snd_dispatcher.h"
-#include "qdengine/qdcore/qd_game_scene.h"
-#include "qdengine/qdcore/util/plaympp_api.h"
 
 namespace QDEngine {
 
-const char *const qdGameConfig::_ini_name = "qd_game.ini";
-qdGameConfig qdGameConfig::_config;
-
 bool enumerateIniSections(const char *fname, Common::INIFile::SectionList &sectionList) {
 
 	Common::INIFile ini;
@@ -74,185 +65,4 @@ void putIniKey(const char *fname, const char *section, const char *key, const ch
 	warning("STUB: putIniKey");
 }
 
-qdGameConfig::qdGameConfig() {
-	_screen_sx = 640;
-	_screen_sy = 480;
-
-	_bits_per_pixel = 2;
-	_debug_draw = false;
-	_debug_show_grid = false;
-	_fullscreen = true;
-	_triggers_debug = false;
-
-	_driver_id = 1;
-	_show_fps = false;
-	_force_full_redraw = false;
-
-	_enable_sound = true;
-	_sound_volume = 255;
-	_enable_music = true;
-	_music_volume = 255;
-
-	_logic_period = 25;
-	_logic_synchro_by_clock = 1;
-	_game_speed = 1.0f;
-
-	_is_splash_enabled = true;
-	_splash_time = 3000;
-
-	_enable_profiler = false;
-
-	_locale = "Russian";
-
-	_minigame_read_only_ini = false;
-}
-
-void qdGameConfig::set_pixel_format(int pf) {
-	switch (pf) {
-	case GR_ARGB1555:
-		_bits_per_pixel = 0;
-		break;
-	case GR_RGB565:
-		_bits_per_pixel = 1;
-		break;
-	case GR_RGB888:
-		_bits_per_pixel = 2;
-		break;
-	case GR_ARGB8888:
-		_bits_per_pixel = 3;
-		break;
-	}
-}
-
-int qdGameConfig::bits_per_pixel() const {
-	switch (_bits_per_pixel) {
-	case 0:
-		return 15;
-	case 1:
-		return 16;
-	case 2:
-		return 24;
-	case 3:
-		return 32;
-	}
-
-	return 24;
-}
-
-void qdGameConfig::set_bits_per_pixel(int bpp) {
-	switch (bpp) {
-	case 15:
-		_bits_per_pixel = 0;
-		break;
-	case 16:
-		_bits_per_pixel = 1;
-		break;
-	case 24:
-		_bits_per_pixel = 2;
-		break;
-	case 32:
-		_bits_per_pixel = 3;
-		break;
-	}
-}
-
-int qdGameConfig::pixel_format() const {
-	switch (bits_per_pixel()) {
-	case 15:
-		return GR_ARGB1555;
-	case 16:
-		return GR_RGB565;
-	case 24:
-		return GR_RGB888;
-	case 32:
-		return GR_ARGB8888;
-	}
-
-	return GR_RGB888;
-}
-
-void qdGameConfig::load() {
-	const char *p = 0;
-	p = getIniKey(_ini_name, "graphics", "color_depth");
-	if (strlen(p)) _bits_per_pixel = atoi(p);
-
-	p = getIniKey(_ini_name, "graphics", "fullscreen");
-	if (strlen(p)) _fullscreen = (atoi(p)) > 0;
-
-	p = getIniKey(_ini_name, "graphics", "driver");
-	if (strlen(p)) _driver_id = atoi(p);
-
-	p = getIniKey(_ini_name, "game", "logic_period");
-	if (strlen(p)) _logic_period = atoi(p);
-
-	p = getIniKey(_ini_name, "game", "synchro_by_clock");
-	if (strlen(p)) _logic_synchro_by_clock = atoi(p);
-
-	p = getIniKey(_ini_name, "game", "game_speed");
-	if (strlen(p)) _game_speed = atof(p);
-
-	p = getIniKey(_ini_name, "game", "locale");
-	if (strlen(p)) _locale = p;
-
-	p = getIniKey(_ini_name, "game", "fps_period");
-	if (strlen(p)) qdGameScene::fps_counter()->set_period(atoi(p));
-
-	if (atoi(getIniKey(_ini_name, "debug", "full_redraw")))
-		_force_full_redraw = true;
-
-	if (atoi(getIniKey(_ini_name, "debug", "enable_profiler")))
-		_enable_profiler = true;
-
-	p = getIniKey(_ini_name, "debug", "triggers_log_file");
-	if (strlen(p)) _profiler_file = p;
-
-	if (atoi(getIniKey(_ini_name, "debug", "triggers_debug")))
-		_triggers_debug = true;
-
-	p = getIniKey(_ini_name, "sound", "enable_sound");
-	if (strlen(p)) _enable_sound = (atoi(p) > 0);
-
-	p = getIniKey(_ini_name, "sound", "sound_volume");
-	if (strlen(p)) _sound_volume = atoi(p);
-
-	p = getIniKey(_ini_name, "sound", "enable_music");
-	if (strlen(p)) _enable_music = (atoi(p) > 0);
-
-	p = getIniKey(_ini_name, "sound", "music_volume");
-	if (strlen(p)) _music_volume = atoi(p);
-
-	p = getIniKey(_ini_name, "minigame", "read_only_ini");
-	if (strlen(p)) _minigame_read_only_ini = (atoi(p) > 0);
-}
-
-void qdGameConfig::save() {
-	putIniKey(_ini_name, "graphics", "color_depth", _bits_per_pixel);
-	putIniKey(_ini_name, "graphics", "fullscreen", _fullscreen);
-	putIniKey(_ini_name, "graphics", "driver", _driver_id);
-
-	putIniKey(_ini_name, "sound", "enable_sound", _enable_sound);
-	putIniKey(_ini_name, "sound", "sound_volume", _sound_volume);
-	putIniKey(_ini_name, "sound", "enable_music", _enable_music);
-	putIniKey(_ini_name, "sound", "music_volume", _music_volume);
-}
-
-bool qdGameConfig::update_sound_settings() const {
-#ifndef __QD_SYSLIB__
-	if (sndDispatcher * dp = sndDispatcher::get_dispatcher()) {
-		dp->set_volume(_sound_volume);
-		if (_enable_sound) dp->enable();
-		else dp->disable();
-
-		return true;
-	}
-#endif
-	return false;
-}
-
-bool qdGameConfig::update_music_settings() const {
-	mpegPlayer::instance().set_volume(_music_volume);
-	if (_enable_music) mpegPlayer::instance().enable();
-	else mpegPlayer::instance().disable();
-	return true;
-}
 } // namespace QDEngine
diff --git a/engines/qdengine/qdcore/qd_setup.h b/engines/qdengine/qdcore/qd_setup.h
index 4d3219b2427..2d1c5864ff9 100644
--- a/engines/qdengine/qdcore/qd_setup.h
+++ b/engines/qdengine/qdcore/qd_setup.h
@@ -26,203 +26,6 @@
 
 namespace QDEngine {
 
-//! Настройки.
-class qdGameConfig {
-public:
-	qdGameConfig();
-	~qdGameConfig() { }
-
-	int screen_sx() const {
-		return _screen_sx;
-	}
-	int screen_sy() const {
-		return _screen_sy;
-	}
-
-	int driver_ID() const {
-		return _driver_id;
-	}
-	void set_driver_ID(int id) {
-		_driver_id = id;
-	}
-
-	void set_screen_size(int sx, int sy) {
-		_screen_sx = sx;
-		_screen_sy = sy;
-	}
-
-	int pixel_format() const;
-	void set_pixel_format(int pf);
-
-	int bits_per_pixel() const;
-	void set_bits_per_pixel(int bpp);
-
-	bool debug_draw() const {
-		return _debug_draw;
-	}
-	void toggle_debug_draw() {
-		_debug_draw = !_debug_draw;
-	}
-	bool debug_show_grid() const {
-		return _debug_show_grid;
-	}
-	void toggle_show_grid() {
-		_debug_show_grid = !_debug_show_grid;
-	}
-
-	bool force_full_redraw() const {
-		return _force_full_redraw;
-	}
-	void toggle_full_redraw() {
-		_force_full_redraw = !_force_full_redraw;
-	}
-
-	bool fullscreen() const {
-		return _fullscreen;
-	}
-	void toggle_fullscreen() {
-		_fullscreen = !_fullscreen;
-	}
-
-	const char *locale() const {
-		return _locale.c_str();
-	}
-
-	void load();
-	void save();
-
-	static qdGameConfig &get_config() {
-		return _config;
-	}
-	static void set_config(const qdGameConfig &s) {
-		_config = s;
-	}
-
-	static const char *ini_name() {
-		return _ini_name;
-	}
-
-	bool triggers_debug() const {
-		return _triggers_debug;
-	}
-	void toggle_triggers_debug(bool v) {
-		_triggers_debug = v;
-	}
-
-	bool show_fps() const {
-		return _show_fps;
-	}
-	void toggle_fps() {
-		_show_fps = !_show_fps;
-	}
-
-	bool is_sound_enabled() const {
-		return _enable_sound;
-	}
-	void toggle_sound(bool state) {
-		_enable_sound = state;
-	}
-	uint32 sound_volume() const {
-		return _sound_volume;
-	}
-	void set_sound_volume(uint32 vol) {
-		_sound_volume = vol;
-	}
-	bool update_sound_settings() const;
-
-	bool is_music_enabled() const {
-		return _enable_music;
-	}
-	void toggle_music(bool state) {
-		_enable_music = state;
-	}
-	uint32 music_volume() const {
-		return _music_volume;
-	}
-	void set_music_volume(uint32 vol) {
-		_music_volume = vol;
-	}
-	bool update_music_settings() const;
-
-	int logic_period() const {
-		return _logic_period;
-	}
-	int logic_synchro_by_clock() const {
-		return _logic_synchro_by_clock;
-	}
-
-	float game_speed() const {
-		return _game_speed;
-	}
-	void set_game_speed(float speed) {
-		_game_speed = speed;
-	}
-
-	bool is_splash_enabled() const {
-		return _is_splash_enabled;
-	}
-	int splash_time() const {
-		return _splash_time;
-	}
-
-	bool is_profiler_enabled() const {
-		return _enable_profiler;
-	}
-	void toggle_profiler(bool state) {
-		_enable_profiler = state;
-	}
-	const char *profiler_file() const {
-		return _profiler_file.c_str();
-	}
-	void set_profiler_file(const char *fname) {
-		_profiler_file = fname;
-	}
-
-	bool minigame_read_only_ini() const {
-		return _minigame_read_only_ini;
-	}
-
-private:
-
-	int _bits_per_pixel;
-	bool _fullscreen;
-
-	int _driver_id;
-
-	int _screen_sx;
-	int _screen_sy;
-
-	bool _enable_sound;
-	uint32 _sound_volume;
-
-	bool _enable_music;
-	uint32 _music_volume;
-
-	bool _debug_draw;
-	bool _debug_show_grid;
-
-	bool _triggers_debug;
-	bool _show_fps;
-	bool _force_full_redraw;
-
-	int _logic_period;
-	int _logic_synchro_by_clock;
-	float _game_speed;
-
-	bool _is_splash_enabled;
-	int _splash_time;
-
-	bool _enable_profiler;
-	Common::String _profiler_file;
-
-	Common::String _locale;
-
-	bool _minigame_read_only_ini;
-
-	static qdGameConfig _config;
-	static const char *const _ini_name;
-};
-
 const char *getIniKey(const char *fname, const char *section, const char *key);
 void putIniKey(const char *fname, const char *section, const char *key, int val);
 void putIniKey(const char *fname, const char *section, const char *key, const char *val);


Commit: 42a8150e410d7575026a114d45737e32a8d62629
    https://github.com/scummvm/scummvm/commit/42a8150e410d7575026a114d45737e32a8d62629
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Remove `putIniKey()`

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qdcore/qd_setup.cpp
    engines/qdengine/qdcore/qd_setup.h


diff --git a/engines/qdengine/qdcore/qd_setup.cpp b/engines/qdengine/qdcore/qd_setup.cpp
index b7ef9598b76..1d14807524f 100644
--- a/engines/qdengine/qdcore/qd_setup.cpp
+++ b/engines/qdengine/qdcore/qd_setup.cpp
@@ -55,14 +55,4 @@ const char *getIniKey(const char *fname, const char *section, const char *key) {
 	return buf.c_str();
 }
 
-void putIniKey(const char *fname, const char *section, const char *key, int val) {
-	Common::String str;
-	str += Common::String::format("%d", val);
-	putIniKey(fname, section, key, str.c_str());
-}
-
-void putIniKey(const char *fname, const char *section, const char *key, const char *val) {
-	warning("STUB: putIniKey");
-}
-
 } // namespace QDEngine
diff --git a/engines/qdengine/qdcore/qd_setup.h b/engines/qdengine/qdcore/qd_setup.h
index 2d1c5864ff9..f3e15857542 100644
--- a/engines/qdengine/qdcore/qd_setup.h
+++ b/engines/qdengine/qdcore/qd_setup.h
@@ -27,8 +27,6 @@
 namespace QDEngine {
 
 const char *getIniKey(const char *fname, const char *section, const char *key);
-void putIniKey(const char *fname, const char *section, const char *key, int val);
-void putIniKey(const char *fname, const char *section, const char *key, const char *val);
 bool enumerateIniSections(const char *fname, Common::INIFile::SectionList &section_list);
 
 } // namespace QDEngine


Commit: 50b30e254c212e75f145a7ad5165985496030443
    https://github.com/scummvm/scummvm/commit/50b30e254c212e75f145a7ad5165985496030443
Author: kunxl-gg (tiwari.25 at iitj.ac.in)
Date: 2024-08-25T23:17:20+02:00

Commit Message:
QDENGINE: Use `ConfMan.flushToDisk()` to persist values

Signed-off-by: kunxl-gg <tiwari.25 at iitj.ac.in>

Changed paths:
    engines/qdengine/qd_runtime.cpp


diff --git a/engines/qdengine/qd_runtime.cpp b/engines/qdengine/qd_runtime.cpp
index b8845db6d7e..0ba801b200d 100644
--- a/engines/qdengine/qd_runtime.cpp
+++ b/engines/qdengine/qd_runtime.cpp
@@ -263,16 +263,19 @@ int QDEngineEngine::engineMain() {
 					ConfMan.setFloat("game_speed", speed);
 					sndD->set_frequency_coeff(speed);
 					resD.set_speed(ConfMan.getFloat("game_speed"));
+					ConfMan.flushToDisk();
 				} else if (event.kbd.keycode == Common::KEYCODE_PAGEUP) {
 					float speed = ConfMan.getFloat("game_speed") * 1.1f;
 					if (speed > 10.0f) speed = 10.0f;
 					ConfMan.setFloat("game_speed", speed);
 					sndD->set_frequency_coeff(speed);
 					resD.set_speed(ConfMan.getFloat("game_speed"));
+					ConfMan.flushToDisk();
 				} else if (event.kbd.keycode == Common::KEYCODE_HOME) {
 					ConfMan.setFloat("game_speed", 1.0f);
 					sndD->set_frequency_coeff(1.0f);
 					resD.set_speed(ConfMan.getFloat("game_speed"));
+					ConfMan.flushToDisk();
 				} else if (event.kbd.ascii == 'g')
 					qdGameConfig::get_config().toggle_show_grid();
 #endif




More information about the Scummvm-git-logs mailing list