added downsampling option
This commit is contained in:
parent
8853fc0d7b
commit
5f74dfa2ba
|
@ -17,12 +17,14 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="config-option">
|
<div class="config-option">
|
||||||
<label class="config-option__title">Window Mode</label>
|
<label class="config-option__title">Downsampling Quality</label>
|
||||||
<div class="config-option__list">
|
<div class="config-option__list">
|
||||||
<input type="radio" name="windowmode" data-checked="wm_option" value="Windowed" id="wm_windowed" style="nav-up:#tab_graphics"/>
|
<input type="radio" name="downsampling" data-checked="ds_option" value="1" id="ds_windowed" style="nav-up:#tab_graphics"/>
|
||||||
<label class="config-option__tab-label" for="wm_windowed">Windowed</label>
|
<label class="config-option__tab-label" for="ds_windowed">Off</label>
|
||||||
<input type="radio" name="windowmode" data-checked="wm_option" value="Fullscreen" id="wm_fullscreen" style="nav-right:none;nav-up:#tab_graphics"/>
|
<input type="radio" name="downsampling" data-checked="ds_option" value="2" id="ds_2x" style="nav-up:#tab_graphics"/>
|
||||||
<label class="config-option__tab-label" for="wm_fullscreen">Fullscreen</label>
|
<label class="config-option__tab-label" for="ds_2x">2x</label>
|
||||||
|
<input type="radio" name="downsampling" data-checked="ds_option" value="4" id="ds_4x" style="nav-right:none;nav-up:#tab_graphics"/>
|
||||||
|
<label class="config-option__tab-label" for="ds_4x">4x</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -37,16 +39,12 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="config-option">
|
<div class="config-option">
|
||||||
<label class="config-option__title">MS Anti-Aliasing</label>
|
<label class="config-option__title">Window Mode</label>
|
||||||
<div class="config-option__list">
|
<div class="config-option__list">
|
||||||
<input type="radio" name="antialiasing" data-checked="msaa_option" value="None" id="msaa_none" style="nav-down:#apply_button"/>
|
<input type="radio" name="windowmode" data-checked="wm_option" value="Windowed" id="wm_windowed" />
|
||||||
<label class="config-option__tab-label" for="msaa_none">None</label>
|
<label class="config-option__tab-label" for="wm_windowed">Windowed</label>
|
||||||
<input type="radio" name="antialiasing" data-checked="msaa_option" value="MSAA2X" id="msaa_2x" style="nav-down:#apply_button"/>
|
<input type="radio" name="windowmode" data-checked="wm_option" value="Fullscreen" id="wm_fullscreen" style="nav-right:none"/>
|
||||||
<label class="config-option__tab-label" for="msaa_2x">2x</label>
|
<label class="config-option__tab-label" for="wm_fullscreen">Fullscreen</label>
|
||||||
<input type="radio" name="antialiasing" data-checked="msaa_option" value="MSAA4X" id="msaa_4x" style="nav-down:#apply_button"/>
|
|
||||||
<label class="config-option__tab-label" for="msaa_4x">4x</label>
|
|
||||||
<!-- <input type="radio" name="antialiasing" data-checked="msaa_option" value="MSAA8X" id="msaa_8x" style="nav-right:none;nav-down:#apply_button"/>
|
|
||||||
<label class="config-option__tab-label" for="msaa_8x">8x</label> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -85,6 +83,19 @@
|
||||||
<input id="rr_manual_input" type="range" min="20" max="360" style="flex:1;margin: 0dp;nav-up:auto;nav-down:auto;" data-value="rr_manual_value"/>
|
<input id="rr_manual_input" type="range" min="20" max="360" style="flex:1;margin: 0dp;nav-up:auto;nav-down:auto;" data-value="rr_manual_value"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="config-option">
|
||||||
|
<label class="config-option__title">MS Anti-Aliasing</label>
|
||||||
|
<div class="config-option__list">
|
||||||
|
<input type="radio" name="antialiasing" data-checked="msaa_option" value="None" id="msaa_none" style="nav-down:#apply_button"/>
|
||||||
|
<label class="config-option__tab-label" for="msaa_none">None</label>
|
||||||
|
<input type="radio" name="antialiasing" data-checked="msaa_option" value="MSAA2X" id="msaa_2x" style="nav-down:#apply_button"/>
|
||||||
|
<label class="config-option__tab-label" for="msaa_2x">2x</label>
|
||||||
|
<input type="radio" name="antialiasing" data-checked="msaa_option" value="MSAA4X" id="msaa_4x" style="nav-down:#apply_button"/>
|
||||||
|
<label class="config-option__tab-label" for="msaa_4x">4x</label>
|
||||||
|
<!-- <input type="radio" name="antialiasing" data-checked="msaa_option" value="MSAA8X" id="msaa_8x" style="nav-right:none;nav-down:#apply_button"/>
|
||||||
|
<label class="config-option__tab-label" for="msaa_8x">8x</label> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="config__footer">
|
<div class="config__footer">
|
||||||
|
|
|
@ -23,6 +23,7 @@ constexpr auto wm_default = ultramodern::WindowMode::Windowed;
|
||||||
constexpr auto ar_default = RT64::UserConfiguration::AspectRatio::Expand;
|
constexpr auto ar_default = RT64::UserConfiguration::AspectRatio::Expand;
|
||||||
constexpr auto msaa_default = RT64::UserConfiguration::Antialiasing::MSAA2X;
|
constexpr auto msaa_default = RT64::UserConfiguration::Antialiasing::MSAA2X;
|
||||||
constexpr auto rr_default = RT64::UserConfiguration::RefreshRate::Display;
|
constexpr auto rr_default = RT64::UserConfiguration::RefreshRate::Display;
|
||||||
|
constexpr int ds_default = 1;
|
||||||
constexpr int rr_manual_default = 60;
|
constexpr int rr_manual_default = 60;
|
||||||
constexpr bool developer_mode_default = false;
|
constexpr bool developer_mode_default = false;
|
||||||
|
|
||||||
|
@ -55,6 +56,7 @@ namespace ultramodern {
|
||||||
j = json{
|
j = json{
|
||||||
{"res_option", config.res_option},
|
{"res_option", config.res_option},
|
||||||
{"wm_option", config.wm_option},
|
{"wm_option", config.wm_option},
|
||||||
|
{"ds_option", config.ds_option},
|
||||||
{"ar_option", config.ar_option},
|
{"ar_option", config.ar_option},
|
||||||
{"msaa_option", config.msaa_option},
|
{"msaa_option", config.msaa_option},
|
||||||
{"rr_option", config.rr_option},
|
{"rr_option", config.rr_option},
|
||||||
|
@ -66,6 +68,7 @@ namespace ultramodern {
|
||||||
void from_json(const json& j, GraphicsConfig& config) {
|
void from_json(const json& j, GraphicsConfig& config) {
|
||||||
config.res_option = from_or_default(j, "res_option", res_default);
|
config.res_option = from_or_default(j, "res_option", res_default);
|
||||||
config.wm_option = from_or_default(j, "wm_option", wm_default);
|
config.wm_option = from_or_default(j, "wm_option", wm_default);
|
||||||
|
config.ds_option = from_or_default(j, "ds_option", ds_default);
|
||||||
config.ar_option = from_or_default(j, "ar_option", ar_default);
|
config.ar_option = from_or_default(j, "ar_option", ar_default);
|
||||||
config.msaa_option = from_or_default(j, "msaa_option", msaa_default);
|
config.msaa_option = from_or_default(j, "msaa_option", msaa_default);
|
||||||
config.rr_option = from_or_default(j, "rr_option", rr_default);
|
config.rr_option = from_or_default(j, "rr_option", rr_default);
|
||||||
|
@ -171,6 +174,7 @@ void recomp::reset_graphics_options() {
|
||||||
ultramodern::GraphicsConfig new_config{};
|
ultramodern::GraphicsConfig new_config{};
|
||||||
new_config.res_option = res_default;
|
new_config.res_option = res_default;
|
||||||
new_config.wm_option = wm_default;
|
new_config.wm_option = wm_default;
|
||||||
|
new_config.ds_option = ds_default;
|
||||||
new_config.ar_option = ar_default;
|
new_config.ar_option = ar_default;
|
||||||
new_config.msaa_option = msaa_default;
|
new_config.msaa_option = msaa_default;
|
||||||
new_config.rr_option = rr_default;
|
new_config.rr_option = rr_default;
|
||||||
|
|
|
@ -234,13 +234,17 @@ void RT64UpdateConfig(RT64::Application* application, const ultramodern::Graphic
|
||||||
default:
|
default:
|
||||||
case ultramodern::Resolution::Auto:
|
case ultramodern::Resolution::Auto:
|
||||||
application->userConfig.resolution = RT64::UserConfiguration::Resolution::WindowIntegerScale;
|
application->userConfig.resolution = RT64::UserConfiguration::Resolution::WindowIntegerScale;
|
||||||
|
application->userConfig.downsampleMultiplier = 1;
|
||||||
break;
|
break;
|
||||||
case ultramodern::Resolution::Original:
|
case ultramodern::Resolution::Original:
|
||||||
application->userConfig.resolution = RT64::UserConfiguration::Resolution::Original;
|
application->userConfig.resolution = RT64::UserConfiguration::Resolution::Manual;
|
||||||
|
application->userConfig.resolutionMultiplier = new_config.ds_option;
|
||||||
|
application->userConfig.downsampleMultiplier = new_config.ds_option;
|
||||||
break;
|
break;
|
||||||
case ultramodern::Resolution::Original2x:
|
case ultramodern::Resolution::Original2x:
|
||||||
application->userConfig.resolution = RT64::UserConfiguration::Resolution::Manual;
|
application->userConfig.resolution = RT64::UserConfiguration::Resolution::Manual;
|
||||||
application->userConfig.resolutionMultiplier = 2.0;
|
application->userConfig.resolutionMultiplier = 2.0 * new_config.ds_option;
|
||||||
|
application->userConfig.downsampleMultiplier = new_config.ds_option;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ void bind_atomic(Rml::DataModelConstructor& constructor, Rml::DataModelHandle ha
|
||||||
static int scanned_binding_index = -1;
|
static int scanned_binding_index = -1;
|
||||||
static int scanned_input_index = -1;
|
static int scanned_input_index = -1;
|
||||||
static int focused_input_index = -1;
|
static int focused_input_index = -1;
|
||||||
|
|
||||||
static bool cont_active = true;
|
static bool cont_active = true;
|
||||||
|
|
||||||
static recomp::InputDevice cur_device = recomp::InputDevice::Controller;
|
static recomp::InputDevice cur_device = recomp::InputDevice::Controller;
|
||||||
|
@ -305,6 +306,14 @@ public:
|
||||||
new_options.rr_manual_value = in.Get<int>();
|
new_options.rr_manual_value = in.Get<int>();
|
||||||
graphics_model_handle.DirtyVariable("options_changed");
|
graphics_model_handle.DirtyVariable("options_changed");
|
||||||
});
|
});
|
||||||
|
constructor.BindFunc("ds_option",
|
||||||
|
[](Rml::Variant& out) {
|
||||||
|
out = new_options.ds_option;
|
||||||
|
},
|
||||||
|
[](const Rml::Variant& in) {
|
||||||
|
new_options.ds_option = in.Get<int>();
|
||||||
|
graphics_model_handle.DirtyVariable("options_changed");
|
||||||
|
});
|
||||||
|
|
||||||
constructor.BindFunc("options_changed",
|
constructor.BindFunc("options_changed",
|
||||||
[](Rml::Variant& out) {
|
[](Rml::Variant& out) {
|
||||||
|
|
|
@ -23,6 +23,7 @@ namespace ultramodern {
|
||||||
RT64::UserConfiguration::Antialiasing msaa_option;
|
RT64::UserConfiguration::Antialiasing msaa_option;
|
||||||
RT64::UserConfiguration::RefreshRate rr_option;
|
RT64::UserConfiguration::RefreshRate rr_option;
|
||||||
int rr_manual_value;
|
int rr_manual_value;
|
||||||
|
int ds_option;
|
||||||
bool developer_mode;
|
bool developer_mode;
|
||||||
|
|
||||||
auto operator<=>(const GraphicsConfig& rhs) const = default;
|
auto operator<=>(const GraphicsConfig& rhs) const = default;
|
||||||
|
|
Loading…
Reference in New Issue