Releases: TheNathannator/RB4InstrumentMapper
v5.0.5 Pre-Release 1: Don't outright reject unrecognized devices
This pre-release will now accept unrecognized devices for the purpose of grabbing input report logs. These devices will not be mapped, they are given a dummy mapper which does nothing.
Also fixes an issue where the Controller Emulation Mode
text would be cut off when it gets bolded to indicate that it hasn't been set yet.
v5.0.4: Minor fixes
Fixed
- The RB4 Wireless Legacy Adapter no longer fails to initialize its mapper due to an exception being thrown.
- The Riffmaster's solo frets are now registered correctly in ViGEmBus mode; previously they just acted like the normal frets due to an oversight.
Changed
- ViGEmBus initialization failures are now logged for easier diagnosis of issues.
v5.0.4 Pre-Release 2: Riffmaster Solo Fret Fix
Fixed
- The Riffmaster's solo frets are now registered correctly in ViGEmBus mode; previously they just acted like the normal frets due to an oversight.
v5.0.4 Pre-Release 1: Minor fixes
Fixed
- The RB4 Wireless Legacy Adapter no longer fails to initialize its mapper due to an exception being thrown.
Changed
- ViGEmBus initialization failures are now logged for easier diagnosis of issues.
v5.0.3: GameInput initialization failure tolerance, logging fixes
This version fixes errors that would happen if GameInput failed to initialize, and offers a button to retry initialization. It also fixes some messages not being written to the main log when they should, including the message for GameInput initialization failures.
v5.0.2: RPCS3 Whammy Fix
This version removes a workaround from RPCS3 compatibility mode that was intended to prevent guitar whammy from causing issues in the RPCS3 mapping menu. This workaround seemed to cause whammy to not work in Rock Band 3, and might have affected other games as well.
If you end up needing to rebind anything in the RPCS3 bindings menu (you shouldn't need to, if you do make an issue here so I can fix that), you will need to move the whammy bar to around its halfway point to prevent the whammy from auto-binding to whatever controls you select.
v5.0.1: Guitar Axis Fix!
A bug in GameInput resulted in axis changes on guitars not being picked up correctly, this version adds a workaround to fix that.
Additionally, a resource leak in the code that sends GameInput output reports has been fixed. This would affect anyone using GHL guitars and Wireless Legacy Adapters under GameInput, but those should still be used under WinUSB for the time being.
v5.0.0: New GameInput Backend!
This version implements a new primary backend using the GameInput controller API, replacing the Pcap backend and making WinPcap no longer necessary. This new backend requires no additional software to be installed, and makes the Riffmaster usable without having to install WinUSB on it.
The GameInput backend is not without its quirks lol, however any issues you encounter should be solved with either a device reconnect, program restart, or full PC restart. In particular, I suggest doing a full PC restart after switching any devices to/from WinUSB in the Configure Devices menu, that seems to be particularly prone to causing weird device states in GameInput. These issues are most likely things I cannot fix unfortunately, so a forward notice is the best I can do to address them.
This version also contains cumulative changes from v4.1.0 and v4.2.0, which were only pre-releases and never got released properly. Additionally, the installer has been reworked so that it can include the GameInput redistributable for systems which do not already have GameInput installed for some reason. For technical reasons, this results in a different UI style than what was included previously. Doesn't look as nice, but still does the job.
Additional Changes
Additions
- A new RPCS3 compatibility mode has been added, at the request of the MiloHax community. This mode changes the ViGEmBus mappings to eliminate the need to remap controls when using RB4InstrumentMapper with RPCS3.
- A status label has been added above the Start button to explain why the Start button may be disabled, guiding you in what steps need to be taken to get it enabled.
- The Riffmaster now has special handling in ViGEmBus mode to map its joystick to the left stick on Xbox 360 controllers.
- This mapping does not happen in vJoy mode, as the current setup for vJoy does not have enough axes configured to allow mapping the stick, and changing it would necessitate re-configuring and rebinding controls, which I don't feel like making people do. If this mapping is desired, let me know and I'll consider changing this.
- The mapping also does not apply to RPCS3 compatibility mode, as there is no equivalent on a PS3 Rock Band guitar that it could be mapped to. If this mapping is desired, let me know.
Changes
- The USB backend is no longer enabled by default, you must enable it explicitly.
- The
Configure Devices
button has been renamed toConfigure USB Devices
to help clarify what its purpose is. - ViGEmBus mode no longer uses a hardware-accurate mapping, and instead maps drums and cymbals fully separately.
- You will need to remap your controls after this change! Also, if you have a second kick pedal, you will not be able to map it in Clone Hero v1.0.0.4080-final without doing the workaround for mapping axis inputs. This is a concession that had to be made to allow cymbals to be mapped fully individually.
- USB devices are now restarted when hitting Start or Stop, to ensure proper initialization and function of devices.
- This comes with a message in the console to indicate what is going on, along with a note to reconnect the device if the process takes longer than 15 seconds or so. (It should realistically take less than 5 seconds.)
- Some threading locks have been added to the logging code. Hopefully this fixes the program locking up when enabling logging while using USB devices.
- The verbose error message setting is now a more general verbose message setting. Some messages which were displayed previously are now hidden behind this setting, to reduce console output clutter.
- A modified version of ViGEm.NET is now used to attempt to fix some error handling oversights. This only affects a very particular edge-case, and should result in correct error messages for that case.
Fixes
- The
Configure USB Devices
button is now disabled when hitting the Start button. - An issue with the initialization sequence of USB devices has been fixed (tl;dr there was a 1 in 254 chance that a device would actually initialize properly, depending on when it was plugged in).
- Controller emulation mode changes now apply correctly to USB devices, and no longer require a restart to take effect.
- The program window no longer freezes when the "Show packets" option is enabled.
- A retry mechanism has been implemented for the initialization sequence for USB devices. This should help with some USB device issues; it helped a lot with the gamepad I test with locally after it suddenly started missing some packets in initialization.
v4.2.0 Pre-Release 4: ViGEmBus error handling fixes
This release brings in a modified version of ViGEm.NET to attempt to fix some error handling oversights. This shouldn't have any noticeable effects for a majority of people; this release is primarily just a test to help reveal an unknown underlying issue that one particular user is experiencing.
v4.2.0 Pre-Release 3: More fixes and things
Fixes
- I forgot to make a change to the Pcap backend that makes inputs work correctly after some previous refactors that occurred. Whoops!
Changes
- Some threading locks have been added to the logging code. Hopefully this fixes the program locking up when enabling logging while using USB devices.
- The verbose error message setting is now a more general verbose message setting. Some messages which were displayed previously are now hidden behind this setting, to reduce console output clutter.