Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of PostProcessing v0.1.2
PostProcessing.dll
Decompiled 2 years agousing System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using UnityEngine; using UnityEngine.PostProcessing; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("PostProcessing")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("PostProcessing")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("836db46b-86d6-47dd-8cf9-39be99a17b13")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.6.2", FrameworkDisplayName = ".NET Framework 4.6.2")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyVersion("1.0.0.0")] public class AedenthornUtils { public static bool IgnoreKeyPresses(bool extra = false) { if (!extra) { int result; if (!((Object)(object)ZNetScene.instance == (Object)null) && !((Object)(object)Player.m_localPlayer == (Object)null) && !Minimap.IsOpen() && !Console.IsVisible() && !TextInput.IsVisible() && !ZNet.instance.InPasswordDialog()) { Chat instance = Chat.instance; result = ((instance != null && instance.HasFocus()) ? 1 : 0); } else { result = 1; } return (byte)result != 0; } int result2; if (!((Object)(object)ZNetScene.instance == (Object)null) && !((Object)(object)Player.m_localPlayer == (Object)null) && !Minimap.IsOpen() && !Console.IsVisible() && !TextInput.IsVisible() && !ZNet.instance.InPasswordDialog()) { Chat instance2 = Chat.instance; if ((instance2 == null || !instance2.HasFocus()) && !StoreGui.IsVisible() && !InventoryGui.IsVisible() && !Menu.IsVisible()) { TextViewer instance3 = TextViewer.instance; result2 = ((instance3 != null && instance3.IsVisible()) ? 1 : 0); goto IL_00d2; } } result2 = 1; goto IL_00d2; IL_00d2: return (byte)result2 != 0; } public static bool CheckKeyDown(string value) { try { return Input.GetKeyDown(value.ToLower()); } catch { return false; } } public static bool CheckKeyUp(string value) { try { return Input.GetKeyUp(value.ToLower()); } catch { return false; } } public static bool CheckKeyHeld(string value, bool req = true) { try { return Input.GetKey(value.ToLower()); } catch { return !req; } } public static void ShuffleList<T>(List<T> list) { int num = list.Count; while (num > 1) { num--; int index = Random.Range(0, num); T value = list[index]; list[index] = list[num]; list[num] = value; } } public static string GetAssetPath(object obj, bool create = false) { return GetAssetPath(obj.GetType().Namespace, create); } public static string GetAssetPath(string name, bool create = false) { string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), name); if (create && !Directory.Exists(text)) { Directory.CreateDirectory(text); } return text; } public static string GetTransformPath(Transform t) { if (!Object.op_Implicit((Object)(object)t.parent)) { return ((Object)t).name; } return GetTransformPath(t.parent) + "/" + ((Object)t).name; } public static byte[] EncodeToPNG(Texture2D texture) { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Expected O, but got Unknown //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Expected O, but got Unknown RenderTexture temporary = RenderTexture.GetTemporary(((Texture)texture).width, ((Texture)texture).height, 0, (RenderTextureFormat)7, (RenderTextureReadWrite)0); Graphics.Blit((Texture)(object)texture, temporary); RenderTexture active = RenderTexture.active; RenderTexture.active = temporary; Texture2D val = new Texture2D(((Texture)texture).width, ((Texture)texture).height, (TextureFormat)4, true, false); val.ReadPixels(new Rect(0f, 0f, (float)((Texture)temporary).width, (float)((Texture)temporary).height), 0, 0); val.Apply(); RenderTexture.active = active; RenderTexture.ReleaseTemporary(temporary); Texture2D val2 = new Texture2D(((Texture)texture).width, ((Texture)texture).height); val2.SetPixels(val.GetPixels()); val2.Apply(); return ImageConversion.EncodeToPNG(val2); } } namespace PostProcessing; [BepInPlugin("aedenthorn.PostProcessing", "Post Processing", "0.1.2")] public class BepInExPlugin : BaseUnityPlugin { [HarmonyPatch(typeof(PostProcessingBehaviour), "OnEnable")] private static class PostProcessingBehaviour_OnEnable_Patch { private static void Prefix(PostProcessingBehaviour __instance) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)__instance.profile != (Object)null && !defaultPostProcessingSet) { defaultVignetteSettings = __instance.profile.vignette.settings; defaultVignetteEnabled = ((PostProcessingModel)__instance.profile.vignette).enabled; defaultBloomSettings = __instance.profile.bloom.settings; defaultEyeAdaptSettings = __instance.profile.eyeAdaptation.settings; defaultEyeAdaptEnabled = ((PostProcessingModel)__instance.profile.eyeAdaptation).enabled; defaultMotionBlurSettings = __instance.profile.motionBlur.settings; defaultDepthOfFieldSettings = __instance.profile.depthOfField.settings; defaultColorGradingSettings = __instance.profile.colorGrading.settings; defaultAOSettings = __instance.profile.ambientOcclusion.settings; defaultCASettings = __instance.profile.chromaticAberration.settings; defaultSSRSettings = __instance.profile.screenSpaceReflection.settings; defaultSSREnabled = ((PostProcessingModel)__instance.profile.screenSpaceReflection).enabled; defaultPostProcessingSet = true; } } } [HarmonyPatch(typeof(PostProcessingBehaviour), "OnPreCull")] private static class PostProcessingBehaviour_OnPreCull_Patch { private static void Postfix(ref VignetteComponent ___m_Vignette, ref BloomComponent ___m_Bloom, ref EyeAdaptationComponent ___m_EyeAdaptation, ref DepthOfFieldComponent ___m_DepthOfField, ref MotionBlurComponent ___m_MotionBlur, ref ColorGradingComponent ___m_ColorGrading, ref TaaComponent ___m_Taa, ref FxaaComponent ___m_Fxaa, ref AmbientOcclusionComponent ___m_AmbientOcclusion, ref ChromaticAberrationComponent ___m_ChromaticAberration, ref ScreenSpaceReflectionComponent ___m_ScreenSpaceReflection) { //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02bb: Unknown result type (might be due to invalid IL or missing references) //IL_02c4: Unknown result type (might be due to invalid IL or missing references) //IL_037e: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Unknown result type (might be due to invalid IL or missing references) //IL_035e: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Unknown result type (might be due to invalid IL or missing references) //IL_036a: Unknown result type (might be due to invalid IL or missing references) //IL_0436: Unknown result type (might be due to invalid IL or missing references) //IL_03af: Unknown result type (might be due to invalid IL or missing references) //IL_0400: Unknown result type (might be due to invalid IL or missing references) //IL_0405: Unknown result type (might be due to invalid IL or missing references) //IL_040a: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_0415: Unknown result type (might be due to invalid IL or missing references) //IL_061d: Unknown result type (might be due to invalid IL or missing references) //IL_0475: Unknown result type (might be due to invalid IL or missing references) //IL_0482: Unknown result type (might be due to invalid IL or missing references) //IL_0487: Unknown result type (might be due to invalid IL or missing references) //IL_04f2: Unknown result type (might be due to invalid IL or missing references) //IL_04f4: Unknown result type (might be due to invalid IL or missing references) //IL_04f8: Unknown result type (might be due to invalid IL or missing references) //IL_0564: Unknown result type (might be due to invalid IL or missing references) //IL_0566: Unknown result type (might be due to invalid IL or missing references) //IL_056a: Unknown result type (might be due to invalid IL or missing references) //IL_0577: Unknown result type (might be due to invalid IL or missing references) //IL_057c: Unknown result type (might be due to invalid IL or missing references) //IL_0588: Unknown result type (might be due to invalid IL or missing references) //IL_058d: Unknown result type (might be due to invalid IL or missing references) //IL_0599: Unknown result type (might be due to invalid IL or missing references) //IL_059e: Unknown result type (might be due to invalid IL or missing references) //IL_05b4: Unknown result type (might be due to invalid IL or missing references) //IL_05b6: Unknown result type (might be due to invalid IL or missing references) //IL_05ba: Unknown result type (might be due to invalid IL or missing references) //IL_05c2: Unknown result type (might be due to invalid IL or missing references) //IL_05c4: Unknown result type (might be due to invalid IL or missing references) //IL_05cb: Unknown result type (might be due to invalid IL or missing references) //IL_05cd: Unknown result type (might be due to invalid IL or missing references) //IL_05d4: Unknown result type (might be due to invalid IL or missing references) //IL_05d6: Unknown result type (might be due to invalid IL or missing references) //IL_05e2: Unknown result type (might be due to invalid IL or missing references) //IL_05e7: Unknown result type (might be due to invalid IL or missing references) //IL_05f3: Unknown result type (might be due to invalid IL or missing references) //IL_05f8: Unknown result type (might be due to invalid IL or missing references) //IL_05fd: Unknown result type (might be due to invalid IL or missing references) //IL_05ff: Unknown result type (might be due to invalid IL or missing references) //IL_0609: Unknown result type (might be due to invalid IL or missing references) //IL_070d: Unknown result type (might be due to invalid IL or missing references) //IL_064e: Unknown result type (might be due to invalid IL or missing references) //IL_069f: Unknown result type (might be due to invalid IL or missing references) //IL_06a4: Unknown result type (might be due to invalid IL or missing references) //IL_06ed: Unknown result type (might be due to invalid IL or missing references) //IL_06ef: Unknown result type (might be due to invalid IL or missing references) //IL_06f9: Unknown result type (might be due to invalid IL or missing references) //IL_0730: Unknown result type (might be due to invalid IL or missing references) //IL_0735: Unknown result type (might be due to invalid IL or missing references) //IL_0742: Unknown result type (might be due to invalid IL or missing references) //IL_0747: Unknown result type (might be due to invalid IL or missing references) //IL_086d: Unknown result type (might be due to invalid IL or missing references) //IL_0880: Unknown result type (might be due to invalid IL or missing references) //IL_0778: Unknown result type (might be due to invalid IL or missing references) //IL_0785: Unknown result type (might be due to invalid IL or missing references) //IL_078a: Unknown result type (might be due to invalid IL or missing references) //IL_078f: Unknown result type (might be due to invalid IL or missing references) //IL_0791: Unknown result type (might be due to invalid IL or missing references) //IL_0795: Unknown result type (might be due to invalid IL or missing references) //IL_07df: Unknown result type (might be due to invalid IL or missing references) //IL_07e1: Unknown result type (might be due to invalid IL or missing references) //IL_07e5: Unknown result type (might be due to invalid IL or missing references) //IL_07f2: Unknown result type (might be due to invalid IL or missing references) //IL_07f7: Unknown result type (might be due to invalid IL or missing references) //IL_07fe: Unknown result type (might be due to invalid IL or missing references) //IL_0800: Unknown result type (might be due to invalid IL or missing references) //IL_0807: Unknown result type (might be due to invalid IL or missing references) //IL_0809: Unknown result type (might be due to invalid IL or missing references) //IL_080e: Unknown result type (might be due to invalid IL or missing references) //IL_0810: Unknown result type (might be due to invalid IL or missing references) //IL_0814: Unknown result type (might be due to invalid IL or missing references) //IL_0821: Unknown result type (might be due to invalid IL or missing references) //IL_0826: Unknown result type (might be due to invalid IL or missing references) //IL_082d: Unknown result type (might be due to invalid IL or missing references) //IL_082f: Unknown result type (might be due to invalid IL or missing references) //IL_0836: Unknown result type (might be due to invalid IL or missing references) //IL_0838: Unknown result type (might be due to invalid IL or missing references) //IL_083d: Unknown result type (might be due to invalid IL or missing references) //IL_083f: Unknown result type (might be due to invalid IL or missing references) //IL_0849: Unknown result type (might be due to invalid IL or missing references) //IL_0859: Unknown result type (might be due to invalid IL or missing references) //IL_08e5: Unknown result type (might be due to invalid IL or missing references) //IL_08ae: Unknown result type (might be due to invalid IL or missing references) //IL_08c5: Unknown result type (might be due to invalid IL or missing references) //IL_08c7: Unknown result type (might be due to invalid IL or missing references) //IL_08d1: Unknown result type (might be due to invalid IL or missing references) //IL_0a57: Unknown result type (might be due to invalid IL or missing references) //IL_091e: Unknown result type (might be due to invalid IL or missing references) //IL_0928: Unknown result type (might be due to invalid IL or missing references) //IL_0935: Unknown result type (might be due to invalid IL or missing references) //IL_093a: Unknown result type (might be due to invalid IL or missing references) //IL_0946: Unknown result type (might be due to invalid IL or missing references) //IL_094b: Unknown result type (might be due to invalid IL or missing references) //IL_09b6: Unknown result type (might be due to invalid IL or missing references) //IL_09b8: Unknown result type (might be due to invalid IL or missing references) //IL_09c1: Unknown result type (might be due to invalid IL or missing references) //IL_0a0b: Unknown result type (might be due to invalid IL or missing references) //IL_0a0d: Unknown result type (might be due to invalid IL or missing references) //IL_0a16: Unknown result type (might be due to invalid IL or missing references) //IL_0a2d: Unknown result type (might be due to invalid IL or missing references) //IL_0a2f: Unknown result type (might be due to invalid IL or missing references) //IL_0a34: Unknown result type (might be due to invalid IL or missing references) if (modEnabled.Value && customVignette.Value) { Settings val = default(Settings); val.mode = (Mode)0; val.opacity = vignetteOpacity.Value; val.intensity = vignetteIntensity.Value; val.color = vignetteColor.Value; val.center = vignetteCenter.Value; val.smoothness = vignetteSmoothness.Value; val.roundness = vignetteRoundness.Value; val.rounded = vignetteRounded.Value; Settings settings = val; ((PostProcessingComponent<VignetteModel>)(object)___m_Vignette).model.settings = settings; ((PostProcessingModel)((PostProcessingComponent<VignetteModel>)(object)___m_Vignette).model).enabled = true; } else { ((PostProcessingComponent<VignetteModel>)(object)___m_Vignette).model.settings = defaultVignetteSettings; ((PostProcessingModel)((PostProcessingComponent<VignetteModel>)(object)___m_Vignette).model).enabled = defaultVignetteEnabled; } if (modEnabled.Value && customBloom.Value) { BloomSettings val2 = default(BloomSettings); val2.intensity = bloomIntensity.Value; val2.threshold = bloomThreshold.Value; val2.softKnee = bloomSoftKnee.Value; val2.radius = bloomRadius.Value; val2.antiFlicker = bloomAntiFlicker.Value; BloomSettings bloom = val2; LensDirtSettings val3 = default(LensDirtSettings); val3.intensity = bloomLensDirtIntensity.Value; LensDirtSettings lensDirt = val3; Settings val4 = default(Settings); val4.bloom = bloom; val4.lensDirt = lensDirt; Settings settings2 = val4; ((PostProcessingComponent<BloomModel>)(object)___m_Bloom).model.settings = settings2; } else { ((PostProcessingComponent<BloomModel>)(object)___m_Bloom).model.settings = defaultBloomSettings; } if (modEnabled.Value && customEyeAdapt.Value) { Settings val5 = default(Settings); val5.lowPercent = eyeAdaptLowPercent.Value; val5.highPercent = eyeAdaptHighPercent.Value; val5.minLuminance = eyeAdaptMinLuminance.Value; val5.maxLuminance = eyeAdaptMaxLuminance.Value; val5.keyValue = eyeAdaptKeyValue.Value; val5.dynamicKeyValue = eyeAdaptDynamicKeyValue.Value; val5.adaptationType = eyeAdaptAdaptationType.Value; val5.speedUp = eyeAdaptSpeedUp.Value; val5.speedDown = eyeAdaptSpeedDown.Value; val5.logMin = eyeAdaptLogMin.Value; val5.logMax = eyeAdaptLogMax.Value; Settings settings3 = val5; ((PostProcessingComponent<EyeAdaptationModel>)(object)___m_EyeAdaptation).model.settings = settings3; ((PostProcessingModel)((PostProcessingComponent<EyeAdaptationModel>)(object)___m_EyeAdaptation).model).enabled = true; } else { ((PostProcessingComponent<EyeAdaptationModel>)(object)___m_EyeAdaptation).model.settings = defaultEyeAdaptSettings; ((PostProcessingModel)((PostProcessingComponent<EyeAdaptationModel>)(object)___m_EyeAdaptation).model).enabled = defaultEyeAdaptEnabled; } if (modEnabled.Value && customMotionBlur.Value) { Settings val6 = default(Settings); val6.shutterAngle = motionBlurShutterAngle.Value; val6.sampleCount = motionBlurSampleCount.Value; val6.frameBlending = motionBlurFrameBlending.Value; Settings settings4 = val6; ((PostProcessingComponent<MotionBlurModel>)(object)___m_MotionBlur).model.settings = settings4; } else { ((PostProcessingComponent<MotionBlurModel>)(object)___m_MotionBlur).model.settings = defaultMotionBlurSettings; } if (modEnabled.Value && customDepthOfField.Value) { Settings val7 = default(Settings); val7.focusDistance = depthOfFieldFocusDistance.Value; val7.aperture = depthOfFieldAperture.Value; val7.focalLength = depthOfFieldFocalLength.Value; val7.useCameraFov = depthOfFieldUseCameraFov.Value; val7.kernelSize = depthOfFieldKernelSize.Value; Settings settings5 = val7; ((PostProcessingComponent<DepthOfFieldModel>)(object)___m_DepthOfField).model.settings = settings5; ((PostProcessingModel)((PostProcessingComponent<DepthOfFieldModel>)(object)___m_DepthOfField).model).enabled = true; } else { ((PostProcessingComponent<DepthOfFieldModel>)(object)___m_DepthOfField).model.settings = defaultDepthOfFieldSettings; ((PostProcessingModel)((PostProcessingComponent<DepthOfFieldModel>)(object)___m_DepthOfField).model).enabled = false; } if (modEnabled.Value && customColorGrading.Value) { TonemappingSettings val8 = default(TonemappingSettings); val8.tonemapper = colorGradingTonemapper.Value; val8.neutralBlackIn = colorGradingNeutralBlackIn.Value; val8.neutralWhiteIn = colorGradingNeutralWhiteIn.Value; val8.neutralBlackOut = colorGradingNeutralBlackOut.Value; val8.neutralWhiteOut = colorGradingNeutralWhiteOut.Value; val8.neutralWhiteLevel = colorGradingNeutralWhiteLevel.Value; val8.neutralWhiteClip = colorGradingNeutralWhiteClip.Value; TonemappingSettings tonemapping = val8; BasicSettings val9 = default(BasicSettings); val9.postExposure = colorGradingPostExposure.Value; val9.temperature = colorGradingTemperature.Value; val9.tint = colorGradingTint.Value; val9.hueShift = colorGradingHueShift.Value; val9.saturation = colorGradingSaturation.Value; val9.contrast = colorGradingContrast.Value; BasicSettings basic = val9; ChannelMixerSettings val10 = default(ChannelMixerSettings); val10.red = colorGradingChannelMixerRed.Value; val10.green = colorGradingChannelMixerGreen.Value; val10.blue = colorGradingChannelMixerBlue.Value; val10.currentEditingChannel = colorGradingChannelMixerCurrentEditingChannel.Value; ChannelMixerSettings channelMixer = val10; Settings val11 = default(Settings); val11.tonemapping = tonemapping; val11.basic = basic; val11.channelMixer = channelMixer; val11.colorWheels = defaultColorGradingSettings.colorWheels; val11.curves = defaultColorGradingSettings.curves; Settings settings6 = val11; ((PostProcessingComponent<ColorGradingModel>)(object)___m_ColorGrading).model.settings = settings6; } else { ((PostProcessingComponent<ColorGradingModel>)(object)___m_ColorGrading).model.settings = defaultColorGradingSettings; } if (modEnabled.Value && customAO.Value) { Settings val12 = default(Settings); val12.intensity = AOIntensity.Value; val12.intensityFar = AOIntensityFar.Value; val12.farDistance = AOFarDistance.Value; val12.radius = AORadius.Value; val12.sampleCount = AOSampleCount.Value; val12.downsampling = AODownsampling.Value; val12.forceForwardCompatibility = AOForceForwardCompatibility.Value; val12.ambientOnly = AOAmbientOnly.Value; val12.highPrecision = AOHighPrecision.Value; Settings settings7 = val12; ((PostProcessingComponent<AmbientOcclusionModel>)(object)___m_AmbientOcclusion).model.settings = settings7; } else { ((PostProcessingComponent<AmbientOcclusionModel>)(object)___m_AmbientOcclusion).model.settings = defaultAOSettings; } if (!defaultAASet) { defaultAATaaSettings = ((PostProcessingComponent<AntialiasingModel>)(object)___m_Taa).model.settings; defaultAAFxaaSettings = ((PostProcessingComponent<AntialiasingModel>)(object)___m_Fxaa).model.settings; defaultAASet = true; } if (modEnabled.Value && customAA.Value) { FxaaSettings val13 = default(FxaaSettings); val13.preset = AAFxaaPreset.Value; FxaaSettings fxaaSettings = val13; TaaSettings val14 = default(TaaSettings); val14.jitterSpread = AAJitterSpread.Value; val14.sharpen = AASharpen.Value; val14.stationaryBlending = AAStationaryBlending.Value; val14.motionBlending = AAMotionBlending.Value; TaaSettings taaSettings = val14; Settings val15 = default(Settings); val15.method = AAMethod.Value; val15.fxaaSettings = fxaaSettings; val15.taaSettings = taaSettings; Settings settings8 = val15; val15 = default(Settings); val15.method = AAMethod.Value; val15.fxaaSettings = fxaaSettings; val15.taaSettings = taaSettings; Settings settings9 = val15; ((PostProcessingComponent<AntialiasingModel>)(object)___m_Taa).model.settings = settings8; ((PostProcessingComponent<AntialiasingModel>)(object)___m_Fxaa).model.settings = settings9; } else { ((PostProcessingComponent<AntialiasingModel>)(object)___m_Taa).model.settings = defaultAATaaSettings; ((PostProcessingComponent<AntialiasingModel>)(object)___m_Fxaa).model.settings = defaultAAFxaaSettings; } if (modEnabled.Value && customCA.Value) { Settings val16 = default(Settings); val16.intensity = CAIntensity.Value; Settings settings10 = val16; ((PostProcessingComponent<ChromaticAberrationModel>)(object)___m_ChromaticAberration).model.settings = settings10; } else { ((PostProcessingComponent<ChromaticAberrationModel>)(object)___m_ChromaticAberration).model.settings = defaultCASettings; } if (modEnabled.Value && customSSR.Value) { ((PostProcessingComponent<ScreenSpaceReflectionModel>)(object)___m_ScreenSpaceReflection).model.settings = new Settings { reflection = new ReflectionSettings { blendType = SSRBlendType.Value, reflectionQuality = SSRReflectionQuality.Value, maxDistance = SSRMaxDistance.Value, iterationCount = SSRIteractionCount.Value, stepSize = SSRStepSize.Value, widthModifier = SSRWidthModifier.Value, reflectionBlur = SSRReflectionBlur.Value, reflectBackfaces = SSRReflectBackFaces.Value }, intensity = new IntensitySettings { reflectionMultiplier = SSRReflectionMultiplier.Value, fadeDistance = SSRFadeDistance.Value, fresnelFade = SSRFresnelFade.Value, fresnelFadePower = SSRFresnelFadePower.Value }, screenEdgeMask = new ScreenEdgeMask { intensity = SSRMaskIntensity.Value } }; ((PostProcessingModel)((PostProcessingComponent<ScreenSpaceReflectionModel>)(object)___m_ScreenSpaceReflection).model).enabled = true; } else { ((PostProcessingComponent<ScreenSpaceReflectionModel>)(object)___m_ScreenSpaceReflection).model.settings = defaultSSRSettings; ((PostProcessingModel)((PostProcessingComponent<ScreenSpaceReflectionModel>)(object)___m_ScreenSpaceReflection).model).enabled = defaultSSREnabled; } } } private static bool defaultPostProcessingSet = false; private static Settings defaultVignetteSettings; private static bool defaultVignetteEnabled; private static Settings defaultBloomSettings; private static Settings defaultEyeAdaptSettings; private static bool defaultEyeAdaptEnabled; private static Settings defaultMotionBlurSettings; private static Settings defaultDepthOfFieldSettings; private static Settings defaultColorGradingSettings; private static Settings defaultAOSettings; private static Settings defaultCASettings; private static Settings defaultSSRSettings; private static bool defaultSSREnabled; private static bool defaultAASet = false; private static Settings defaultAATaaSettings; private static Settings defaultAAFxaaSettings; private static readonly bool isDebug = true; private static BepInExPlugin context; public static ConfigEntry<bool> modEnabled; public static ConfigEntry<int> nexusID; public static ConfigEntry<string> hotKey; public static ConfigEntry<bool> customVignette; public static ConfigEntry<bool> customBloom; public static ConfigEntry<bool> customEyeAdapt; public static ConfigEntry<bool> customMotionBlur; public static ConfigEntry<bool> customColorGrading; public static ConfigEntry<bool> customDepthOfField; public static ConfigEntry<bool> customAA; public static ConfigEntry<bool> customAO; public static ConfigEntry<bool> customCA; public static ConfigEntry<bool> customSSR; public static ConfigEntry<Color> vignetteColor; public static ConfigEntry<float> vignetteOpacity; public static ConfigEntry<float> vignetteIntensity; public static ConfigEntry<Vector2> vignetteCenter; public static ConfigEntry<float> vignetteSmoothness; public static ConfigEntry<float> vignetteRoundness; public static ConfigEntry<bool> vignetteRounded; public static ConfigEntry<float> bloomIntensity; public static ConfigEntry<float> bloomThreshold; public static ConfigEntry<float> bloomSoftKnee; public static ConfigEntry<float> bloomRadius; public static ConfigEntry<bool> bloomAntiFlicker; public static ConfigEntry<float> bloomLensDirtIntensity; public static ConfigEntry<float> eyeAdaptLowPercent; public static ConfigEntry<float> eyeAdaptHighPercent; public static ConfigEntry<float> eyeAdaptMinLuminance; public static ConfigEntry<float> eyeAdaptMaxLuminance; public static ConfigEntry<float> eyeAdaptKeyValue; public static ConfigEntry<bool> eyeAdaptDynamicKeyValue; public static ConfigEntry<EyeAdaptationType> eyeAdaptAdaptationType; public static ConfigEntry<float> eyeAdaptSpeedUp; public static ConfigEntry<float> eyeAdaptSpeedDown; public static ConfigEntry<int> eyeAdaptLogMin; public static ConfigEntry<int> eyeAdaptLogMax; public static ConfigEntry<float> motionBlurShutterAngle; public static ConfigEntry<int> motionBlurSampleCount; public static ConfigEntry<float> motionBlurFrameBlending; public static ConfigEntry<float> depthOfFieldFocusDistance; public static ConfigEntry<float> depthOfFieldAperture; public static ConfigEntry<float> depthOfFieldFocalLength; public static ConfigEntry<bool> depthOfFieldUseCameraFov; public static ConfigEntry<KernelSize> depthOfFieldKernelSize; public static ConfigEntry<Tonemapper> colorGradingTonemapper; public static ConfigEntry<Vector3> colorGradingChannelMixerRed; public static ConfigEntry<Vector3> colorGradingChannelMixerGreen; public static ConfigEntry<Vector3> colorGradingChannelMixerBlue; public static ConfigEntry<int> colorGradingChannelMixerCurrentEditingChannel; public static ConfigEntry<float> colorGradingNeutralBlackIn; public static ConfigEntry<float> colorGradingNeutralWhiteIn; public static ConfigEntry<float> colorGradingNeutralBlackOut; public static ConfigEntry<float> colorGradingNeutralWhiteOut; public static ConfigEntry<float> colorGradingNeutralWhiteLevel; public static ConfigEntry<float> colorGradingNeutralWhiteClip; public static ConfigEntry<float> colorGradingPostExposure; public static ConfigEntry<float> colorGradingTemperature; public static ConfigEntry<float> colorGradingTint; public static ConfigEntry<float> colorGradingHueShift; public static ConfigEntry<float> colorGradingSaturation; public static ConfigEntry<float> colorGradingContrast; public static ConfigEntry<Method> AAMethod; public static ConfigEntry<FxaaPreset> AAFxaaPreset; public static ConfigEntry<float> AAJitterSpread; public static ConfigEntry<float> AASharpen; public static ConfigEntry<float> AAStationaryBlending; public static ConfigEntry<float> AAMotionBlending; public static ConfigEntry<float> AOIntensity; public static ConfigEntry<float> AOIntensityFar; public static ConfigEntry<float> AOFarDistance; public static ConfigEntry<float> AORadius; public static ConfigEntry<SampleCount> AOSampleCount; public static ConfigEntry<bool> AODownsampling; public static ConfigEntry<bool> AOForceForwardCompatibility; public static ConfigEntry<bool> AOAmbientOnly; public static ConfigEntry<bool> AOHighPrecision; public static ConfigEntry<float> CAIntensity; public static ConfigEntry<SSRReflectionBlendType> SSRBlendType; public static ConfigEntry<SSRResolution> SSRReflectionQuality; public static ConfigEntry<float> SSRMaxDistance; public static ConfigEntry<int> SSRIteractionCount; public static ConfigEntry<int> SSRStepSize; public static ConfigEntry<float> SSRWidthModifier; public static ConfigEntry<float> SSRReflectionBlur; public static ConfigEntry<bool> SSRReflectBackFaces; public static ConfigEntry<float> SSRReflectionMultiplier; public static ConfigEntry<float> SSRFadeDistance; public static ConfigEntry<float> SSRFresnelFade; public static ConfigEntry<float> SSRFresnelFadePower; public static ConfigEntry<float> SSRMaskIntensity; public static void Dbgl(string str = "", bool pref = true) { if (isDebug) { Debug.Log((object)((pref ? (typeof(BepInExPlugin).Namespace + " ") : "") + str)); } } private void Awake() { //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_066a: Unknown result type (might be due to invalid IL or missing references) //IL_069d: Unknown result type (might be due to invalid IL or missing references) //IL_06d0: Unknown result type (might be due to invalid IL or missing references) context = this; modEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("_General", "Enabled", true, "Enable this mod"); hotKey = ((BaseUnityPlugin)this).Config.Bind<string>("_Options", "HotKey", "[0]", "Key to toggle mod"); nexusID = ((BaseUnityPlugin)this).Config.Bind<int>("General", "NexusID", 1587, "Nexus mod ID for updates"); customVignette = ((BaseUnityPlugin)this).Config.Bind<bool>("_Settings", "customVignette", false, "customVignette"); customBloom = ((BaseUnityPlugin)this).Config.Bind<bool>("_Settings", "customBloom", false, "customBloom"); customEyeAdapt = ((BaseUnityPlugin)this).Config.Bind<bool>("_Settings", "customEyeAdapt", false, "customEyeAdapt"); customMotionBlur = ((BaseUnityPlugin)this).Config.Bind<bool>("_Settings", "customMotionBlur", false, "customMotionBlur"); customColorGrading = ((BaseUnityPlugin)this).Config.Bind<bool>("_Settings", "customColorGrading", false, "customColorGrading"); customDepthOfField = ((BaseUnityPlugin)this).Config.Bind<bool>("_Settings", "customDepthOfField", false, "customDepthOfField"); customAA = ((BaseUnityPlugin)this).Config.Bind<bool>("_Settings", "customAA", false, "customAA"); customAO = ((BaseUnityPlugin)this).Config.Bind<bool>("_Settings", "customAO", false, "customAO"); customCA = ((BaseUnityPlugin)this).Config.Bind<bool>("_Settings", "customCA", false, "customCA"); customSSR = ((BaseUnityPlugin)this).Config.Bind<bool>("_Settings", "customSSR", false, "customSSR"); vignetteColor = ((BaseUnityPlugin)this).Config.Bind<Color>("VignetteSettings", "vignetteColor", new Color(0f, 0f, 0f, 1f), "vignetteColor"); vignetteOpacity = ((BaseUnityPlugin)this).Config.Bind<float>("VignetteSettings", "vignetteOpacity", 1f, "vignetteOpacity"); vignetteIntensity = ((BaseUnityPlugin)this).Config.Bind<float>("VignetteSettings", "vignetteIntensity", 0.45f, "vignetteIntensity"); vignetteCenter = ((BaseUnityPlugin)this).Config.Bind<Vector2>("VignetteSettings", "vignetteCenter", new Vector2(0.5f, 0.5f), "vignetteCenter"); vignetteSmoothness = ((BaseUnityPlugin)this).Config.Bind<float>("VignetteSettings", "vignetteSmoothness", 0.2f, "vignetteSmoothness"); vignetteRoundness = ((BaseUnityPlugin)this).Config.Bind<float>("VignetteSettings", "vignetteRoundness", 1f, "vignetteRoundness"); vignetteRounded = ((BaseUnityPlugin)this).Config.Bind<bool>("VignetteSettings", "vignetteRounded", false, "vignetteRounded"); bloomIntensity = ((BaseUnityPlugin)this).Config.Bind<float>("BloomSettings", "bloomIntensity", 0.3f, "bloomIntensity"); bloomThreshold = ((BaseUnityPlugin)this).Config.Bind<float>("BloomSettings", "bloomThreshold", 0.7f, "bloomThreshold"); bloomSoftKnee = ((BaseUnityPlugin)this).Config.Bind<float>("BloomSettings", "bloomSoftKnee", 0.7f, "bloomSoftKnee"); bloomRadius = ((BaseUnityPlugin)this).Config.Bind<float>("BloomSettings", "bloomRadius", 5f, "bloomRadius"); bloomAntiFlicker = ((BaseUnityPlugin)this).Config.Bind<bool>("BloomSettings", "bloomAntiFlicker", true, "bloomAntiFlicker"); bloomLensDirtIntensity = ((BaseUnityPlugin)this).Config.Bind<float>("BloomSettings", "bloomLensDirtIntensity", 10.4f, "bloomLensDirtIntensity"); eyeAdaptLowPercent = ((BaseUnityPlugin)this).Config.Bind<float>("EyeAdaptSettings", "eyeAdaptLowPercent", 12.2743f, "eyeAdaptLowPercent"); eyeAdaptHighPercent = ((BaseUnityPlugin)this).Config.Bind<float>("EyeAdaptSettings", "eyeAdaptHighPercent", 87.7257f, "eyeAdaptHighPercent"); eyeAdaptMinLuminance = ((BaseUnityPlugin)this).Config.Bind<float>("EyeAdaptSettings", "eyeAdaptMinLuminance", -4f, "eyeAdaptMinLuminance"); eyeAdaptMaxLuminance = ((BaseUnityPlugin)this).Config.Bind<float>("EyeAdaptSettings", "eyeAdaptMaxLuminance", -1f, "eyeAdaptMaxLuminance"); eyeAdaptKeyValue = ((BaseUnityPlugin)this).Config.Bind<float>("EyeAdaptSettings", "eyeAdaptKeyValue", 0.14f, "eyeAdaptKeyValue"); eyeAdaptDynamicKeyValue = ((BaseUnityPlugin)this).Config.Bind<bool>("EyeAdaptSettings", "eyeAdaptDynamicKeyValue", false, "eyeAdaptDynamicKeyValue"); eyeAdaptAdaptationType = ((BaseUnityPlugin)this).Config.Bind<EyeAdaptationType>("EyeAdaptSettings", "eyeAdaptAdaptationType", (EyeAdaptationType)1, "eyeAdaptAdaptationType"); eyeAdaptSpeedUp = ((BaseUnityPlugin)this).Config.Bind<float>("EyeAdaptSettings", "eyeAdaptSpeedUp", 4f, "eyeAdaptSpeedUp"); eyeAdaptSpeedDown = ((BaseUnityPlugin)this).Config.Bind<float>("EyeAdaptSettings", "eyeAdaptSpeedDown", 4f, "eyeAdaptSpeedDown"); eyeAdaptLogMin = ((BaseUnityPlugin)this).Config.Bind<int>("EyeAdaptSettings", "eyeAdaptLogMin", -8, "eyeAdaptLogMin"); eyeAdaptLogMax = ((BaseUnityPlugin)this).Config.Bind<int>("EyeAdaptSettings", "eyeAdaptLogMax", 4, "eyeAdaptLogMax"); motionBlurShutterAngle = ((BaseUnityPlugin)this).Config.Bind<float>("MotionBlurSettings", "motionBlurShutterAngle", 150f, "motionBlurShutterAngle"); motionBlurSampleCount = ((BaseUnityPlugin)this).Config.Bind<int>("MotionBlurSettings", "motionBlurSampleCount", 10, "motionBlurSampleCount"); motionBlurFrameBlending = ((BaseUnityPlugin)this).Config.Bind<float>("MotionBlurSettings", "motionBlurFrameBlending", 0f, "motionBlurFrameBlending"); depthOfFieldFocusDistance = ((BaseUnityPlugin)this).Config.Bind<float>("DOFSettings", "depthOfFieldFocusDistance", 35.96f, "depthOfFieldFocusDistance"); depthOfFieldAperture = ((BaseUnityPlugin)this).Config.Bind<float>("DOFSettings", "depthOfFieldAperture", 1f, "depthOfFieldAperture"); depthOfFieldFocalLength = ((BaseUnityPlugin)this).Config.Bind<float>("DOFSettings", "depthOfFieldFocalLength", 70f, "depthOfFieldFocalLength"); depthOfFieldUseCameraFov = ((BaseUnityPlugin)this).Config.Bind<bool>("DOFSettings", "depthOfFieldUseCameraFov", false, "depthOfFieldUseCameraFov"); depthOfFieldKernelSize = ((BaseUnityPlugin)this).Config.Bind<KernelSize>("DOFSettings", "depthOfFieldKernelSize", (KernelSize)1, "depthOfFieldKernelSize"); colorGradingTonemapper = ((BaseUnityPlugin)this).Config.Bind<Tonemapper>("ColorGradingSettings", "colorGradingTonemapper", (Tonemapper)1, "colorGradingTonemapper"); colorGradingChannelMixerRed = ((BaseUnityPlugin)this).Config.Bind<Vector3>("ColorGradingSettings", "colorGradingChannelMixerRed", new Vector3(1f, 0f, 0f), "colorGradingChannelMixerRed"); colorGradingChannelMixerGreen = ((BaseUnityPlugin)this).Config.Bind<Vector3>("ColorGradingSettings", "colorGradingChannelMixerGreen", new Vector3(0f, 1f, 0f), "colorGradingChannelMixerGreen"); colorGradingChannelMixerBlue = ((BaseUnityPlugin)this).Config.Bind<Vector3>("ColorGradingSettings", "colorGradingChannelMixerBlue", new Vector3(0f, 0f, 1f), "colorGradingChannelMixerBlue"); colorGradingChannelMixerCurrentEditingChannel = ((BaseUnityPlugin)this).Config.Bind<int>("ColorGradingSettings", "colorGradingChannelMixerCurrentEditingChannel", 0, "colorGradingChannelMixerCurrentEditingChannel"); colorGradingNeutralBlackIn = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingNeutralBlackIn", 0.02f, "colorGradingNeutralBlackIn"); colorGradingNeutralWhiteIn = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingNeutralWhiteIn", 10f, "colorGradingNeutralWhiteIn"); colorGradingNeutralBlackOut = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingNeutralBlackOut", 0f, "colorGradingNeutralBlackOut"); colorGradingNeutralWhiteOut = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingNeutralWhiteOut", 10f, "colorGradingNeutralWhiteOut"); colorGradingNeutralWhiteLevel = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingNeutralWhiteLevel", 5.3f, "colorGradingNeutralWhiteLevel"); colorGradingNeutralWhiteClip = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingNeutralWhiteClip", 10f, "colorGradingNeutralWhiteClip"); colorGradingPostExposure = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingPostExposure", 1f, "colorGradingPostExposure"); colorGradingTemperature = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingTemperature", -8f, "colorGradingTemperature"); colorGradingTint = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingTint", 0f, "colorGradingTint"); colorGradingHueShift = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingHueShift", 0f, "colorGradingHueShift"); colorGradingSaturation = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingSaturation", 1f, "colorGradingSaturation"); colorGradingContrast = ((BaseUnityPlugin)this).Config.Bind<float>("ColorGradingSettings", "colorGradingContrast", 1.2f, "colorGradingContrast"); AAMethod = ((BaseUnityPlugin)this).Config.Bind<Method>("AASettings", "AAMethod", (Method)0, "AAMethod"); AAFxaaPreset = ((BaseUnityPlugin)this).Config.Bind<FxaaPreset>("AASettings", "AAFxaaPreset", (FxaaPreset)4, "AAFxaaPreset"); AAJitterSpread = ((BaseUnityPlugin)this).Config.Bind<float>("AASettings", "AAJitterSpread", 0.2f, "AAJitterSpread"); AASharpen = ((BaseUnityPlugin)this).Config.Bind<float>("AASettings", "AASharpen", 0.3f, "AASharpen"); AAStationaryBlending = ((BaseUnityPlugin)this).Config.Bind<float>("AASettings", "AAStationaryBlending", 0.95f, "AAStationaryBlending"); AAMotionBlending = ((BaseUnityPlugin)this).Config.Bind<float>("AASettings", "AAMotionBlending", 0.85f, "AAMotionBlending"); AOIntensity = ((BaseUnityPlugin)this).Config.Bind<float>("AOSettings", "AOIntensity", 1f, "AOIntensity"); AOIntensityFar = ((BaseUnityPlugin)this).Config.Bind<float>("AOSettings", "AOIntensityFar", 1.5f, "AOIntensityFar"); AOFarDistance = ((BaseUnityPlugin)this).Config.Bind<float>("AOSettings", "AOFarDistance", 150f, "AOFarDistance"); AORadius = ((BaseUnityPlugin)this).Config.Bind<float>("AOSettings", "AORadius", 0.15f, "AORadius"); AOSampleCount = ((BaseUnityPlugin)this).Config.Bind<SampleCount>("AOSettings", "AOSampleCount", (SampleCount)10, "AOSampleCount"); AODownsampling = ((BaseUnityPlugin)this).Config.Bind<bool>("AOSettings", "AODownsampling", false, "AODownsampling"); AOForceForwardCompatibility = ((BaseUnityPlugin)this).Config.Bind<bool>("AOSettings", "AOForceForwardCompatibility", false, "AOForceForwardCompatibility"); AOAmbientOnly = ((BaseUnityPlugin)this).Config.Bind<bool>("AOSettings", "AOAmbientOnly", false, "AOAmbientOnly"); AOHighPrecision = ((BaseUnityPlugin)this).Config.Bind<bool>("AOSettings", "AOHighPrecision", false, "AOHighPrecision"); CAIntensity = ((BaseUnityPlugin)this).Config.Bind<float>("CASettings", "CAIntensity", 0.1f, "CAIntensity"); SSRBlendType = ((BaseUnityPlugin)this).Config.Bind<SSRReflectionBlendType>("ReflectionSettings", "SSRBlendType", (SSRReflectionBlendType)0, "SSRBlendType"); SSRReflectionQuality = ((BaseUnityPlugin)this).Config.Bind<SSRResolution>("ReflectionSettings", "SSRReflectionQuality", (SSRResolution)2, "SSRReflectionQuality"); SSRMaxDistance = ((BaseUnityPlugin)this).Config.Bind<float>("ReflectionSettings", "SSRMaxDistance", 100f, "SSRMaxDistance"); SSRIteractionCount = ((BaseUnityPlugin)this).Config.Bind<int>("ReflectionSettings", "SSRIteractionCount", 256, "SSRIteractionCount"); SSRStepSize = ((BaseUnityPlugin)this).Config.Bind<int>("ReflectionSettings", "SSRStepSize", 3, "SSRStepSize"); SSRWidthModifier = ((BaseUnityPlugin)this).Config.Bind<float>("ReflectionSettings", "SSRWidthModifier", 0.5f, "SSRWidthModifier"); SSRReflectionBlur = ((BaseUnityPlugin)this).Config.Bind<float>("ReflectionSettings", "SSRReflectionBlur", 1f, "SSRReflectionBlur"); SSRReflectBackFaces = ((BaseUnityPlugin)this).Config.Bind<bool>("ReflectionSettings", "SSRReflectBackFaces", true, "SSRReflectBackFaces"); SSRReflectionMultiplier = ((BaseUnityPlugin)this).Config.Bind<float>("ReflectionSettings", "SSRReflectionMultiplier", 0.93f, "SSRReflectionMultiplier"); SSRFadeDistance = ((BaseUnityPlugin)this).Config.Bind<float>("ReflectionSettings", "SSRFadeDistance", 100f, "SSRFadeDistance"); SSRFresnelFade = ((BaseUnityPlugin)this).Config.Bind<float>("ReflectionSettings", "SSRFresnelFade", 1f, "SSRFresnelFade"); SSRFresnelFadePower = ((BaseUnityPlugin)this).Config.Bind<float>("ReflectionSettings", "SSRFresnelFadePower", 1f, "SSRFresnelFadePower"); SSRMaskIntensity = ((BaseUnityPlugin)this).Config.Bind<float>("ReflectionSettings", "SSRMaskIntensity", 0.03f, "SSRMaskIntensity"); Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), MetadataHelper.GetMetadata((object)this).GUID); } private void Update() { if (AedenthornUtils.CheckKeyDown(hotKey.Value)) { modEnabled.Value = !modEnabled.Value; } } }