Skip to content

Commit 0c2adea

Browse files
committed
Fixed ESP to work with the Render Scale setting of the game
1 parent 14915d8 commit 0c2adea

File tree

1 file changed

+25
-21
lines changed

1 file changed

+25
-21
lines changed

ValheimTooler/Core/ESP.cs

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -106,15 +106,17 @@ public static void Update()
106106
s_depositsDestructible.Clear();
107107
s_mineRock5s.Clear();
108108

109+
Camera mainCamera = global::Utils.GetMainCamera();
110+
109111
if (ESP.s_showPlayerESP || ESP.s_showMonsterESP)
110112
{
111113
List<Character> characters = Character.GetAllCharacters();
112114

113-
if (characters != null && Camera.main != null && Player.m_localPlayer != null)
115+
if (characters != null && mainCamera != null && Player.m_localPlayer != null)
114116
{
115117
foreach (Character character in characters)
116118
{
117-
var distance = Vector3.Distance(Camera.main.transform.position, character.transform.position);
119+
var distance = Vector3.Distance(mainCamera.transform.position, character.transform.position);
118120

119121
if (character.IsPlayer() && ((Player)character).GetPlayerID() == Player.m_localPlayer.GetPlayerID())
120122
{
@@ -133,11 +135,11 @@ public static void Update()
133135
{
134136
var pickables = UnityEngine.Object.FindObjectsOfType<Pickable>();
135137

136-
if (pickables != null && Camera.main != null)
138+
if (pickables != null && mainCamera != null)
137139
{
138140
foreach (Pickable pickable in pickables)
139141
{
140-
var distance = Vector3.Distance(Camera.main.transform.position, pickable.transform.position);
142+
var distance = Vector3.Distance(mainCamera.transform.position, pickable.transform.position);
141143

142144
if (distance > 2 && (!ConfigManager.s_espRadiusEnabled.Value || distance < ConfigManager.s_espRadius.Value))
143145
{
@@ -148,11 +150,11 @@ public static void Update()
148150

149151
var pickableItems = UnityEngine.Object.FindObjectsOfType<PickableItem>();
150152

151-
if (pickableItems != null && Camera.main != null)
153+
if (pickableItems != null && mainCamera != null)
152154
{
153155
foreach (PickableItem pickableItem in pickableItems)
154156
{
155-
var distance = Vector3.Distance(Camera.main.transform.position, pickableItem.transform.position);
157+
var distance = Vector3.Distance(mainCamera.transform.position, pickableItem.transform.position);
156158

157159
if (distance > 2 && (!ConfigManager.s_espRadiusEnabled.Value || distance < ConfigManager.s_espRadius.Value))
158160
{
@@ -166,11 +168,11 @@ public static void Update()
166168
{
167169
var itemDrops = UnityEngine.Object.FindObjectsOfType<ItemDrop>();
168170

169-
if (itemDrops != null && Camera.main != null)
171+
if (itemDrops != null && mainCamera != null)
170172
{
171173
foreach (ItemDrop itemDrop in itemDrops)
172174
{
173-
var distance = Vector3.Distance(Camera.main.transform.position, itemDrop.transform.position);
175+
var distance = Vector3.Distance(mainCamera.transform.position, itemDrop.transform.position);
174176

175177
if (distance > 2 && (!ConfigManager.s_espRadiusEnabled.Value || distance < ConfigManager.s_espRadius.Value))
176178
{
@@ -184,7 +186,7 @@ public static void Update()
184186
{
185187
var mineRock5s = UnityEngine.Object.FindObjectsOfType<MineRock5>();
186188

187-
if (mineRock5s != null && Camera.main != null)
189+
if (mineRock5s != null && mainCamera != null)
188190
{
189191
foreach (MineRock5 mineRock5 in mineRock5s)
190192
{
@@ -193,7 +195,7 @@ public static void Update()
193195
if (name.Contains("rock") || name.Length == 0)
194196
continue;
195197

196-
var distance = Vector3.Distance(Camera.main.transform.position, mineRock5.transform.position);
198+
var distance = Vector3.Distance(mainCamera.transform.position, mineRock5.transform.position);
197199

198200
if (distance > 2 && (!ConfigManager.s_espRadiusEnabled.Value || distance < ConfigManager.s_espRadius.Value))
199201
{
@@ -204,7 +206,7 @@ public static void Update()
204206

205207
var destructibles = UnityEngine.Object.FindObjectsOfType<Destructible>();
206208

207-
if (destructibles != null && Camera.main != null)
209+
if (destructibles != null && mainCamera != null)
208210
{
209211
foreach (Destructible destructible in destructibles)
210212
{
@@ -218,7 +220,7 @@ public static void Update()
218220
continue;
219221
}
220222

221-
var distance = Vector3.Distance(Camera.main.transform.position, destructible.transform.position);
223+
var distance = Vector3.Distance(mainCamera.transform.position, destructible.transform.position);
222224

223225
if (distance > 2 && (!ConfigManager.s_espRadiusEnabled.Value || distance < ConfigManager.s_espRadius.Value))
224226
{
@@ -234,9 +236,11 @@ public static void Update()
234236

235237
public static void DisplayGUI()
236238
{
237-
if (Camera.main != null && Player.m_localPlayer != null)
239+
Camera mainCamera = global::Utils.GetMainCamera();
240+
241+
if (mainCamera != null && Player.m_localPlayer != null)
238242
{
239-
var main = Camera.main;
243+
var main = mainCamera;
240244
var labelSkin = new GUIStyle(InterfaceMaker.CustomSkin.label);
241245

242246
if (ESP.s_showPlayerESP || ESP.s_showMonsterESP)
@@ -247,11 +251,11 @@ public static void DisplayGUI()
247251
{
248252
continue;
249253
}
250-
Vector3 vector = main.WorldToScreenPoint(character.transform.position);
254+
Vector3 vector = main.WorldToScreenPointScaled(character.transform.position);
251255

252256
if (vector.z > -1)
253257
{
254-
float a = Math.Abs(main.WorldToScreenPoint(character.GetEyePoint()).y - vector.y);
258+
float a = Math.Abs(main.WorldToScreenPointScaled(character.GetEyePoint()).y - vector.y);
255259

256260
if (character.IsPlayer() && ESP.s_showPlayerESP)
257261
{
@@ -280,7 +284,7 @@ public static void DisplayGUI()
280284
{
281285
continue;
282286
}
283-
Vector3 vector = main.WorldToScreenPoint(pickable.transform.position);
287+
Vector3 vector = main.WorldToScreenPointScaled(pickable.transform.position);
284288

285289
if (vector.z > -1)
286290
{
@@ -295,7 +299,7 @@ public static void DisplayGUI()
295299
{
296300
continue;
297301
}
298-
Vector3 vector = main.WorldToScreenPoint(pickableItem.transform.position);
302+
Vector3 vector = main.WorldToScreenPointScaled(pickableItem.transform.position);
299303

300304
if (vector.z > -1)
301305
{
@@ -315,7 +319,7 @@ public static void DisplayGUI()
315319
{
316320
continue;
317321
}
318-
Vector3 vector = main.WorldToScreenPoint(itemDrop.transform.position);
322+
Vector3 vector = main.WorldToScreenPointScaled(itemDrop.transform.position);
319323

320324
if (vector.z > -1)
321325
{
@@ -336,7 +340,7 @@ public static void DisplayGUI()
336340
{
337341
continue;
338342
}
339-
Vector3 vector = main.WorldToScreenPoint(depositDestructible.transform.position);
343+
Vector3 vector = main.WorldToScreenPointScaled(depositDestructible.transform.position);
340344

341345
if (vector.z > -1)
342346
{
@@ -353,7 +357,7 @@ public static void DisplayGUI()
353357
{
354358
continue;
355359
}
356-
Vector3 vector = main.WorldToScreenPoint(mineRock5.transform.position);
360+
Vector3 vector = main.WorldToScreenPointScaled(mineRock5.transform.position);
357361

358362
if (vector.z > -1)
359363
{

0 commit comments

Comments
 (0)