summaryrefslogtreecommitdiff
path: root/Plugin.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Plugin.cs')
-rw-r--r--Plugin.cs52
1 files changed, 30 insertions, 22 deletions
diff --git a/Plugin.cs b/Plugin.cs
index 111eb09..3ee06d3 100644
--- a/Plugin.cs
+++ b/Plugin.cs
@@ -9,6 +9,9 @@ using System.Runtime.CompilerServices;
#if ENABLE_ASSERTS
using System.Diagnostics;
#endif
+#if SHADER_FEATURES
+using System.Runtime.InteropServices;
+#endif
using ImGuiNET;
using SharpPluginLoader.Core;
@@ -592,17 +595,18 @@ namespace WorldTuningTool
case ParameterType.BYTE:
{
ref byte b1 = ref MemoryUtil.GetRef<byte>(baseObject + offset);
+ byte b = b1;
if (overrideValue)
{
- if (b1 != (byte)valueInt)
+ if (b != (byte)valueInt)
{
- oValueInt = b1;
+ oValueInt = b;
}
b1 = (byte)valueInt;
}
else
{
- valueInt = b1;
+ valueInt = b;
}
break;
}
@@ -637,16 +641,16 @@ namespace WorldTuningTool
case ParameterType.COLOR:
{
ref int i1 = ref MemoryUtil.GetRef<int>(baseObject + offset);
- int m1 = i1;
+ int m = i1;
if (mask != 0)
{
- m1 = (i1 & mask) >> BitIndex(mask);
+ m = (m & mask) >> BitIndex(mask);
}
if (overrideValue)
{
- if (m1 != valueInt)
+ if (m != valueInt)
{
- oValueInt = m1;
+ oValueInt = m;
}
if (mask != 0)
{
@@ -659,42 +663,44 @@ namespace WorldTuningTool
}
else
{
- valueInt = m1;
+ valueInt = m;
}
break;
}
case ParameterType.FLOAT:
{
ref float f1 = ref MemoryUtil.GetRef<float>(baseObject + offset);
+ float f = f1;
if (overrideValue)
{
- if (f1 != valueV.X)
+ if (f != valueV.X)
{
- oValueV.X = f1;
+ oValueV.X = f;
}
f1 = valueV.X;
}
else
{
- valueV.X = f1;
+ valueV.X = f;
}
break;
}
case ParameterType.VECTOR2:
{
ref Vector2 v2 = ref MemoryUtil.GetRef<Vector2>(baseObject + offset);
- Vector2 valueV2 = new Vector2(valueV.X, valueV.Y);
+ Vector2 v = v2;
if (overrideValue)
{
- if (v2 != valueV2)
+ Vector2 valueV2 = new Vector2(valueV.X, valueV.Y);
+ if (v != valueV2)
{
- oValueV = new Vector4(v2.X, v2.Y, 0.0f, 0.0f);
+ oValueV = new Vector4(v.X, v.Y, 0.0f, 0.0f);
}
v2 = valueV2;
}
else
{
- valueV = new Vector4(v2.X, v2.Y, 0.0f, 0.0f);
+ valueV = new Vector4(v.X, v.Y, 0.0f, 0.0f);
}
break;
}
@@ -702,35 +708,37 @@ namespace WorldTuningTool
case ParameterType.COLOR_FACTOR:
{
ref Vector3 v3 = ref MemoryUtil.GetRef<Vector3>(baseObject + offset);
- Vector3 valueV3 = new Vector3(valueV.X, valueV.Y, valueV.Z);
+ Vector3 v = v3;
if (overrideValue)
{
- if (v3 != valueV3)
+ Vector3 valueV3 = new Vector3(valueV.X, valueV.Y, valueV.Z);
+ if (v != valueV3)
{
- oValueV = new Vector4(v3.X, v3.Y, v3.Z, 0.0f);
+ oValueV = new Vector4(v.X, v.Y, v.Z, 0.0f);
}
v3 = valueV3;
}
else
{
- valueV = new Vector4(v3.X, v3.Y, v3.Z, 0.0f);
+ valueV = new Vector4(v.X, v.Y, v.Z, 0.0f);
}
break;
}
case ParameterType.VECTOR4:
{
ref Vector4 v4 = ref MemoryUtil.GetRef<Vector4>(baseObject + offset);
+ Vector4 v = v4;
if (overrideValue)
{
- if (v4 != valueV)
+ if (v != valueV)
{
- oValueV = v4;
+ oValueV = v;
}
v4 = valueV;
}
else
{
- valueV = v4;
+ valueV = v;
}
break;
}