You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using winmm.dll form. Input-wise, works perfectly for using the d-pad instead of the stick for movement. Unfortunately with Xidi being used, the game's MIDI soundtrack is completely absent. I've tried many different things:
-All the workarounds in some capacity (ActiveVirtualControllerMask = 0x01, PollReturnCode = 0 and 1, yes to IgnoreEnumObjectsCallbackReturnCode and UseShortVirtualControllerNames)
-Trying to use various previous versions
-Using the latest version of Hookshot
The only way I've been able to bring back MIDI playback is removing the Xidi dll from the game directory, so it's definitely influencing the behavior.
Of note, in case the above behavior is not happening for you:
I recently installed Coolsoft's VirtualMIDISynth and MIDI Mapper programs, with the latter being used to set the former as the default MIDI device. The device was working without Xidi just fine, and using MIDI mapper to map the default device back to GS Wavetable Synth does not resolve the issue with Xidi, nor did putzing with some of the VirtualMIDISynth settings. Regardless of VirtualMIDISynth's possible effects on this, Xidi's presence is still preventing MIDI playback that would otherwise be unaffected, so I believe it should still be looked into.
It turns out this specific game is accessing uninitialized stack memory, and that's why inserting Xidi between the game and the system's winmm library causes the midi output to break. In other words, the game is declaring variables and then reading from them without properly initializing them. I found this out by running it through a debugger and stepping through its disassembly as it starts up.
The Coolsoft tools have nothing to do with it - the issue is reproducible when using Xidi with and without them. It also isn't a bug in Xidi. Other games that use midi work just fine with Xidi's WinMM form.
That being said, we can work around this problem. I have a proper solution in mind for a future release, but for now, please try this:
Download the attached HookModule and put it in the game's directory, replacing the HookModule that comes with Xidi v4.3.1
Rename Xidi's "winmm.dll" to "xidi-winmm.dll" in the game's directory
The configuration file workarounds like ActiveVirtualControllerMask, PollReturnCode, IgnoreEnumObjectsCallbackReturnCode and UseShortVirtualControllerNames won't make a difference here.
Using winmm.dll form. Input-wise, works perfectly for using the d-pad instead of the stick for movement. Unfortunately with Xidi being used, the game's MIDI soundtrack is completely absent. I've tried many different things:
-All the workarounds in some capacity (ActiveVirtualControllerMask = 0x01, PollReturnCode = 0 and 1, yes to IgnoreEnumObjectsCallbackReturnCode and UseShortVirtualControllerNames)
-Trying to use various previous versions
-Using the latest version of Hookshot
The only way I've been able to bring back MIDI playback is removing the Xidi dll from the game directory, so it's definitely influencing the behavior.
Of note, in case the above behavior is not happening for you:
I recently installed Coolsoft's VirtualMIDISynth and MIDI Mapper programs, with the latter being used to set the former as the default MIDI device. The device was working without Xidi just fine, and using MIDI mapper to map the default device back to GS Wavetable Synth does not resolve the issue with Xidi, nor did putzing with some of the VirtualMIDISynth settings. Regardless of VirtualMIDISynth's possible effects on this, Xidi's presence is still preventing MIDI playback that would otherwise be unaffected, so I believe it should still be looked into.
Log:
Xidi_WinMM_MnMs.exe_4968.log
The text was updated successfully, but these errors were encountered: