mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-23 22:52:34 +01:00
byuu says: Changelog: - fixed icarus to save settings properly - fixed higan's full screen toggle on OS X - increased "Add Codes" button width to avoid text clipping - implemented cocoa/canvas.cpp - added 1s delay after mapping inputs before re-enabling the window (wasn't actually necessary, but already added it) - fixed setEnabled(false) on Cocoa's ListView and TextEdit widgets - updated nall::programpath() to use GetModuleFileName on Windows - GB: system uses open collector logic, so unmapped reads return 0xFF, not 0x00 (passes blargg's cpu_instrs again) [gekkio]
26 lines
771 B
C++
26 lines
771 B
C++
struct Settings : Markup::Node {
|
|
Settings();
|
|
~Settings();
|
|
};
|
|
|
|
Settings::Settings() {
|
|
Markup::Node::operator=(BML::unserialize(string::read(locate({configpath(), "icarus/"}, "settings.bml"))));
|
|
|
|
auto set = [&](const string& name, const string& value) {
|
|
//create node and set to default value only if it does not already exist
|
|
if(!operator[](name)) operator()(name).setValue(value);
|
|
};
|
|
|
|
set("Library/Location", {userpath(), "Emulation/"});
|
|
|
|
set("icarus/Path", userpath());
|
|
set("icarus/CreateManifests", false);
|
|
set("icarus/UseDatabase", true);
|
|
set("icarus/UseHeuristics", true);
|
|
}
|
|
|
|
Settings::~Settings() {
|
|
directory::create({configpath(), "icarus/"});
|
|
file::write(locate({configpath(), "icarus/"}, "settings.bml"), BML::serialize(*this));
|
|
}
|