Sauceke / LoveMachine

Support for interactive sex toys in over 30 different Hentai games, including Koikatsu, Honey Select 2, COM3D2, Insult Order, and more.
https://sauceke.github.io/LoveMachine/
GNU General Public License v3.0
176 stars 13 forks source link

Confirm vibration functional for release #26

Closed Sauceke closed 3 years ago

Sauceke commented 3 years ago

The most important change since 1.1.0 is the addition of vibration support, because there are only 11 automatic strokers supported by Buttplug and over 150 vibrators. This makes the mod accessible to a lot more players, hopefully.

It is also the only part of the codebase I can't test. So I want to make sure I haven't fubar'ed anything important in there. I have tested the stroking functionality on the latest build and everything, including the menu options, seems to be in working order.

@nhydock, there has been no code change since your last commit. Did vibration work OK back then? If you don't know, could you please check when you have time?

Sauceke commented 3 years ago

Never mind - made myself useful and made a simple intensity visualizer using this very neat lib I found that emulates Xbox controllers and supports rumble data: https://github.com/mogzol/ScpDriverInterface I can confirm that vibration works flawlessly with Standard, Masturbation and Group scenes. I can also confirm it works in VR. Both sync and constant modes seem to work as intended. Male/Female/Both roles are working, as well as threesome roles. Two weird things I encountered:

  1. Though you added Lesbian to supported modes, lesbian animations didn't seem to do much except for a low constant rumble. Maybe because there is no speed control in lesbian? Then again, stroke doesn't even support lesbian, so this doesn't seem like a huge issue in comparison.
  2. In Standard, intensity seemed to peak at minimum depth instead of maximum. But maybe it's just the emulator lagging. I'm too tired to check the math right now. At any rate, I think this is really cool stuff, and I'm looking forward to bringing your code to the butts of the world. 🍑
erodozer commented 3 years ago

Ah I'll be honest I added lesbian mode but completely forgot to actually test any animations and inspect them with BepinRuntimeInspector to see how values were changing. If you want to hold on I can do that, or we can just do a patch release 1.2.1 once I figure it out

Sauceke commented 3 years ago

Then how about we ship both vibe and stroke support for lesbian in the same patch? They will share most of the logic anyway. ButtPlugin Lesbian Patch. Has a ring to it.

erodozer commented 3 years ago

In Standard, intensity seemed to peak at minimum depth instead of maximum. But maybe it's just the emulator lagging. I'm too tired to check the math right now.

I realize why this is probably the case. Since the intensity is just a half length Sin function, peak is reached halfway into the cycle. Since the timing was adjusted using the stroker animation phases, what I didn't realize at the time is those phases are timed relative to the stroke up motion. This means sin 0 is actually at the bottom of the stroke motion when it should be most intense. This can probably be fixed by shifting the wave by pi/2.