Skip to content

Commit 7ff50f7

Browse files
authored
Don't ask for full reset on timeout with manual or saved mounting (#1727)
1 parent 0e3aaf1 commit 7ff50f7

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

server/core/src/main/java/dev/slimevr/trackingchecklist/TrackingChecklistManager.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import dev.slimevr.tracking.trackers.Tracker
1111
import dev.slimevr.tracking.trackers.TrackerStatus
1212
import dev.slimevr.tracking.trackers.TrackerUtils
1313
import dev.slimevr.tracking.trackers.udp.TrackerDataType
14+
import io.github.axisangles.ktmath.Quaternion
1415
import solarxr_protocol.datatypes.DeviceIdT
1516
import solarxr_protocol.datatypes.TrackerIdT
1617
import solarxr_protocol.rpc.*
@@ -199,7 +200,8 @@ class TrackingChecklistManager(private val vrServer: VRServer) : VRCConfigListen
199200
}
200201
// We ask for a full reset if you need to do mounting calibration but cant because you haven't done full reset in a while
201202
// or if you have trackers that need reset after re-assigning
202-
val needFullReset = (!resetMountingCompleted && !vrServer.serverGuards.canDoMounting) || trackerRequireReset.isNotEmpty()
203+
val usingSavedCalibration = vrServer.configManager.vrConfig.resetsConfig.saveMountingReset && imuTrackers.all { it.resetsHandler.mountRotFix != Quaternion.IDENTITY }
204+
val needFullReset = (vrServer.configManager.vrConfig.resetsConfig.lastMountingMethod == MountingMethods.AUTOMATIC && !usingSavedCalibration && !resetMountingCompleted && !vrServer.serverGuards.canDoMounting) || trackerRequireReset.isNotEmpty()
203205
updateValidity(TrackingChecklistStepId.FULL_RESET, !needFullReset) {
204206
it.enabled = imuTrackers.isNotEmpty()
205207
if (trackerRequireReset.isNotEmpty()) {

0 commit comments

Comments
 (0)