Electronicks / JoyShockMapper

A tool for PC gamers to play games with DualShock 4s, JoyCons, and Pro Controllers. Gyro aiming, flick stick.
Other
345 stars 20 forks source link

Modeshifting out of FLICK mode causes in-progress flick to pause #3

Open BraqueDown opened 3 years ago

BraqueDown commented 3 years ago

I've been using Black Mesa to test out different JSM configs, and the one I've settled on for now uses AIM on the right stick, with R1 disabling the gyro, and modeshifting the right stick into FLICK mode for when I need a quick 180.

However, I've noticed that if I release R1 and modeshift back into AIM mode while the flick is still in progress, the flick stops short. If I press R1 again, the flick will resume, skipping ahead to the correct position with regard to the FLICK_TIME.

Here is the issue demonstrated using a very long FLICK_TIME (2 seconds), and R1 as the modeshift button:

https://user-images.githubusercontent.com/43602802/115397585-99a4b800-a229-11eb-8a26-e17d18fe3a44.mp4

RESET_MAPPINGS

IN_GAME_SENS = 3.0
REAL_WORLD_CALIBRATION = 45.454

RIGHT_STICK_MODE = AIM
FLICK_TIME = 2.0
R,RIGHT_STICK_MODE = FLICK
Electronicks commented 3 years ago

Thank you for the detailed report. It's an interesting problem. What do you reckon should be the expected behavior? Only that on the second press, the flick should start afresh instead of resuming? I don't think I could get the flick to continue when you release the shift key.

BraqueDown commented 3 years ago

Hey @Electronicks, thanks for responding!

I don't think I could get the flick to continue when you release the shift key.

Yes, unfortunately. That would be the preferable behaviour, in my opinion. The dual issue of stopping short and snapping away has thrown me off more times playing Black Mesa than I care to admit. Updating flicks independently would fix this issue, and possibly allow for binding arbitrary flick angles to buttons in the future.

Sad to hear that this is a limitation of the current implementation. The workaround at the moment would be to simply use FLICK_TIME = 0.0.

I appreciate the response regardless!

Electronicks commented 1 year ago

Hi. I have a fix for this bug in the next v3.5 release, hopefully this week. If modeshifting out of a flick in progress, the stick mode is locked into FLICK_ONLY until the flicking is complete and the basic mode is applied after.