hud aspect ratio in gfx config

This commit is contained in:
thecozies
2024-04-01 09:31:36 -05:00
parent 85936fcfa6
commit bb11e81850
5 changed files with 75 additions and 4 deletions
+4
View File
@@ -20,6 +20,7 @@ constexpr std::u8string_view sound_filename = u8"sound.json";
constexpr auto res_default = ultramodern::Resolution::Auto;
constexpr auto wm_default = ultramodern::WindowMode::Windowed;
constexpr auto hr_default = ultramodern::HUDRatioMode::Full;
constexpr auto ar_default = RT64::UserConfiguration::AspectRatio::Expand;
constexpr auto msaa_default = RT64::UserConfiguration::Antialiasing::MSAA2X;
constexpr auto rr_default = RT64::UserConfiguration::RefreshRate::Display;
@@ -56,6 +57,7 @@ namespace ultramodern {
j = json{
{"res_option", config.res_option},
{"wm_option", config.wm_option},
{"hr_option", config.hr_option},
{"ds_option", config.ds_option},
{"ar_option", config.ar_option},
{"msaa_option", config.msaa_option},
@@ -68,6 +70,7 @@ namespace ultramodern {
void from_json(const json& j, GraphicsConfig& config) {
config.res_option = from_or_default(j, "res_option", res_default);
config.wm_option = from_or_default(j, "wm_option", wm_default);
config.hr_option = from_or_default(j, "hr_option", hr_default);
config.ds_option = from_or_default(j, "ds_option", ds_default);
config.ar_option = from_or_default(j, "ar_option", ar_default);
config.msaa_option = from_or_default(j, "msaa_option", msaa_default);
@@ -174,6 +177,7 @@ void reset_graphics_options() {
ultramodern::GraphicsConfig new_config{};
new_config.res_option = res_default;
new_config.wm_option = wm_default;
new_config.hr_option = hr_default;
new_config.ds_option = ds_default;
new_config.ar_option = ar_default;
new_config.msaa_option = msaa_default;
+14
View File
@@ -257,6 +257,20 @@ void RT64UpdateConfig(RT64::Application* application, const ultramodern::Graphic
break;
}
switch (new_config.hr_option) {
default:
case ultramodern::HUDRatioMode::Original:
application->userConfig.extAspectPercentage = 0.0f;
break;
case ultramodern::HUDRatioMode::Clamp16x9:
// TODO: Not this lol!!!
application->userConfig.extAspectPercentage = 0.5f;
break;
case ultramodern::HUDRatioMode::Full:
application->userConfig.extAspectPercentage = 1.0f;
break;
}
application->userConfig.aspectRatio = new_config.ar_option;
application->userConfig.antialiasing = new_config.msaa_option;
application->userConfig.refreshRate = new_config.rr_option;
+1
View File
@@ -315,6 +315,7 @@ public:
);
bind_option(constructor, "wm_option", &new_options.wm_option);
bind_option(constructor, "ar_option", &new_options.ar_option);
bind_option(constructor, "hr_option", &new_options.hr_option);
bind_option(constructor, "msaa_option", &new_options.msaa_option);
bind_option(constructor, "rr_option", &new_options.rr_option);
constructor.BindFunc("rr_manual_value",