iidx: don't hook legacy camera unless requested (#856)

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

## Description of change
Legacy camera hooks are specifically for IIDX 25/26 and they only
perform redirection of device discovery (emulates USB vendor/device ID
and USB port). It has very limited use since most cameras are
practically unusable in IIDX 25/26. Don't enable it, unless explicitly
requested by the user.

New truth table for `-iidxcabcams` :

| Mode | `-iidx` off (cab setup) | `-iidx` on |
|---|---|---|
| `auto` | Native cameras enabled (same as `on`) | Cameras disabled
(same as `off`) |
| `off` | Cameras disabled | Cameras disabled |
| `on` | Native cameras enabled | Native cameras enabled |
| `legacy` | Native cameras enabled | IIDX 25/26 discovery emulation
enabled |

## Testing
This commit is contained in:
bicarus
2026-08-06 03:44:52 -07:00
committed by GitHub
parent 9141ff453b
commit 4959a58de3
4 changed files with 40 additions and 40 deletions
+8 -4
View File
@@ -640,17 +640,21 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
},
{
// IIDXCabCamAccess
.title = "IIDX Use Official AC Cams",
.title = "IIDX Official AC Camera Access",
.name = "iidxcabcams",
.desc = "For IIDX25+, allow direct access to cameras from real arcade cabinets. "
"Only turn this on if you have OFFICIAL arcade cameras connected to the correct USB ports. Default: auto.",
.desc = "Controls how the game accesses USB cameras for IIDX 25+.\n\n"
"auto (default): use [off] when the IIDX module is enabled; otherwise, use [on].\n\n"
"on: game discovers and directly accesses cameras; requires official cameras on correct USB ports.\n\n"
"legacy: for IIDX 25/26 only; allow camera access with emulated discovery.\n\n"
"off: prevent game from accessing USB cameras.",
.type = OptionType::Enum,
.game_name = "Beatmania IIDX",
.category = "Cab Peripherals",
.elements = {
{"auto", ""},
{"on", ""},
{"legacy", ""},
{"off", ""},
{"on", ""}
},
},
{