summaryrefslogtreecommitdiff
path: root/src/port/ui/ImguiUI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/port/ui/ImguiUI.cpp')
-rw-r--r--src/port/ui/ImguiUI.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/port/ui/ImguiUI.cpp b/src/port/ui/ImguiUI.cpp
index d77e40d4..b5e256dc 100644
--- a/src/port/ui/ImguiUI.cpp
+++ b/src/port/ui/ImguiUI.cpp
@@ -440,6 +440,10 @@ void DrawGameMenu() {
}
}
+static const char* hudAspects[] = {
+ "Native", "Custom", "Original (4:3)", "Widescreen (16:9)", "Nintendo 3DS (5:3)", "16:10 (8:5)", "Ultrawide (21:9)"
+};
+
void DrawEnhancementsMenu() {
if (UIWidgets::BeginMenu("Enhancements")) {
@@ -484,6 +488,59 @@ void DrawEnhancementsMenu() {
ImGui::EndMenu();
}
+ if (UIWidgets::BeginMenu("HUD")) {
+ if (UIWidgets::CVarCombobox("HUD Aspect Ratio", "gHUDAspectRatio.Selection", hudAspects,
+ {
+ .tooltip = "Which Aspect Ratio to use when drawing the HUD (Radar, gauges and radio messages)",
+ .defaultIndex = 0,
+ })) {
+ CVarSetInteger("gHUDAspectRatio.Enabled", 1);
+ switch (CVarGetInteger("gHUDAspectRatio.Selection", 0)) {
+ case 0:
+ CVarSetInteger("gHUDAspectRatio.Enabled", 0);
+ CVarSetInteger("gHUDAspectRatio.X", 0);
+ CVarSetInteger("gHUDAspectRatio.Y", 0);
+ break;
+ case 1:
+ if (CVarGetInteger("gHUDAspectRatio.X", 0) <= 0){
+ CVarSetInteger("gHUDAspectRatio.X", 1);
+ }
+ if (CVarGetInteger("gHUDAspectRatio.Y", 0) <= 0){
+ CVarSetInteger("gHUDAspectRatio.Y", 1);
+ }
+ break;
+ case 2:
+ CVarSetInteger("gHUDAspectRatio.X", 4);
+ CVarSetInteger("gHUDAspectRatio.Y", 3);
+ break;
+ case 3:
+ CVarSetInteger("gHUDAspectRatio.X", 16);
+ CVarSetInteger("gHUDAspectRatio.Y", 9);
+ break;
+ case 4:
+ CVarSetInteger("gHUDAspectRatio.X", 5);
+ CVarSetInteger("gHUDAspectRatio.Y", 3);
+ break;
+ case 5:
+ CVarSetInteger("gHUDAspectRatio.X", 8);
+ CVarSetInteger("gHUDAspectRatio.Y", 5);
+ break;
+ case 6:
+ CVarSetInteger("gHUDAspectRatio.X", 21);
+ CVarSetInteger("gHUDAspectRatio.Y", 9);
+ break;
+ }
+ }
+
+ if (CVarGetInteger("gHUDAspectRatio.Selection", 0) == 1)
+ {
+ UIWidgets::CVarSliderInt("Horizontal: %d", "gHUDAspectRatio.X", 1, 100, 1);
+ UIWidgets::CVarSliderInt("Vertical: %d", "gHUDAspectRatio.Y", 1, 100, 1);
+ }
+
+ ImGui::EndMenu();
+ }
+
ImGui::EndMenu();
}
}