gitadora: (arena model) single window mode + subscreen overlay (#486)

## Link to GitHub Issue, if one exists
#477 

## Description of change
This is a work in progress.

What works:
- [x] subscreen overlay shows the touch screen image (in windowed mode)
- [x] touch works in the overlay
- [x] only the main window is shown, other windows are not launched

What doesn't:
- [ ] game occasionally crashes when entering test menu?
- [ ] full screen mode is not tested at all due to monitor requirements
- [ ] need more polish (various options to control the behavior)
This commit is contained in:
bicarus
2026-01-17 02:17:33 -08:00
committed by GitHub
parent 86f2a1fd39
commit 821a705a7d
14 changed files with 179 additions and 7 deletions
+6
View File
@@ -589,9 +589,15 @@ 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::GitaDoraArenaSingleWindow].value_bool() && GRAPHICS_WINDOWED) {
games::gitadora::ARENA_SINGLE_WINDOW = true;
}
if (options[launcher::Options::GitaDoraWailHold].is_active()) {
socd::TILT_HOLD_MS = options[launcher::Options::GitaDoraWailHold].value_uint32();
}
if (options[launcher::Options::GitaDoraSubOverlaySize].is_active()) {
games::gitadora::SUBSCREEN_OVERLAY_SIZE = options[launcher::Options::GitaDoraSubOverlaySize].value_text();
}
if (options[launcher::Options::LoadNostalgiaModule].value_bool()) {
attach_nostalgia = true;
}
+23
View File
@@ -978,6 +978,15 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
.category = "Game Options",
.elements = {{"1", "DX"}, {"2", "SD"}, {"3", "SD2 - white cab"}},
},
{
// GitaDoraArenaSingleWindow
.title = "GitaDora Arena Single Window (EXPERIMENTAL)",
.name = "gdaonewindow",
.desc = "For Arena Model, when combined with windowed mode, only show the main game window; enables subscreen overlay",
.type = OptionType::Bool,
.game_name = "GitaDora",
.category = "Game Options",
},
{
// GitaDoraLefty
.title = "GitaDora Lefty Guitar (for Digital Wailing)",
@@ -1011,6 +1020,20 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
.game_name = "GitaDora",
.category = "Game Options",
},
{
// GitaDoraSubOverlaySize
.title = "GitaDora Subscreen Overlay Size",
.name = "gdsubsize",
.desc = "Default size of the subscreen overlay. Default: medium",
.type = OptionType::Enum,
.game_name = "GitaDora",
.category = "Overlay",
.elements = {
{"small", ""},
{"medium", ""},
{"large", ""}
},
},
{
.title = "Force Load Jubeat Module",
.name = "jb",
+2
View File
@@ -100,8 +100,10 @@ namespace launcher {
LoadGitaDoraModule,
GitaDoraTwoChannelAudio,
GitaDoraCabinetType,
GitaDoraArenaSingleWindow,
GitaDoraLefty,
GitaDoraWailHold,
GitaDoraSubOverlaySize,
LoadJubeatModule,
LoadReflecBeatModule,
LoadShogikaiModule,