@@ -91,18 +91,40 @@ class TapDetectionManager(
9191
9292 private val mountingResetTracker: Tracker ?
9393 get() {
94- return TrackerUtils .getTrackerForSkeleton(server.allTrackers, config.mountingResetTracker)
94+ val trackers = TrackerUtils .getTrackerForSkeleton(server.allTrackers, config.yawResetTracker)
95+ if (trackers != null ) {
96+ return trackers
97+ }
98+ return arrayOf( // fallback locations for mounting reset
99+ skeleton.rightUpperLegTracker,
100+ skeleton.rightLowerLegTracker,
101+ ).firstNotNullOfOrNull { it }
95102 }
96103
97104 private val fullResetTracker: Tracker ?
98105 get() {
99- return TrackerUtils .getTrackerForSkeleton(server.allTrackers, config.fullResetTracker)
106+ val trackers = TrackerUtils .getTrackerForSkeleton(server.allTrackers, config.fullResetTracker)
107+ if (trackers != null ) {
108+ return trackers
109+ }
110+ return arrayOf( // fallback locations for full reset
111+ skeleton.leftUpperLegTracker,
112+ skeleton.leftLowerLegTracker,
113+ ).firstNotNullOfOrNull { it }
100114 }
101115
102116 private val yawResetTracker: Tracker ?
103117 get() {
104-
105- return TrackerUtils .getTrackerForSkeleton(server.allTrackers, config.yawResetTracker)
118+ val trackers = TrackerUtils .getTrackerForSkeleton(server.allTrackers, config.yawResetTracker)
119+ if (trackers != null ) {
120+ return trackers
121+ }
122+ return arrayOf( // fallback locations for yaw reset
123+ skeleton.upperChestTracker,
124+ skeleton.chestTracker,
125+ skeleton.hipTracker,
126+ skeleton.waistTracker,
127+ ).firstNotNullOfOrNull { it }
106128 }
107129
108130 companion object {
0 commit comments