thelabcat / DS-FPS-Mouse-Fixer-Linux

A Python cross-platform port of https://github.com/JDoe212/DS-FPS-Mouse-Fixer
GNU General Public License v3.0
0 stars 0 forks source link

Add boost ball ability #2

Closed thelabcat closed 5 months ago

thelabcat commented 5 months ago

There are two ways boost ball can be done in game: One is dragging rapidly from one end of the touch area to the other. The other is pressing the R button while the touch area is inactive.

The main difficulty with the touch drag method is direction control. In regular auto-camera, simply always going forward might work, but for side maze views I think that's disallowed. One possible workaround would be to modify the swipe direction based on movement keys. This assumes that there is no place in MPH where we need to not be moving before activating boost ball in any direction besides forward, but that is probably a valid assumption.

The R button method would require that we pick up the mouse for some time before launching. It does not require that there have been no touch input before the R button was pressed, only that there has been none for a set duration while the R button was pressed. We cannot reasonably sacrifice mouse steering while holding down the right mouse button every time because of the zoom feature for the Imperialist. We could perform a color check on the morph ball button to decide when to sacrifice mouse steering. Since we have D-pad as an alternate morph ball steering method, this is probably safe.

I think that both methods could be implemented.

thelabcat commented 5 months ago

Touch-based control added, pending issue #1 being fixed before continuing I think.

thelabcat commented 5 months ago

Shoulder button steering sacrificer added. Varia suit only, so linked to MPHMousefix().multiplayer