gitadora: (arena model) unify window layout options (#706)

## Link to GitHub Issue or related Pull Request, if one exists
#0

## Description of change
Combine the two layout options into one

## Testing

- [x] windowed, x4
- [x] windowed, x2
- [x] windowed, x1 with sub
- [x] fs
This commit is contained in:
bicarus
2026-05-27 21:04:23 -07:00
committed by GitHub
parent febc02b50b
commit a2e220d3f4
12 changed files with 92 additions and 63 deletions
+15 -20
View File
@@ -375,7 +375,7 @@ int main_implementation(int argc, char *argv[]) {
}
if (options[launcher::Options::spice2x_SDVXNoSub].value_bool()) {
GRAPHICS_FORCE_SINGLE_ADAPTER = true;
GRAPHICS_PREVENT_SECONDARY_WINDOW = true;
GRAPHICS_PREVENT_SECONDARY_WINDOWS = true;
}
if (options[launcher::Options::DXDisplayAdapter].is_active() &&
options[launcher::Options::DXDisplayAdapter].value_uint32() != D3DADAPTER_DEFAULT) {
@@ -628,7 +628,7 @@ int main_implementation(int argc, char *argv[]) {
}
if (options[launcher::Options::PopnNoSub].value_bool()) {
GRAPHICS_FORCE_SINGLE_ADAPTER = true;
GRAPHICS_PREVENT_SECONDARY_WINDOW = true;
GRAPHICS_PREVENT_SECONDARY_WINDOWS = true;
}
if (options[launcher::Options::PopnSubMonitorOverride].is_active()) {
sysutils::SECOND_MONITOR_OVERRIDE = options[launcher::Options::PopnSubMonitorOverride].value_text();
@@ -645,27 +645,22 @@ int main_implementation(int argc, char *argv[]) {
if (options[launcher::Options::GitaDoraCabinetType].is_active()) {
games::gitadora::CAB_TYPE = options[launcher::Options::GitaDoraCabinetType].value_uint32();
}
if (options[launcher::Options::GitaDoraArenaWindowLayout].is_active()) {
if (GRAPHICS_WINDOWED) {
const auto window_count = options[launcher::Options::GitaDoraArenaWindowLayout].value_uint32();
if (window_count == 1) {
GRAPHICS_PREVENT_SECONDARY_WINDOW = true;
} else if (window_count == 2) {
GRAPHICS_GITADORA_HIDE_SIDE_WINDOWS = true;
}
} else {
log_warning("launcher", "-gdawindows only applies with -w; ignoring GitaDora Arena windowed layout");
}
}
// gitadora arena layout
if (options[launcher::Options::GitaDoraArenaSingleWindow].value_bool()) {
if (GRAPHICS_WINDOWED) {
GRAPHICS_PREVENT_SECONDARY_WINDOW = true;
GRAPHICS_GITADORA_HIDE_SIDE_WINDOWS = false;
} else {
GRAPHICS_FORCE_SINGLE_ADAPTER = true;
GRAPHICS_PREVENT_SECONDARY_WINDOW = true;
games::gitadora::ARENA_WINDOW_COUNT = 1;
}
if (options[launcher::Options::GitaDoraArenaWindowLayout].is_active()) {
const auto window_count = options[launcher::Options::GitaDoraArenaWindowLayout].value_text();
if (window_count == "1") {
games::gitadora::ARENA_WINDOW_COUNT = 1;
} else if (window_count == "2") {
games::gitadora::ARENA_WINDOW_COUNT = 2;
} else if (window_count == "4") {
games::gitadora::ARENA_WINDOW_COUNT = 4;
}
}
if (options[launcher::Options::GitaDoraWailHold].is_active()) {
socd::TILT_HOLD_MS = options[launcher::Options::GitaDoraWailHold].value_uint32();
}
+12 -10
View File
@@ -1094,32 +1094,34 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
},
{
// GitaDoraArenaSingleWindow
.title = "GitaDora Arena Disable Subscreens (EXPERIMENTAL)",
.title = "GitaDora Arena Disable Subscreens (DEPRECATED - use -gdawindows)",
.name = "gdaonewindow",
.desc = "For Arena Model:\n\n"
.desc = "DEPRECATED - use -gdawindows.\n\n"
"For Arena Model:\n\n"
"Windowed mode: instead of 4 windows, create 1 window.\n\n"
"Fullscreen mode: instead of requiring 4 monitors, use only the primary monitor. WARNING: requires 4K monitor.\n\n"
"To access the subscreen, use the subscreen overlay.",
.type = OptionType::Bool,
.hidden = true,
.game_name = "GitaDora",
.category = "Game Options",
},
{
// GitaDoraArenaWindowLayout
.title = "GitaDora Arena Windowed Layout (EXPERIMENTAL)",
.name = "gdawindows",
.desc = "For Arena Model windowed mode (-w): select how many windows to create.\n\n"
"4 windows: main + LEFT + RIGHT + SMALL.\n\n"
"2 windows: main + SMALL.\n\n"
.title = "GitaDora Arena Layout (EXPERIMENTAL)",
.name = "gdalayout",
.desc = "For Arena Model: select how many windows to create.\n\n"
"1 window: main only; use the subscreen overlay for SMALL.\n\n"
"Ignored in fullscreen mode.",
"2 windows: main + SMALL. Note: currently only works for windowed mode, broken for fullscreen.\n\n"
"4 windows: main + LEFT + RIGHT + SMALL. Fullscreen requires exactly 4 monitors in the "
"right resolution; see wiki for details.",
.type = OptionType::Enum,
.game_name = "GitaDora",
.category = "Game Options",
.elements = {
{"4", "4 windows"},
{"2", "2 windows"},
{"1", "1 window"},
{"2", "2 windows"},
{"4", "4 windows"}
},
},
{