diff options
| author | 2026-08-09 21:20:43 -0400 | |
|---|---|---|
| committer | 2026-08-09 21:20:43 -0400 | |
| commit | 24efeb3697f464c1a205421516b0d9ca108eb751 (patch) | |
| tree | d8a41077df108ed49220df127165c25408d15358 /Plugin.cs | |
| parent | bf9d30011421064540bd34bab632ac3ed6450528 (diff) | |
| download | WorldTuningTool-24efeb3697f464c1a205421516b0d9ca108eb751.tar.gz WorldTuningTool-24efeb3697f464c1a205421516b0d9ca108eb751.tar.bz2 WorldTuningTool-24efeb3697f464c1a205421516b0d9ca108eb751.zip | |
Reduce reads in Parameter.Update()
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'Plugin.cs')
| -rw-r--r-- | Plugin.cs | 52 |
1 files changed, 30 insertions, 22 deletions
@@ -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; } |