Skip to content
This repository was archived by the owner on Sep 16, 2022. It is now read-only.

Commit 17648c9

Browse files
committed
Update to latest LeapCSharp and LeapC SDK
Minor change of ml_clv
1 parent 625747a commit 17648c9

File tree

25 files changed

+398
-155
lines changed

25 files changed

+398
-155
lines changed

artifacts/dummy.txt

Whitespace-only changes.

ml_abp/ml_abp.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@
127127
</ItemGroup>
128128
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
129129
<PropertyGroup>
130-
<PostBuildEvent>copy /y "$(TargetPath)" "C:\Games\Steam\steamapps\common\VRChat\Mods\"</PostBuildEvent>
130+
<PostBuildEvent>copy /y "$(TargetPath)" "C:\Games\Steam\steamapps\common\VRChat\Mods\"
131+
copy /y "$(TargetPath)" "$(SolutionDir)\artifacts\"</PostBuildEvent>
131132
</PropertyGroup>
132133
</Project>

ml_alg/ml_alg.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@
133133
</ItemGroup>
134134
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
135135
<PropertyGroup>
136-
<PostBuildEvent>copy /y "$(TargetPath)" "C:\Games\Steam\steamapps\common\VRChat\Mods\"</PostBuildEvent>
136+
<PostBuildEvent>copy /y "$(TargetPath)" "C:\Games\Steam\steamapps\common\VRChat\Mods\"
137+
copy /y "$(TargetPath)" "$(SolutionDir)\artifacts\"</PostBuildEvent>
137138
</PropertyGroup>
138139
</Project>

ml_arh/ml_arh.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@
9696
</PreBuildEvent>
9797
</PropertyGroup>
9898
<PropertyGroup>
99-
<PostBuildEvent>copy /y "$(TargetPath)" "C:\Games\Steam\steamapps\common\VRChat\Mods\"</PostBuildEvent>
99+
<PostBuildEvent>copy /y "$(TargetPath)" "C:\Games\Steam\steamapps\common\VRChat\Mods\"
100+
copy /y "$(TargetPath)" "$(SolutionDir)\artifacts\"</PostBuildEvent>
100101
</PropertyGroup>
101102
</Project>

ml_clv/Main.cs

Lines changed: 46 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,37 @@ public class CalibrationLinesVisualizer : MelonLoader.MelonMod
88
static CalibrationLinesVisualizer ms_instance = null;
99
bool m_quit = false;
1010

11-
List<TrackerBoneLine> m_trackerLines = null;
12-
bool m_calibrationInProgress = false;
11+
bool m_activeCalibration = false;
12+
13+
List<GameObject> m_trackerLines = null;
1314

1415
public override void OnApplicationStart()
1516
{
16-
ms_instance = this;
17+
if(ms_instance == null)
18+
ms_instance = this;
19+
20+
m_trackerLines = new List<GameObject>();
1721

1822
MethodsResolver.ResolveMethods();
1923
Settings.LoadSettings();
2024

21-
m_trackerLines = new List<TrackerBoneLine>();
22-
2325
// Events
2426
VRChatUtilityKit.Utilities.VRCUtils.OnUiManagerInit += this.OnUiManagerInit;
2527
VRChatUtilityKit.Utilities.NetworkEvents.OnRoomJoined += this.OnRoomJoined;
2628
VRChatUtilityKit.Utilities.NetworkEvents.OnRoomLeft += this.OnRoomLeft;
2729

2830
// Patches
2931
if(MethodsResolver.PrepareForCalibration != null)
30-
HarmonyInstance.Patch(MethodsResolver.PrepareForCalibration, null, new HarmonyLib.HarmonyMethod(typeof(CalibrationLinesVisualizer), nameof(VRCTrackingManager_PrepareForCalibration)));
32+
HarmonyInstance.Patch(MethodsResolver.PrepareForCalibration, null, new HarmonyLib.HarmonyMethod(typeof(CalibrationLinesVisualizer), nameof(OnPrepareForCalibration_Postfix)));
3133

3234
if(MethodsResolver.RestoreTrackingAfterCalibration != null)
33-
HarmonyInstance.Patch(MethodsResolver.RestoreTrackingAfterCalibration, null, new HarmonyLib.HarmonyMethod(typeof(CalibrationLinesVisualizer), nameof(VRCTrackingManager_RestoreTrackingAfterCalibration)));
35+
HarmonyInstance.Patch(MethodsResolver.RestoreTrackingAfterCalibration, null, new HarmonyLib.HarmonyMethod(typeof(CalibrationLinesVisualizer), nameof(OnRestoreTrackingAfterCalibration_Postfix)));
3436

3537
if(MethodsResolver.IKTweaks_Calibrate != null)
36-
HarmonyInstance.Patch(MethodsResolver.IKTweaks_Calibrate, new HarmonyLib.HarmonyMethod(typeof(CalibrationLinesVisualizer), nameof(VRCTrackingManager_PrepareForCalibration)), null);
38+
HarmonyInstance.Patch(MethodsResolver.IKTweaks_Calibrate, new HarmonyLib.HarmonyMethod(typeof(CalibrationLinesVisualizer), nameof(OnPrepareForCalibration_Postfix)), null);
3739

3840
if(MethodsResolver.IKTweaks_ApplyStoredCalibration != null)
39-
HarmonyInstance.Patch(MethodsResolver.IKTweaks_ApplyStoredCalibration, new HarmonyLib.HarmonyMethod(typeof(CalibrationLinesVisualizer), nameof(VRCTrackingManager_RestoreTrackingAfterCalibration)), null);
41+
HarmonyInstance.Patch(MethodsResolver.IKTweaks_ApplyStoredCalibration, new HarmonyLib.HarmonyMethod(typeof(CalibrationLinesVisualizer), nameof(OnRestoreTrackingAfterCalibration_Postfix)), null);
4042
}
4143

4244
public override void OnApplicationQuit()
@@ -51,14 +53,11 @@ public override void OnPreferencesSaved()
5153
Settings.ReloadSettings();
5254
if(Settings.IsAnyEntryUpdated())
5355
{
54-
if(TrackerBoneLine.GetLineMaterial() != null)
55-
TrackerBoneLine.GetLineMaterial().color = new Color(Settings.ColorR, Settings.ColorG, Settings.ColorB);
56-
57-
if(m_trackerLines.Count != 0)
58-
{
59-
foreach(TrackerBoneLine l_trackerLine in m_trackerLines)
60-
l_trackerLine.gameObject.active = (Settings.Enabled && m_calibrationInProgress);
61-
}
56+
if(TrackerBoneLine.Material != null)
57+
TrackerBoneLine.Material.color = new Color(Settings.ColorR, Settings.ColorG, Settings.ColorB);
58+
59+
foreach(GameObject l_trackerLine in m_trackerLines)
60+
l_trackerLine.active = (Settings.Enabled && m_activeCalibration);
6261
}
6362
}
6463
}
@@ -77,79 +76,74 @@ System.Collections.IEnumerator CreateTrackerLines()
7776
yield return null;
7877

7978
TrackerBoneLine.ControllerManager = Utils.GetSteamVRControllerManager();
80-
if(TrackerBoneLine.GetLineMaterial() != null)
81-
TrackerBoneLine.GetLineMaterial().color = new Color(Settings.ColorR, Settings.ColorG, Settings.ColorB);
8279

80+
// Material
81+
TrackerBoneLine.Material = new Material(Shader.Find("Hidden/Internal-Colored"));
82+
TrackerBoneLine.Material.hideFlags = HideFlags.HideAndDontSave;
83+
TrackerBoneLine.Material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);
84+
TrackerBoneLine.Material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);
85+
TrackerBoneLine.Material.SetInt("_Cull", (int)UnityEngine.Rendering.CullMode.Off);
86+
TrackerBoneLine.Material.SetInt("_ZWrite", 0);
87+
TrackerBoneLine.Material.SetInt("_ZTest", (int)UnityEngine.Rendering.CompareFunction.Always);
88+
89+
// Game objects
8390
var l_puckArray = Utils.GetSteamVRControllerManager().field_Public_ArrayOf_GameObject_0;
8491
for(int i = 0; i < l_puckArray.Length - 2; i++)
8592
{
86-
GameObject l_obj = new GameObject("BoneLine");
93+
GameObject l_obj = new GameObject("Line");
8794
l_obj.active = false;
8895
l_obj.layer = LayerMask.NameToLayer("Player");
8996
l_obj.transform.parent = l_puckArray[i + 2].transform;
9097
l_obj.transform.localPosition = Vector3.zero;
9198
l_obj.transform.localRotation = Quaternion.identity;
9299
Object.DontDestroyOnLoad(l_obj);
93100

94-
l_obj.AddComponent<LineRenderer>();
95-
TrackerBoneLine l_boneLine = l_obj.AddComponent<TrackerBoneLine>();
96-
l_boneLine.Index = i + 2;
101+
l_obj.AddComponent<TrackerBoneLine>().Index = i + 2;
97102

98-
m_trackerLines.Add(l_boneLine);
103+
m_trackerLines.Add(l_obj);
99104
}
100105
}
101106

102107
void OnRoomJoined()
103108
{
104-
MelonLoader.MelonCoroutines.Start(AssignPlayerToTrackerLines());
109+
MelonLoader.MelonCoroutines.Start(AssignLocalPlayer());
105110
}
106-
System.Collections.IEnumerator AssignPlayerToTrackerLines()
111+
System.Collections.IEnumerator AssignLocalPlayer()
107112
{
108113
while(Utils.GetLocalPlayer() == null)
109114
yield return null;
110115

111-
foreach(TrackerBoneLine l_trackerLine in m_trackerLines)
112-
l_trackerLine.Player = Utils.GetLocalPlayer();
116+
TrackerBoneLine.Player = Utils.GetLocalPlayer();
113117
}
114118

115119
void OnRoomLeft()
116120
{
117-
OnCalibrationEnd();
121+
OnRestoreTrackingAfterCalibration();
118122

119-
if(m_trackerLines.Count != 0)
120-
{
121-
foreach(TrackerBoneLine l_trackerLine in m_trackerLines)
122-
l_trackerLine.Player = null;
123-
}
123+
TrackerBoneLine.Player = null;
124124
}
125125

126-
static public void VRCTrackingManager_PrepareForCalibration() => ms_instance?.OnCalibrationBegin();
127-
void OnCalibrationBegin()
126+
static public void OnPrepareForCalibration_Postfix() => ms_instance?.OnPrepareForCalibration();
127+
void OnPrepareForCalibration()
128128
{
129-
if(Settings.Enabled && !m_calibrationInProgress)
129+
if(Settings.Enabled && !m_activeCalibration)
130130
{
131-
m_calibrationInProgress = true;
131+
m_activeCalibration = true;
132132

133-
if(m_trackerLines.Count != 0)
134-
{
135-
foreach(TrackerBoneLine l_trackerLine in m_trackerLines)
136-
l_trackerLine.gameObject.active = true;
137-
}
133+
foreach(GameObject l_trackerLine in m_trackerLines)
134+
l_trackerLine.active = true;
138135
}
139136
}
140137

141-
static public void VRCTrackingManager_RestoreTrackingAfterCalibration() => ms_instance?.OnCalibrationEnd();
142-
void OnCalibrationEnd()
138+
static public void OnRestoreTrackingAfterCalibration_Postfix() => ms_instance?.OnRestoreTrackingAfterCalibration();
139+
void OnRestoreTrackingAfterCalibration()
143140
{
144-
if(Settings.Enabled && m_calibrationInProgress)
141+
if(m_activeCalibration)
145142
{
146-
m_calibrationInProgress = false;
143+
m_activeCalibration = false;
147144

148-
if(m_trackerLines.Count != 0)
149-
{
150-
foreach(TrackerBoneLine l_trackerLine in m_trackerLines)
151-
l_trackerLine.gameObject.active = false;
152-
}
145+
foreach(GameObject l_trackerLine in m_trackerLines)
146+
l_trackerLine.active = false;
153147
}
154148
}
155149
}

ml_clv/Properties/AssemblyInfo.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
using System.Reflection;
22

33
[assembly: AssemblyTitle("CalibrationLinesVisualizer")]
4-
[assembly: AssemblyVersion("1.2.0")]
5-
[assembly: AssemblyFileVersion("1.2.0")]
4+
[assembly: AssemblyVersion("1.2.1")]
5+
[assembly: AssemblyFileVersion("1.2.1")]
66

7-
[assembly: MelonLoader.MelonInfo(typeof(ml_clv.CalibrationLinesVisualizer), "CalibrationLinesVisualizer", "1.2.0", "SDraw", "https://github.com/SDraw/ml_mods")]
7+
[assembly: MelonLoader.MelonInfo(typeof(ml_clv.CalibrationLinesVisualizer), "CalibrationLinesVisualizer", "1.2.1", "SDraw", "https://github.com/SDraw/ml_mods")]
88
[assembly: MelonLoader.MelonGame("VRChat", "VRChat")]
99
[assembly: MelonLoader.MelonAdditionalDependencies("VRChatUtilityKit")]
1010
[assembly: MelonLoader.MelonOptionalDependencies("IKTweaks")]

0 commit comments

Comments
 (0)