diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2020-02-14 20:39:04 +0100 |
---|---|---|
committer | Morph <39850852+Morph1984@users.noreply.github.com> | 2020-02-14 20:39:04 +0100 |
commit | c3d0a0d6277c97d6e3c99914358dce15cc26871c (patch) | |
tree | 17d032c03feb8a38938515d5fe9cb9f020d5af01 | |
parent | Address feedback (diff) | |
download | yuzu-c3d0a0d6277c97d6e3c99914358dce15cc26871c.tar yuzu-c3d0a0d6277c97d6e3c99914358dce15cc26871c.tar.gz yuzu-c3d0a0d6277c97d6e3c99914358dce15cc26871c.tar.bz2 yuzu-c3d0a0d6277c97d6e3c99914358dce15cc26871c.tar.lz yuzu-c3d0a0d6277c97d6e3c99914358dce15cc26871c.tar.xz yuzu-c3d0a0d6277c97d6e3c99914358dce15cc26871c.tar.zst yuzu-c3d0a0d6277c97d6e3c99914358dce15cc26871c.zip |
-rw-r--r-- | src/core/frontend/framebuffer_layout.cpp | 14 | ||||
-rw-r--r-- | src/core/frontend/framebuffer_layout.h | 9 | ||||
-rw-r--r-- | src/yuzu/configuration/configure_graphics.ui | 5 | ||||
-rw-r--r-- | src/yuzu_cmd/default_ini.h | 2 | ||||
-rw-r--r-- | src/yuzu_tester/default_ini.h | 2 |
5 files changed, 20 insertions, 12 deletions
diff --git a/src/core/frontend/framebuffer_layout.cpp b/src/core/frontend/framebuffer_layout.cpp index 1b4f0255e..2dc795d56 100644 --- a/src/core/frontend/framebuffer_layout.cpp +++ b/src/core/frontend/framebuffer_layout.cpp @@ -28,8 +28,8 @@ FramebufferLayout DefaultFrameLayout(u32 width, u32 height) { FramebufferLayout res{width, height}; const float window_aspect_ratio = static_cast<float>(height) / width; - float emulation_aspect_ratio = EmulationAspectRatio( - static_cast<Aspect>(Settings::values.aspect_ratio), window_aspect_ratio); + const float emulation_aspect_ratio = EmulationAspectRatio( + static_cast<AspectRatio>(Settings::values.aspect_ratio), window_aspect_ratio); const Common::Rectangle<u32> screen_window_area{0, 0, width, height}; Common::Rectangle<u32> screen = MaxRectangle(screen_window_area, emulation_aspect_ratio); @@ -58,13 +58,15 @@ FramebufferLayout FrameLayoutFromResolutionScale(u32 res_scale) { return DefaultFrameLayout(width, height); } -float EmulationAspectRatio(Aspect aspect, float window_aspect_ratio) { +float EmulationAspectRatio(AspectRatio aspect, float window_aspect_ratio) { switch (aspect) { - case Aspect::Default: + case AspectRatio::Default: return static_cast<float>(ScreenUndocked::Height) / ScreenUndocked::Width; - case Aspect::Aspect21by9: + case AspectRatio::R4_3: + return 3.0f / 4.0f; + case AspectRatio::R21_9: return 9.0f / 21.0f; - case Aspect::StretchToWindow: + case AspectRatio::StretchToWindow: return window_aspect_ratio; default: return static_cast<float>(ScreenUndocked::Height) / ScreenUndocked::Width; diff --git a/src/core/frontend/framebuffer_layout.h b/src/core/frontend/framebuffer_layout.h index 7f6fbe468..1d39c1faf 100644 --- a/src/core/frontend/framebuffer_layout.h +++ b/src/core/frontend/framebuffer_layout.h @@ -18,9 +18,10 @@ enum ScreenDocked : u32 { HeightDocked = 1080, }; -enum class Aspect { +enum class AspectRatio { Default, - Aspect21by9, + R4_3, + R21_9, StretchToWindow, }; @@ -56,10 +57,10 @@ FramebufferLayout FrameLayoutFromResolutionScale(u32 res_scale); /** * Convenience method to determine emulation aspect ratio - * @param aspect Represents the index of aspect ratio in Settings::values.aspect_ratio + * @param aspect Represents the index of aspect ratio stored in Settings::values.aspect_ratio * @param window_aspect_ratio Current window aspect ratio * @return Emulation render window aspect ratio */ -float EmulationAspectRatio(Aspect aspect, float window_aspect_ratio); +float EmulationAspectRatio(AspectRatio aspect, float window_aspect_ratio); } // namespace Layout diff --git a/src/yuzu/configuration/configure_graphics.ui b/src/yuzu/configuration/configure_graphics.ui index ca79909d0..db60426ab 100644 --- a/src/yuzu/configuration/configure_graphics.ui +++ b/src/yuzu/configuration/configure_graphics.ui @@ -156,6 +156,11 @@ </item> <item> <property name="text"> + <string>Force 4:3</string> + </property> + </item> + <item> + <property name="text"> <string>Force 21:9</string> </property> </item> diff --git a/src/yuzu_cmd/default_ini.h b/src/yuzu_cmd/default_ini.h index 6522c9652..8a2b658cd 100644 --- a/src/yuzu_cmd/default_ini.h +++ b/src/yuzu_cmd/default_ini.h @@ -123,7 +123,7 @@ use_shader_jit = resolution_factor = # Aspect ratio -# 0: Default (16:9), 1: Force 21:9, 2: Stretch to Window +# 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Stretch to Window aspect_ratio = # Whether to enable V-Sync (caps the framerate at 60FPS) or not. diff --git a/src/yuzu_tester/default_ini.h b/src/yuzu_tester/default_ini.h index 676592db0..8d93f7b88 100644 --- a/src/yuzu_tester/default_ini.h +++ b/src/yuzu_tester/default_ini.h @@ -27,7 +27,7 @@ use_shader_jit = resolution_factor = # Aspect ratio -# 0: Default (16:9), 1: Force 21:9, 2: Stretch to Window +# 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Stretch to Window aspect_ratio = # Whether to enable V-Sync (caps the framerate at 60FPS) or not. |