## Link to GitHub Issue, if one exists
n/a
## Description of change
Some people have weird DLLs that keep calling
`AddVectoredExceptionHandler` which ends up spamming the log.
## Testing
Tested IIDX with error + signaldisable to confirm the warning message
being shown, ran Polaris Chord once to check "hook hit" message.
## Link to GitHub Issue, if one exists
#410
## Description of change
When raising fatal errors via `log_fatal`, also show a modal popup.
Update instances of `log_fatal` where the message was too long to fit.
## Testing
Tested various failure conditions.
## Link to GitHub Issue, if one exists
#345
## Description of change
Show a MessageBox when signal detects a crash.
## Testing
Tested full screen and windowed games.
## Description of change
Finally figured out where the deadlock was coming from - it's because
the `dump_to_logger` was writing `SuperstepSound: Audio device is not
available` to the logger which calls back into the log hook, and then
emits another deferred message, trying to acquire the lock again on the
same stack.
## Testing
Tested the superstep sound failure case again.
## Description of change
Various fixes to deferred logger -
* Rename to "auto troubleshooter"
* Fix potential deadlock
* Reword the error messages to fit in a narrower column
## Testing
tested all the error cases
## Link to GitHub Issue, if one exists
#388
## Description of change
Instead of setting flags in `signal` and logging when we crash, create a
class for logging deferred semi-fatal messages, and dump them to the log
immediately before crashing or shutting down.
## Testing
Tested each failure case by injection.
## Link to GitHub Issue, if one exists
#345
## Description of change
Show a block of warning text if the game crashes after CreateDevice(Ex)
fails.
## Testing
Tested by injecting invalid resolution into spicecfg.
## Link to GitHub Issue, if one exists
#345
## Description of change
Add a little warning message that shows when well-known exception codes
are encountered & caught by signal hooks.
## Testing
Tested by injecting bad instructions into the DLL.
## Link to GitHub Issue, if one exists
#345
## Description of change
When the directory specified in the mounttable (in avs-config.xml) lead
to bad path, remember this and show a warning message block before the
game crashes.
## Testing
Tested with simulated bad mounttable set up.
## Link to GitHub Issue, if one exists
#345
## Description of change
If we see SuperstepSound failure during boot, remember it, and when the
game eventually crashes, log a series of warning messages to surface why
the game likely failed to launch.
## Testing
Tested both iidx and sdvx with an audio device set to not allow
exclusive mode.
## Link to GitHub Issue, if one exists
n/a
## Description of change
When an exception is caught during ACIO hook init, print a special
message to suggest the user to disable RTSS and MSI Afterburner, since
they are known to cause issues.
## Testing
Tried with RTSS enabled with High detection and with it disabled. Also
tried to crash the game a different way and check that the message is
not printed and the callstack is shown propeerly.
## Link to GitHub Issue, if one exists
n/a
## Description of change
Adds Mahjong Fight Girl Support
## Compiling
+
## Testing
Tested with VFG:J:E:A:2024100800 in HG mode with VFG IO. No
modifications made to data, other than avs-config.xml and
ea3-config.xml. B and C modes don't work because of serial touchscreen.
UKS mode doesn't work because of IO.