mirror of
https://git.743378673.xyz/MeloNX/MeloNX.git
synced 2025-06-27 19:06:23 +02:00
Fix Haptics on iPhones and make JoyCons use Device Motion.
This commit is contained in:
parent
056bcb6736
commit
43fb7e2e7f
4 changed files with 32 additions and 5 deletions
|
@ -770,6 +770,9 @@
|
|||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
);
|
||||
GCC_OPTIMIZATION_LEVEL = z;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
|
@ -1001,6 +1004,10 @@
|
|||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
);
|
||||
MARKETING_VERSION = "$(VERSION)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
||||
|
@ -1141,6 +1148,9 @@
|
|||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
);
|
||||
GCC_OPTIMIZATION_LEVEL = z;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
|
@ -1372,6 +1382,10 @@
|
|||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||
);
|
||||
MARKETING_VERSION = "$(VERSION)";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
||||
|
|
Binary file not shown.
|
@ -13,6 +13,8 @@ class NativeController: Hashable, BaseController {
|
|||
private var controller: OpaquePointer?
|
||||
private var nativeController: GCController
|
||||
private var controllerMotionProvider: ControllerMotionProvider?
|
||||
private var deviceMotionProvider: DeviceMotionProvider?
|
||||
|
||||
private let controllerHaptics: CHHapticEngine?
|
||||
private let rumbleController: RumbleController?
|
||||
|
||||
|
@ -48,15 +50,26 @@ class NativeController: Hashable, BaseController {
|
|||
// Setup Motion
|
||||
let dsuServer = DSUServer.shared
|
||||
|
||||
if nativeController.vendorName == "Joy-Con (l/R)" {
|
||||
deviceMotionProvider = DeviceMotionProvider(slot: slot)
|
||||
if let provider = deviceMotionProvider {
|
||||
dsuServer.register(provider)
|
||||
}
|
||||
} else {
|
||||
controllerMotionProvider = ControllerMotionProvider(controller: nativeController, slot: slot)
|
||||
if let provider = controllerMotionProvider {
|
||||
dsuServer.register(provider)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal func tryGetMotionProvider() -> DSUMotionProvider? {
|
||||
if nativeController.vendorName == "Joy-Con (l/R)" {
|
||||
return deviceMotionProvider
|
||||
} else {
|
||||
return controllerMotionProvider
|
||||
}
|
||||
}
|
||||
|
||||
private func setupHandheldController() {
|
||||
if SDL_WasInit(Uint32(SDL_INIT_GAMECONTROLLER)) == 0 {
|
||||
|
|
|
@ -17,7 +17,7 @@ class RumbleController {
|
|||
|
||||
// The duration of each continuous haptic event.
|
||||
// We'll restart the players before this duration expires.
|
||||
private let hapticEventDuration: TimeInterval = 7200
|
||||
private let hapticEventDuration: TimeInterval = 20
|
||||
|
||||
// Timer to schedule player restarts
|
||||
private var playerRestartTimer: Timer?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue