fixed? the patch breaking when changing scopes.
This commit is contained in:
parent
666f4fd5f2
commit
1aca3df01c
@ -31,6 +31,10 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Reference Include="0Harmony, Version=2.9.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>..\..\MyFirstPlugin\MyFirstPlugin\lib\0Harmony.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Aki.Reflection">
|
<Reference Include="Aki.Reflection">
|
||||||
<HintPath>E:\SPT-AKI\SPT-AKI 2.3.1 UniformAimTest\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll</HintPath>
|
<HintPath>E:\SPT-AKI\SPT-AKI 2.3.1 UniformAimTest\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using Aki.Reflection.Patching;
|
using Aki.Reflection.Patching;
|
||||||
using EFT;
|
using EFT;
|
||||||
using UniformAim;
|
using HarmonyLib;
|
||||||
|
|
||||||
|
|
||||||
namespace UniformAim
|
namespace UniformAim
|
||||||
{
|
{
|
||||||
@ -19,4 +18,19 @@ namespace UniformAim
|
|||||||
____aimingSens = Plugin.mySens;
|
____aimingSens = Plugin.mySens;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class get_AimingSensitivityPatch : ModulePatch
|
||||||
|
{
|
||||||
|
protected override MethodBase GetTargetMethod()
|
||||||
|
{
|
||||||
|
return typeof(Player.FirearmController).GetMethod("get_AimingSensitivity");
|
||||||
|
}
|
||||||
|
[PatchPostfix]
|
||||||
|
public static void PatchPostfix(ref float ____aimingSens)
|
||||||
|
{
|
||||||
|
____aimingSens = Plugin.mySens;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,19 +1,18 @@
|
|||||||
using BepInEx;
|
using BepInEx;
|
||||||
using BepInEx.Configuration;
|
using BepInEx.Configuration;
|
||||||
using UniformAim;
|
|
||||||
using System;
|
using System;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace UniformAim
|
namespace UniformAim
|
||||||
{
|
{
|
||||||
[BepInPlugin("com.greg.tarkovuniformaim", "Uniform Aim for Tarkov", "0.1.1")]
|
[BepInPlugin("com.greg.tarkovuniformaim", "Uniform Aim for Tarkov", "1.0.0-rc")]
|
||||||
[BepInProcess("EscapeFromTarkov.exe")]
|
[BepInProcess("EscapeFromTarkov.exe")]
|
||||||
|
|
||||||
public class Plugin : BaseUnityPlugin
|
public class Plugin : BaseUnityPlugin
|
||||||
{
|
{
|
||||||
//Bepinex.Configurator fields
|
//Bepinex.Configurator fields
|
||||||
public static ConfigEntry<int> configFOV;
|
public static ConfigEntry<int> configFOV;
|
||||||
public static ConfigEntry<float> configCoeff;
|
public static ConfigEntry<int> configCoeff;
|
||||||
public static ConfigEntry<int> configSens;
|
public static ConfigEntry<int> configSens;
|
||||||
|
|
||||||
public static float mySens = 2f;
|
public static float mySens = 2f;
|
||||||
@ -22,7 +21,7 @@ namespace UniformAim
|
|||||||
float lastFOV = -1f;
|
float lastFOV = -1f;
|
||||||
float lastFOV2 = -1f;
|
float lastFOV2 = -1f;
|
||||||
|
|
||||||
//human-friendly names
|
//human-friendly names for variables used later
|
||||||
float FPSCameraFOV = -1f;
|
float FPSCameraFOV = -1f;
|
||||||
float ScopeFOV = -1f;
|
float ScopeFOV = -1f;
|
||||||
float currentFOV = -1f;
|
float currentFOV = -1f;
|
||||||
@ -38,7 +37,6 @@ namespace UniformAim
|
|||||||
//Logger.LogInfo("GetAspectRatio(): resX: " + resX + " resY: " + resY);
|
//Logger.LogInfo("GetAspectRatio(): resX: " + resX + " resY: " + resY);
|
||||||
return (resX / resY);
|
return (resX / resY);
|
||||||
}
|
}
|
||||||
//convert degrees to radians
|
|
||||||
//calculate horizontal FOV based on vertical FOV
|
//calculate horizontal FOV based on vertical FOV
|
||||||
float CalculateHFOV(float FOV)
|
float CalculateHFOV(float FOV)
|
||||||
{
|
{
|
||||||
@ -57,25 +55,31 @@ namespace UniformAim
|
|||||||
aimedFOV = aimedFOV / 2 * Mathf.Deg2Rad;
|
aimedFOV = aimedFOV / 2 * Mathf.Deg2Rad;
|
||||||
hipFOV = hipFOV / 2 * Mathf.Deg2Rad;
|
hipFOV = hipFOV / 2 * Mathf.Deg2Rad;
|
||||||
|
|
||||||
//ratio of tangents as sensitivity
|
float exponent = (float)(100f / configCoeff.Value);
|
||||||
float sensitivity = (float)((Math.Tan(aimedFOV) / Math.Tan(hipFOV)) * (mySens / 100));
|
|
||||||
|
|
||||||
return sensitivity;
|
float tanRatio = (float)(Math.Tan(aimedFOV) / Math.Tan(hipFOV));
|
||||||
|
|
||||||
|
float sensitivity = (float)(configSens.Value/100f);
|
||||||
|
|
||||||
|
float result = (float)Math.Pow(tanRatio, exponent) * sensitivity;
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Awake()
|
void Awake()
|
||||||
{
|
{
|
||||||
//Enable uniform aim patch
|
//Enable uniform aim patch
|
||||||
new UpdateSensitivityPatch().Enable();
|
new UpdateSensitivityPatch().Enable();
|
||||||
|
new get_AimingSensitivityPatch().Enable();
|
||||||
|
|
||||||
//add configuration slider for field of view
|
//add configuration slider for field of view
|
||||||
configFOV = Config.Bind("General", "FOV", 75, new ConfigDescription("In-game Field of View value", new AcceptableValueRange<int>(50, 75)));
|
configFOV = Config.Bind("General", "FOV", 75, new ConfigDescription("In-game Field of View value", new AcceptableValueRange<int>(50, 75)));
|
||||||
|
|
||||||
//add coefficient slider
|
//add coefficient slider
|
||||||
configCoeff = Config.Bind("General", "Coefficient", 1.33f, new ConfigDescription("Coefficient - increases sensitivity at higher zoom levels, default 4/3", new AcceptableValueRange<float>(0.001f, 5.0f)));
|
configCoeff = Config.Bind("General", "Coefficient", 133, new ConfigDescription("Coefficient - increases sensitivity at higher zoom levels", new AcceptableValueRange<int>(1, 300)));
|
||||||
|
|
||||||
//add secondary sensitivity slider for greater control
|
//add secondary sensitivity slider for greater control
|
||||||
configSens = Config.Bind("General", "Sensitivity", 25, new ConfigDescription("Secondary sensitivity multiplier in case Tarkov's default isn't enough", new AcceptableValueRange<int>(1, 200)));
|
configSens = Config.Bind("General", "Sensitivity", 25, new ConfigDescription("Sensitivity while aiming", new AcceptableValueRange<int>(1, 200)));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,7 +113,6 @@ namespace UniformAim
|
|||||||
}
|
}
|
||||||
|
|
||||||
mySens = CalculateSensitivity(currentFOV, configFOV.Value, configSens.Value);
|
mySens = CalculateSensitivity(currentFOV, configFOV.Value, configSens.Value);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user