Skip to content

Support for Device gyro instead of controller gyro via CoreMotion#664

Open
Danos0100 wants to merge 2 commits intomoonlight-stream:masterfrom
Danos0100:devicemotion-support-pr
Open

Support for Device gyro instead of controller gyro via CoreMotion#664
Danos0100 wants to merge 2 commits intomoonlight-stream:masterfrom
Danos0100:devicemotion-support-pr

Conversation

@Danos0100
Copy link
Copy Markdown

This PR lets the user choose if they want to use Controller Motion or Device Motion (so you can play with motion without controller/with a non-motion-enabled controller)

As this requires CMAcceleration and CMRotation instead of GCAcceleration and GCRotation, this makes the setMotionEventState function a little bit longer.

Also, this adds a UI Switch to change the new motionMode variable for player 0/1:

  • Auto uses device motion as a fallback if controller motion is not available
  • Device Motion always uses device motion sensors (this possibillity is needed, as some controller grips send useless dummy motion data to the iPhone. In this case, the user can manually select to use the device's motion data instead.)
  • Controller Motion always uses the controller's motion data. If the controller doesn't offer motion data, the device is not used as a fallback.

…Motion.

As this requires CMAcceleration and CMRotation instead of GCAcceleration and GCRotation, this makes the setMotionEventState function a little bit longer.

Also, this adds a UI Switch to change the new motionMode variable for player 0/1:
*Auto uses device motion as a fallback if controller motion is not available
*Device Motion always uses device motion sensors (this possibillity is needed, as some controller grips send useless dummy motion data to the iPhone. In this case, the user can manually select to use the device's motion data instead.)
*Controller Motion always uses the controller's motion data. If the controller doesn't offer motion data, the device is *not* used as a fallback.

(cherry picked from commit d0e8866447bd52c244e1f3b8ffd8e4d8e1471aeb)
(cherry picked from commit e1de4b8)
Default behaviour: use controller motion if available, use phone motion if controller motion not available
@seastwood
Copy link
Copy Markdown

Thank you for this. Went through the trouble of building and installing this branch onto my iphone 15 plus. Works great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants