diff --git a/README.md b/README.md index 82c362b..fb4dc1a 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ Merged set of MelonLoader mods for ChilloutVR. **State table for game build 2022r168:** | Full name | Short name | Latest version | Available in [CVRMA](https://github.com/knah/CVRMelonAssistant) | Current Status | Notes | |-----------|------------|----------------|-----------------------------------------------------------------|----------------|-------| -| Avatar Change Info | ml_aci | 1.0.2 | Pending | Working | -| Avatar Motion Tweaker | ml_amt | 1.0.6 | Pending | Working | +| Avatar Change Info | ml_aci | 1.0.2 | Yes | Working | +| Avatar Motion Tweaker | ml_amt | 1.0.6 | Yes | Working | | Desktop Reticle Switch | ml_drs | 1.0.0 | Yes | Working | -| Four Point Tracking | ml_fpt | 1.0.4 | Pending | Working | -| Leap Motion Extension | ml_lme | 1.1.8 | Pending | Working | +| Four Point Tracking | ml_fpt | 1.0.4 | Yes | Working | +| Leap Motion Extension | ml_lme | 1.1.8 | Yes | Working | | Server Connection Info | ml_sci | 1.0.1 | Yes | Working | diff --git a/ml_aci/Main.cs b/ml_aci/Main.cs index 71c27cf..980f835 100644 --- a/ml_aci/Main.cs +++ b/ml_aci/Main.cs @@ -25,18 +25,32 @@ namespace ml_aci static void OnLocalAvatarLoad() { - if(ViewManager.Instance != null) - ViewManager.Instance.TriggerPushNotification("Avatar changed", 1f); + try + { + if(ViewManager.Instance != null) + ViewManager.Instance.TriggerPushNotification("Avatar changed", 1f); + } + catch(System.Exception e) + { + MelonLoader.MelonLogger.Error(e); + } } static void OnPropSpawned() { - if(ViewManager.Instance != null) + try { - if((NetworkManager.Instance != null) && (NetworkManager.Instance.GameNetwork.ConnectionState == ConnectionState.Connected)) - ViewManager.Instance.TriggerPushNotification("Prop spawned", 1f); - else - ViewManager.Instance.TriggerAlert("Prop Error", "Not connected to live instance", -1, true); + if(ViewManager.Instance != null) + { + if((NetworkManager.Instance != null) && (NetworkManager.Instance.GameNetwork.ConnectionState == ConnectionState.Connected)) + ViewManager.Instance.TriggerPushNotification("Prop spawned", 1f); + else + ViewManager.Instance.TriggerAlert("Prop Error", "Not connected to live instance", -1, true); + } + } + catch(System.Exception e) + { + MelonLoader.MelonLogger.Error(e); } } } diff --git a/ml_amt/Main.cs b/ml_amt/Main.cs index 92136c0..263e10d 100644 --- a/ml_amt/Main.cs +++ b/ml_amt/Main.cs @@ -46,15 +46,29 @@ namespace ml_amt static void OnAvatarClear_Postfix() => ms_instance?.OnAvatarClear(); void OnAvatarClear() { - if(m_localTweaker != null) - m_localTweaker.OnAvatarClear(); + try + { + if(m_localTweaker != null) + m_localTweaker.OnAvatarClear(); + } + catch(System.Exception l_exception) + { + MelonLoader.MelonLogger.Error(l_exception); + } } static void OnSetupAvatarGeneral_Postfix() => ms_instance?.OnSetupAvatarGeneral(); void OnSetupAvatarGeneral() { - if(m_localTweaker != null) - m_localTweaker.OnSetupAvatarGeneral(); + try + { + if(m_localTweaker != null) + m_localTweaker.OnSetupAvatarGeneral(); + } + catch(System.Exception l_exception) + { + MelonLoader.MelonLogger.Error(l_exception); + } } } } diff --git a/ml_fpt/Main.cs b/ml_fpt/Main.cs index 57b0ce8..b27dbb2 100644 --- a/ml_fpt/Main.cs +++ b/ml_fpt/Main.cs @@ -170,24 +170,31 @@ namespace ml_fpt static void OnAvatarClear_Postfix() => ms_instance?.OnAvatarClear(); void OnAvatarClear() { - if(m_inCalibration) + try { - m_indexIk.enabled = true; - m_ikCalibrator.enabled = true; - - m_ikCalibrator.leftHandModel.SetActive(false); - m_ikCalibrator.rightHandModel.SetActive(false); - - if(m_hipsTrackerIndex != -1) + if(m_inCalibration) { - PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowTracker(false); - PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowLine(false); + m_indexIk.enabled = true; + m_ikCalibrator.enabled = true; + + m_ikCalibrator.leftHandModel.SetActive(false); + m_ikCalibrator.rightHandModel.SetActive(false); + + if(m_hipsTrackerIndex != -1) + { + PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowTracker(false); + PlayerSetup.Instance._trackerManager.trackers[m_hipsTrackerIndex].ShowLine(false); + } + CVR_InteractableManager.enableInteractions = true; + + Reset(); + + ShowHudNotification("Calibration canceled"); } - CVR_InteractableManager.enableInteractions = true; - - Reset(); - - ShowHudNotification("Calibration canceled"); + } + catch(System.Exception e) + { + MelonLoader.MelonLogger.Error(e); } } diff --git a/ml_lme/Main.cs b/ml_lme/Main.cs index cce319a..23b7262 100644 --- a/ml_lme/Main.cs +++ b/ml_lme/Main.cs @@ -317,18 +317,32 @@ namespace ml_lme static void OnAvatarClear_Postfix() => ms_instance?.OnAvatarClear(); void OnAvatarClear() { - if(m_leapTracked != null) - m_leapTracked.OnAvatarClear(); + try + { + if(m_leapTracked != null) + m_leapTracked.OnAvatarClear(); + } + catch(System.Exception e) + { + MelonLoader.MelonLogger.Error(e); + } } // Sneaky forced IndexIK calibration static void OnSetupAvatarGeneral_Postfix() => ms_instance?.OnSetupAvatarGeneral(); void OnSetupAvatarGeneral() { - if(m_leapTracked != null) - m_leapTracked.OnSetupAvatarGeneral(); + try + { + if(m_leapTracked != null) + m_leapTracked.OnSetupAvatarGeneral(); - OnSettingsHeadAttachChange(Settings.HeadAttach); + OnSettingsHeadAttachChange(Settings.HeadAttach); + } + catch(System.Exception e) + { + MelonLoader.MelonLogger.Error(e); + } } // Utilities diff --git a/ml_sci/Main.cs b/ml_sci/Main.cs index 94a8064..60ce2ce 100644 --- a/ml_sci/Main.cs +++ b/ml_sci/Main.cs @@ -16,8 +16,15 @@ namespace ml_sci static void OnGameNetworkConnectionClosed(object __0, DisconnectedEventArgs __1) { - if((CohtmlHud.Instance != null) && (__1 != null) && (!__1.LocalDisconnect)) - CohtmlHud.Instance.ViewDropTextImmediate("(Local) Client", "Connection lost", (__1.Error != System.Net.Sockets.SocketError.Success) ? ("Reason: " + __1.Error.ToString()) : ""); + try + { + if((CohtmlHud.Instance != null) && (__1 != null) && (!__1.LocalDisconnect)) + CohtmlHud.Instance.ViewDropTextImmediate("(Local) Client", "Connection lost", (__1.Error != System.Net.Sockets.SocketError.Success) ? ("Reason: " + __1.Error.ToString()) : ""); + } + catch(System.Exception e) + { + MelonLoader.MelonLogger.Error(e); + } } } }