Skip to content

v0.4.2: Unit Tested, Panda Approved

Compare
Choose a tag to compare
@TheNathannator TheNathannator released this 15 Nov 10:20
· 93 commits to main since this release
26f7259

The last couple releases didn't go so well, did they? lol

After drums got entirely broken in YARG for the previous couple versions, and my fixes in v0.4.1 didn't do anything to help, I decided to set up a suite of unit tests for the package so I didn't have to scrutinize every last line of code by hand.
A lot of issues were found and fixed this way, and any future issues of this caliber should be caught up-front, rather than having to wait for battle-testing to reveal them for me.

This doesn't mean issues like this can't happen in the future, though. Ironically, the unit tests determined everything to be fine with drums, and some actual debugging revealed it was an issue with the core state translation code.
After fixing that, I also noticed that some of the velocity values on Xbox 360 4-lane drumkit were inverted, which my tests didn't catch since they hook into the same interfaces the state translation does. Just means I need to be vigilant to make sure the definitions are correct lol

Fixed

  • The velocity values on PS3/Wii 4-lane drumkits are no longer inverted.
  • Pro Guitars no longer forget to assign their digital pedal control.
  • 6-fret guitars were using the entirely wrong state layout lol, copy-paste error I missed during review.
  • Fixed turntables failing to initialize due to sbytes not being considered integers by InputState.IsIntegerFormat for some reason.
  • Fixed turntable platter buttons and Pro Guitar digital pedal not working correctly; private fields in layout structs aren't checked during layout creation it seems.
  • Fixed Pro Guitar strumming not registering in the first input event received for one.
  • Fixed Pro Keyboard GetKeyMask returning an inverted mask (i.e. bit 24 was key 1 rather than bit 0).
  • Fixed Santroller guitars not having the correct default state value set.
  • Fixed various input control extensions not working on devices that use the new state translation infrastructure.
  • Fixed yellow/green pad/cymbal velocities on Xbox 360 4-lane drumkits being inverted.

Removed

  • The redundant SoloFretCount, TouchFretCount, and EmulatedSoloFretCount constants on RockBandGuitar, GuitarHeroGuitar, and ProGuitar respectively have been removed, in favor of having the one FiveFretGuitar.FretCount constant for everything.
    • The EmulatedFretCount constant on ProGuitar remains for convenience, but is otherwise now directly equivalent to FiveFretGuitar.FretCount.