Update to v088r11 release.
byuu says:
Changelog:
- phoenix has added Window::setModal(bool modal = true);
- file dialog is now modal. This allows emulation cores to request data
and get it immediately before continuing the loading process
- save data is hooked up for most systems, still need to handle
subsystem slot saves (Sufami Turbo, basically.)
- toggle fullscreen key binding added (Alt+Enter for now. I think F11 is
probably better though, Enter is often mapped to game start button.)
- video scaling is in (center, scale, stretch), works the same in
windowed and fullscreen mode (stretch hides resize window option), all
in the settings menu now
- enough structure to map all saved paths for the browser and to load
BS-X slotted carts, BS-X carts, single Sufami Turbo carts
Caveats / Missing:
- Super Game Boy input doesn't work yet (due to change in callback
binding)
- doesn't load secondary Sufami Turbo slot yet
- BS-X BIOS isn't show the data pack games to load for some reason (ugh,
I hate the shit out of debugging BS-X stuff ...)
- need mute audio, sync audio+video toggle, save/load state menu and
quick keys, XML mapping information window
- need cheat editor and cheat database
- need state manager
- need to sort subsystems below main systems in load menu (basically
just see if media.slot.size() > 0)
- need video shaders (will probably leave off filters for the time being
... due to that 24/30-bit thing)
- need video adjustments (contrast etc, overscan masks)
- need audio adjustments (frequency, latency, resampler, volume,
per-system frequency)
- need driver selection and input focus policy (driver crash detection
would be nice too)
- need NSS DIP switch settings (that one will be really fun)
- need to save and load window geometry settings
- need to hook up controller selection (won't be fun), create a map to
hide controllers with no inputs to reassign
2012-05-03 12:36:47 +00:00
|
|
|
#include "../ethos.hpp"
|
2013-05-02 11:25:45 +00:00
|
|
|
ConfigurationSettings* config = nullptr;
|
2013-04-14 08:52:47 +00:00
|
|
|
|
|
|
|
ConfigurationSettings::ConfigurationSettings() {
|
2013-12-14 06:25:12 +00:00
|
|
|
video.append(video.driver = ruby::video.optimalDriver(), "Driver");
|
2013-04-14 08:52:47 +00:00
|
|
|
video.append(video.synchronize = false, "Synchronize");
|
|
|
|
video.append(video.shader = "Blur", "Shader");
|
|
|
|
video.append(video.scaleMode = 0, "ScaleMode");
|
|
|
|
video.append(video.aspectCorrection = true, "AspectCorrection");
|
2013-12-07 09:12:37 +00:00
|
|
|
video.append(video.colorEmulation = true, "ColorEmulation");
|
2013-04-14 08:52:47 +00:00
|
|
|
video.maskOverscan.assign(video.maskOverscan.enable = false);
|
|
|
|
video.maskOverscan.append(video.maskOverscan.horizontal = 8, "Horizontal");
|
|
|
|
video.maskOverscan.append(video.maskOverscan.vertical = 8, "Vertical");
|
|
|
|
video.append(video.maskOverscan, "MaskOverscan");
|
|
|
|
video.append(video.saturation = 100, "Saturation");
|
Update to v093r02 release.
byuu says:
Changelog:
- nall: fixed major memory leak in string class
- ruby: video shaders support #define-based settings now
- phoenix/GTK+: support > 256x256 icons for window / task bar / alt-tab
- sfc: remove random/ and config/, merge into system/
- ethos: delete higan.png (48x48), replace with higan512.png (512x512)
as new higan.png
- ethos: default gamma to 100% (no color adjustment)
- ethos: use "Video Shaders/Display Emulation/" instead of "Video
Shaders/Emulation/"
- use g++ instead of g++-4.7 (g++ -v must be >= 4.7)
- use -std=c++11 instead of -std=gnu++11
- applied a few patches from Debian upstream to make their packaging job
easier
So because colors are normalized in GLSL, I won't be able to offer video
shaders absolute color literals. We will have to perform basic color
conversion inside the core.
As such, the current plan is to create some sort of Emulator::Settings
interface. With that, I'll connect an option for color correction, which
will be on by default. For FC/SFC, that will mean gamma correction
(darker / stronger colors), and for GB/GBC/GBA, it will mean simulating
the weird brightness levels of the displays. I am undecided on whether
to use pea soup green for the GB or not. By not doing so, it'll be
easier for the display emulation shader to do it.
2013-11-09 11:45:54 +00:00
|
|
|
video.append(video.gamma = 100, "Gamma");
|
2013-04-14 08:52:47 +00:00
|
|
|
video.append(video.luminance = 100, "Luminance");
|
|
|
|
video.append(video.startFullScreen = false, "StartFullScreen");
|
|
|
|
append(video, "Video");
|
|
|
|
|
2013-12-14 06:25:12 +00:00
|
|
|
audio.append(audio.driver = ruby::audio.optimalDriver(), "Driver");
|
2013-04-14 08:52:47 +00:00
|
|
|
audio.append(audio.synchronize = true, "Synchronize");
|
|
|
|
audio.append(audio.frequency = 48000, "Frequency");
|
|
|
|
audio.append(audio.latency = 60, "Latency");
|
|
|
|
audio.append(audio.resampler = 2, "Resampler");
|
|
|
|
audio.append(audio.volume = 100, "Volume");
|
|
|
|
audio.append(audio.mute = false, "Mute");
|
|
|
|
append(audio, "Audio");
|
|
|
|
|
2013-12-14 06:25:12 +00:00
|
|
|
input.append(input.driver = ruby::input.optimalDriver(), "Driver");
|
2013-04-14 08:52:47 +00:00
|
|
|
input.focus.append(input.focus.pause = false, "Pause");
|
|
|
|
input.focus.append(input.focus.allow = false, "AllowInput");
|
|
|
|
input.append(input.focus, "Focus");
|
|
|
|
append(input, "Input");
|
|
|
|
|
|
|
|
timing.append(timing.video = 60.0, "Video");
|
|
|
|
timing.append(timing.audio = 48000.0, "Audio");
|
|
|
|
append(timing, "Timing");
|
|
|
|
|
|
|
|
server.append(server.hostname = "", "Hostname");
|
|
|
|
server.append(server.username = "", "Username");
|
|
|
|
server.append(server.password = "", "Password");
|
|
|
|
append(server, "Server");
|
|
|
|
|
2013-12-03 10:01:59 +00:00
|
|
|
library.append(library.selection = -1, "Selection");
|
2013-12-10 12:12:54 +00:00
|
|
|
library.append(library.mediaMode = 0, "MediaMode");
|
2013-11-28 10:32:53 +00:00
|
|
|
library.append(library.showOnStartup = true, "ShowOnStartup");
|
|
|
|
append(library, "Library");
|
|
|
|
|
Update to v088r11 release.
byuu says:
Changelog:
- phoenix has added Window::setModal(bool modal = true);
- file dialog is now modal. This allows emulation cores to request data
and get it immediately before continuing the loading process
- save data is hooked up for most systems, still need to handle
subsystem slot saves (Sufami Turbo, basically.)
- toggle fullscreen key binding added (Alt+Enter for now. I think F11 is
probably better though, Enter is often mapped to game start button.)
- video scaling is in (center, scale, stretch), works the same in
windowed and fullscreen mode (stretch hides resize window option), all
in the settings menu now
- enough structure to map all saved paths for the browser and to load
BS-X slotted carts, BS-X carts, single Sufami Turbo carts
Caveats / Missing:
- Super Game Boy input doesn't work yet (due to change in callback
binding)
- doesn't load secondary Sufami Turbo slot yet
- BS-X BIOS isn't show the data pack games to load for some reason (ugh,
I hate the shit out of debugging BS-X stuff ...)
- need mute audio, sync audio+video toggle, save/load state menu and
quick keys, XML mapping information window
- need cheat editor and cheat database
- need state manager
- need to sort subsystems below main systems in load menu (basically
just see if media.slot.size() > 0)
- need video shaders (will probably leave off filters for the time being
... due to that 24/30-bit thing)
- need video adjustments (contrast etc, overscan masks)
- need audio adjustments (frequency, latency, resampler, volume,
per-system frequency)
- need driver selection and input focus policy (driver crash detection
would be nice too)
- need NSS DIP switch settings (that one will be really fun)
- need to save and load window geometry settings
- need to hook up controller selection (won't be fun), create a map to
hide controllers with no inputs to reassign
2012-05-03 12:36:47 +00:00
|
|
|
load();
|
|
|
|
}
|
|
|
|
|
2013-04-14 08:52:47 +00:00
|
|
|
void ConfigurationSettings::load() {
|
|
|
|
Configuration::Document::load(program->path("settings.bml"));
|
Update to v088r11 release.
byuu says:
Changelog:
- phoenix has added Window::setModal(bool modal = true);
- file dialog is now modal. This allows emulation cores to request data
and get it immediately before continuing the loading process
- save data is hooked up for most systems, still need to handle
subsystem slot saves (Sufami Turbo, basically.)
- toggle fullscreen key binding added (Alt+Enter for now. I think F11 is
probably better though, Enter is often mapped to game start button.)
- video scaling is in (center, scale, stretch), works the same in
windowed and fullscreen mode (stretch hides resize window option), all
in the settings menu now
- enough structure to map all saved paths for the browser and to load
BS-X slotted carts, BS-X carts, single Sufami Turbo carts
Caveats / Missing:
- Super Game Boy input doesn't work yet (due to change in callback
binding)
- doesn't load secondary Sufami Turbo slot yet
- BS-X BIOS isn't show the data pack games to load for some reason (ugh,
I hate the shit out of debugging BS-X stuff ...)
- need mute audio, sync audio+video toggle, save/load state menu and
quick keys, XML mapping information window
- need cheat editor and cheat database
- need state manager
- need to sort subsystems below main systems in load menu (basically
just see if media.slot.size() > 0)
- need video shaders (will probably leave off filters for the time being
... due to that 24/30-bit thing)
- need video adjustments (contrast etc, overscan masks)
- need audio adjustments (frequency, latency, resampler, volume,
per-system frequency)
- need driver selection and input focus policy (driver crash detection
would be nice too)
- need NSS DIP switch settings (that one will be really fun)
- need to save and load window geometry settings
- need to hook up controller selection (won't be fun), create a map to
hide controllers with no inputs to reassign
2012-05-03 12:36:47 +00:00
|
|
|
save(); //creates file if it does not exist
|
|
|
|
}
|
|
|
|
|
2013-04-14 08:52:47 +00:00
|
|
|
void ConfigurationSettings::save() {
|
|
|
|
Configuration::Document::save(program->path("settings.bml"));
|
Update to v088r11 release.
byuu says:
Changelog:
- phoenix has added Window::setModal(bool modal = true);
- file dialog is now modal. This allows emulation cores to request data
and get it immediately before continuing the loading process
- save data is hooked up for most systems, still need to handle
subsystem slot saves (Sufami Turbo, basically.)
- toggle fullscreen key binding added (Alt+Enter for now. I think F11 is
probably better though, Enter is often mapped to game start button.)
- video scaling is in (center, scale, stretch), works the same in
windowed and fullscreen mode (stretch hides resize window option), all
in the settings menu now
- enough structure to map all saved paths for the browser and to load
BS-X slotted carts, BS-X carts, single Sufami Turbo carts
Caveats / Missing:
- Super Game Boy input doesn't work yet (due to change in callback
binding)
- doesn't load secondary Sufami Turbo slot yet
- BS-X BIOS isn't show the data pack games to load for some reason (ugh,
I hate the shit out of debugging BS-X stuff ...)
- need mute audio, sync audio+video toggle, save/load state menu and
quick keys, XML mapping information window
- need cheat editor and cheat database
- need state manager
- need to sort subsystems below main systems in load menu (basically
just see if media.slot.size() > 0)
- need video shaders (will probably leave off filters for the time being
... due to that 24/30-bit thing)
- need video adjustments (contrast etc, overscan masks)
- need audio adjustments (frequency, latency, resampler, volume,
per-system frequency)
- need driver selection and input focus policy (driver crash detection
would be nice too)
- need NSS DIP switch settings (that one will be really fun)
- need to save and load window geometry settings
- need to hook up controller selection (won't be fun), create a map to
hide controllers with no inputs to reassign
2012-05-03 12:36:47 +00:00
|
|
|
}
|