[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 §ionList) {
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 §ion_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