Patch notes 9.104

==================================
Update 7/4/2022 ~~ Besti 9.104
==================================
Achieved a massive performance boost across all platforms. The biggest source of this is changing the underlying .net version and compile options. You should do a clean install and not an update on this one to avoid having tons of useless files.

An additional benefit of this is complete code compatibility in Besti 9 and Besti X because they’re now in the same language. Let’s test that by bringing over a function from eqCy like…

Backported eqCy function that allows the system to interface with robotic sex toys. Toys compliant with the buttplug.io / intiface protocol can be told to vibrate. Additional controls are being added to buttplug, and while supporting specific devices with specific APIs can sometimes have more features (inflation on the Lovense Max 2, to be specific) it’s far harder from a user perspective to set it up as well as being far harder to work with. Buttplug just works and it does so with literally hundreds of devices, so it’s best to wait for additional features rather than cut out non Lovense devices or make it extremely difficult to support/add features to. In any case if you have a squeezer type device, the function is right around the corner, and since Besti 9 doesn’t require older .Net it will be a simple matter of patching the plugin used by Besti X to fix this. Options for this are in the main menu –> Settings –> Robotics section as well as the Settings –> Controls/Misc –> Options section.

Added a tickybox to store settings regarding the adult challenge in the beginning main menu that permits you to skip it in the future.

Hoofjobs now calculate squishy sounds as well as communicate with robotic toys.

Rebuilt all the lighting in every scene, because I had to. The happy consequence of this is that the lighting looks better in every scene, and it takes less memory. Win Win.

Fixed an issue that caused events to be fired very rapidly if the user puts the cursor over a transition point for a long time between UI Elements and the real world. This can cause slowdown/crashes. Fixed by adding additional logic.

Fixed an issue that could cause a crash if your VR controllers turned on or off while using the cursor. Fixed by adding a null check.

Fixed an issue where events weren’t being issued when switching from one UI to another (primarily affected VR when using a TV and the menu at the same time if they were laid out in front of one another) which could cause the wrong cursor to be used. Fixed by reformulating logic of how it did this.

Fixed a potential crash in the VR controllers where an unknown controller function/mistakenly passed function could cause a crash because a Switch/Case block did not have a fallout contingency. Not sure if this was causing a crash with anyone at present but it could have/might in the future.

Fixed a potential crash related to how we were starting up UI panels that wouldn’t manifest consistently. Fixed by adding a null check.

Fixed yet another potential cause of the crash on exit bug that seems to never go away. Fixed by adding a null check.

Made several minor adjustments to systems that get their position data from PhysX because we gained new powers by updating PhysX. Marginally improved accuracy and performance on physics calculations, but you likely wouldn’t notice them.

Made 12 syntax changes to deal the change from .net 3.5 to 4. These were situations where I had to rewrite a method to be compliant. 3.5 code is still mostly compatible (thankfully) so most code worked as it was, but all new code I can write properly in the newer version of .net.

Fixed an internal problem with Visual Studio as it relates to the code in Besti 9.