iidx: detect ldj/tdj I/O mismatch (#470)

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

## Description of change
For IIDX31+, detect if BI2A or BI2X I/O emulation becomes active, and
see if there is a mismatch between the -iidxtdj setting.

Right now a mismatch results in warning in log + deferred error log, but
in the future we could turn this into a fatal error and crash the game
to make it more obvious.

## Testing
Tested 4 combinations:

1. DLL in LDJ mode + -iidxtdj off (pass)
2. DLL in LDJ mode + -iidxtdj on (error)
3. DLL in TDJ mode + -iidxtdj off (error)
4. DLL in TDJ mode + -iidxtdj on (pass)
This commit is contained in:
bicarus-dev
2025-12-22 18:52:37 -08:00
committed by GitHub
parent 462a07680b
commit 4c8d4ebab6
5 changed files with 68 additions and 5 deletions
+1 -1
View File
@@ -590,7 +590,7 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
.category = "Game Options (Advanced)",
},
{
.title = "IIDX TDJ Mode",
.title = "IIDX TDJ Mode (Lightning Model)",
.name = "iidxtdj",
.desc = "Enables TDJ cabinet mode. Ensure you also set -iidxsounddevice to desired option",
.type = OptionType::Bool,