mirror of
https://github.com/scummvm/scummvm.git
synced 2026-06-20 05:45:29 +00:00
ULTIMA8: Adding area to pass through ScummVM configuration settings to the engine
This commit is contained in:
1 parent
328e840769
commit
40bdce6190
3 files changed
+18
-3
No files matched your search
@@ -19,6 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#include "ultima/ultima8/misc/pent_include.h"
|
||||
#include "ultima/ultima8/conf/setting_manager.h"
|
||||
#include "ultima/ultima8/conf/config_file_manager.h"
|
||||
#include "common/config-manager.h"
|
||||
|
||||
namespace Ultima8 {
|
||||
|
||||
@@ -36,6 +37,17 @@ SettingManager::SettingManager() {
|
||||
conffileman = ConfigFileManager::get_instance();
|
||||
|
||||
conffileman->readConfigString("", "defaultsettings", false);
|
||||
|
||||
// Setup ScummVM configuration settings
|
||||
setupScummVMSettings();
|
||||
}
|
||||
|
||||
void SettingManager::setupScummVMSettings() {
|
||||
conffileman->readConfigString("", "ScummVM", false);
|
||||
|
||||
int saveSlot = ConfMan.hasKey("save_slot") ? ConfMan.getInt("save_slot") : -1;
|
||||
if (saveSlot != -1)
|
||||
set("lastSave", std::string::format("@save/%d", saveSlot), DOM_SCUMMVM);
|
||||
}
|
||||
|
||||
SettingManager::~SettingManager() {
|
||||
@@ -217,6 +229,8 @@ istring SettingManager::getConfigKey(istring key, Domain dom) {
|
||||
|
||||
if (dom == DOM_DEFAULTS) {
|
||||
ckey = "defaultsettings/";
|
||||
} else if (dom == DOM_SCUMMVM) {
|
||||
ckey = "ScummVM/";
|
||||
} else {
|
||||
ckey = "settings/" + domains[dom];
|
||||
}
|
||||
|
||||
@@ -44,8 +44,9 @@ public:
|
||||
|
||||
enum Domain {
|
||||
DOM_DEFAULTS = 0,
|
||||
DOM_GLOBAL = 1,
|
||||
DOM_GAME = 2,
|
||||
DOM_SCUMMVM = 1,
|
||||
DOM_GLOBAL = 2,
|
||||
DOM_GAME = 3,
|
||||
DOM_CURRENT = 100
|
||||
};
|
||||
|
||||
@@ -120,6 +121,7 @@ private:
|
||||
bool findKeyDomain(Pentagram::istring key, Domain dom, Domain &keydom);
|
||||
Pentagram::istring getConfigKey(Pentagram::istring key, Domain dom);
|
||||
void callCallbacks(Pentagram::istring key);
|
||||
void setupScummVMSettings();
|
||||
|
||||
Callbacks callbacks;
|
||||
std::vector<Pentagram::istring> domains;
|
||||
|
||||
@@ -107,7 +107,6 @@ void CoreApp::sysInit() {
|
||||
settingman = new SettingManager();
|
||||
settingman->setDomainName(SettingManager::DOM_GLOBAL, "pentagram");
|
||||
settingman->setCurrentDomain(SettingManager::DOM_GLOBAL);
|
||||
|
||||
}
|
||||
|
||||
// load configuration files
|
||||
|
||||
Reference in new issue
Block a user