using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BoplFixedMath;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyCompany("ForceRotator")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("My first plugin")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("ForceRotator")]
[assembly: AssemblyTitle("ForceRotator")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace AntiKick
{
public static class PluginInfo
{
public const string PLUGIN_GUID = "ForceRotator";
public const string PLUGIN_NAME = "ForceRotator";
public const string PLUGIN_VERSION = "1.0.0";
}
}
namespace ForceRotator
{
[BepInPlugin("com.David_Loves_JellyCar_Worlds.ForceRotator", "ForceRotator", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
[HarmonyPatch(typeof(DPhysicsBox))]
public class myPatches
{
[HarmonyPatch("AddForce")]
[HarmonyPrefix]
public static void FuncName_PlugenName_Plug(ref Vec2 force)
{
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
if (!IsFromPlatformSpring)
{
force = Vec2.ComplexMul(force, new Vec2((Fix)angleInDeg.Value * (Fix)((float)Math.PI / 180f)));
}
}
[HarmonyPatch("AddForceAtPosition")]
[HarmonyPrefix]
public static void FuncName_PlugenName_Plug2(ref Vec2 f, Vec2 pos, ForceMode2D forceMode)
{
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
f = Vec2.ComplexMul(f, new Vec2((Fix)angleInDeg.Value * (Fix)((float)Math.PI / 180f)));
}
}
[HarmonyPatch(typeof(DPhysicsCircle))]
public class myPatches2
{
[HarmonyPatch("AddForce")]
[HarmonyPrefix]
public static void FuncName_PlugenName_Plug(ref Vec2 force)
{
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
if (!IsFromPlatformSpring)
{
force = Vec2.ComplexMul(force, new Vec2((Fix)angleInDeg.Value * (Fix)((float)Math.PI / 180f)));
}
}
[HarmonyPatch("AddForceAtPosition")]
[HarmonyPrefix]
public static void FuncName_PlugenName_Plug2(ref Vec2 f, Vec2 pos, ForceMode2D forceMode)
{
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
f = Vec2.ComplexMul(f, new Vec2((Fix)angleInDeg.Value * (Fix)((float)Math.PI / 180f)));
}
}
[HarmonyPatch(typeof(DPhysicsRoundedRect))]
public class myPatches3
{
[HarmonyPatch("AddForce")]
[HarmonyPrefix]
public static void FuncName_PlugenName_Plug(ref Vec2 force)
{
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
if (!IsFromPlatformSpring)
{
force = Vec2.ComplexMul(force, new Vec2((Fix)angleInDeg.Value * (Fix)((float)Math.PI / 180f)));
}
}
[HarmonyPatch("AddForceAtPosition")]
[HarmonyPrefix]
public static void FuncName_PlugenName_Plug2(ref Vec2 f, Vec2 pos, ForceMode2D forceMode)
{
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0026: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
f = Vec2.ComplexMul(f, new Vec2((Fix)angleInDeg.Value * (Fix)((float)Math.PI / 180f)));
}
}
[HarmonyPatch(typeof(AnimateVelocity))]
public class myPatches4
{
[HarmonyPatch("UpdateSim")]
[HarmonyPrefix]
public static void UpdateSim(Fix simDeltaTime)
{
IsFromPlatformSpring = true;
}
[HarmonyPatch("UpdateSim")]
[HarmonyPostfix]
public static void FuncName_PlugenName_Plug2(Fix simDeltaTime)
{
IsFromPlatformSpring = false;
}
}
public static bool IsFromPlatformSpring;
public static ConfigEntry<double> angleInDeg;
public static ConfigFile config;
private void Awake()
{
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Expected O, but got Unknown
((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin ForceRotator is loaded!");
Harmony val = new Harmony("com.David_Loves_JellyCar_Worlds.ForceRotator");
((BaseUnityPlugin)this).Logger.LogInfo((object)"harmany created");
val.PatchAll();
((BaseUnityPlugin)this).Logger.LogInfo((object)"ForceRotator Patch Compleate!");
config = ((BaseUnityPlugin)this).Config;
angleInDeg = config.Bind<double>("Settings", "Angle In Deg", 180.0, "the angle in degrees to rotate forces by");
}
}
}