diff --git a/1.3/Assemblies/CameraPlus.dll b/1.3/Assemblies/CameraPlus.dll index 7551b08..264d702 100644 Binary files a/1.3/Assemblies/CameraPlus.dll and b/1.3/Assemblies/CameraPlus.dll differ diff --git a/About/Manifest.xml b/About/Manifest.xml index 1ce961f..309b80e 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@  net.pardeike.rimworld.mod.cameraplus - 2.2.2.0 + 2.2.3.0
  • 1.0.0
  • 1.1.0
  • diff --git a/Source/CameraPlus.csproj b/Source/CameraPlus.csproj index 67dadc5..90e3ac0 100644 --- a/Source/CameraPlus.csproj +++ b/Source/CameraPlus.csproj @@ -10,7 +10,7 @@ ..\1.3\Assemblies\ true false - 2.2.2.0 + 2.2.3.0 Copyright Andreas Pardeike diff --git a/Source/Main.cs b/Source/Main.cs index 257f703..bfce29b 100644 --- a/Source/Main.cs +++ b/Source/Main.cs @@ -282,21 +282,25 @@ static IEnumerable Transpiler(IEnumerable inst [HarmonyPatch(typeof(CameraDriver), nameof(CameraDriver.CurrentZoom), MethodType.Getter)] static class CameraDriver_CurrentZoom_Patch { - public static bool Prefix(ref CameraZoomRange __result, float ___rootSize) - { - // these values are from vanilla - // we remap them to the range 30 - 60 - var sizes = new[] { 12f, 13.8f, 42f, 57f } + // these values are from vanilla + // we remap them to the range 30 - 60 + static readonly float[] sizes = new[] { 12f, 13.8f, 42f, 57f } .Select(f => Tools.LerpDoubleSafe(12, 57, 30, 60, f)) .ToArray(); - __result = CameraZoomRange.Furthest; - for (var i = 0; i < 4; i++) - if (Tools.LerpRootSize(___rootSize) < sizes[i]) - { - __result = (CameraZoomRange)i; - break; - } + public static bool Prefix(ref CameraZoomRange __result, float ___rootSize) + { + var lerped = Tools.LerpRootSize(___rootSize); + if (lerped < sizes[0]) + __result = CameraZoomRange.Closest; + else if (lerped < sizes[1]) + __result = CameraZoomRange.Close; + else if (lerped < sizes[2]) + __result = CameraZoomRange.Middle; + else if (lerped < sizes[3]) + __result = CameraZoomRange.Far; + else + __result = CameraZoomRange.Furthest; return false; } }