Decompiled source of QuickProcessing v1.0.0

Mods/QuickProcessing.dll

Decompiled 2 days ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BoneLib.BoneMenu;
using MelonLoader;
using MelonLoader.Preferences;
using Microsoft.CodeAnalysis;
using QuickProcessing;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: MelonInfo(typeof(QuickProcessingMod), "QuickProcessing", "1.0.0", "nontendo", null)]
[assembly: MelonGame("Stress Level Zero", "BONELAB")]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("QuickProcessing")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("QuickProcessing")]
[assembly: AssemblyTitle("QuickProcessing")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace QuickProcessing
{
	public static class PostFX
	{
		private static GameObject? _go;

		private static Volume? _vol;

		private static ColorAdjustments? _ca;

		private static LiftGammaGain? _lgg;

		private static Tonemapping? _tm;

		private static WhiteBalance? _wb;

		private static SplitToning? _st;

		private static Bloom? _bloom;

		private static Vignette? _vig;

		private static FilmGrain? _grain;

		private static readonly Color Neutral = new Color(0.5f, 0.5f, 0.5f, 0f);

		private static void EnsureBuilt()
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Expected O, but got Unknown
			if (!((Object)(object)_vol != (Object)null))
			{
				_go = new GameObject("QuickProcessingVolume");
				Object.DontDestroyOnLoad((Object)(object)_go);
				((Object)_go).hideFlags = (HideFlags)61;
				_vol = _go.AddComponent<Volume>();
				_vol.isGlobal = true;
				_vol.priority = 1000f;
				VolumeProfile val = ScriptableObject.CreateInstance<VolumeProfile>();
				_vol.sharedProfile = val;
				_ca = Add<ColorAdjustments>(val);
				_lgg = Add<LiftGammaGain>(val);
				_tm = Add<Tonemapping>(val);
				_wb = Add<WhiteBalance>(val);
				_st = Add<SplitToning>(val);
				_bloom = Add<Bloom>(val);
				_vig = Add<Vignette>(val);
				_grain = Add<FilmGrain>(val);
				MelonLogger.Msg("[QuickProcessing] volume built");
			}
		}

		private static T Add<T>(VolumeProfile p) where T : VolumeComponent
		{
			T val = ScriptableObject.CreateInstance<T>();
			((VolumeComponent)val).active = true;
			p.components.Add((VolumeComponent)(object)val);
			return val;
		}

		public static void Apply()
		{
			//IL_0106: Unknown result type (might be due to invalid IL or missing references)
			//IL_010b: Unknown result type (might be due to invalid IL or missing references)
			//IL_010d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0112: Unknown result type (might be due to invalid IL or missing references)
			//IL_0114: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0472: Unknown result type (might be due to invalid IL or missing references)
			//IL_0483: Unknown result type (might be due to invalid IL or missing references)
			try
			{
				bool enabled = ProcessingSettings.Enabled;
				bool flag = ProcessingSettings.Filter != FilterPreset.None || ProcessingSettings.Temperature != 0f || ProcessingSettings.Tint != 0f || ProcessingSettings.Bloom > 0f || ProcessingSettings.Vignette > 0f || ProcessingSettings.Grain > 0f;
				if (!enabled && !flag)
				{
					if ((Object)(object)_vol != (Object)null)
					{
						_vol.weight = 0f;
					}
					return;
				}
				EnsureBuilt();
				if (!((Object)(object)_vol == (Object)null))
				{
					_vol.weight = 1f;
					float num = (enabled ? ProcessingSettings.Saturation : 0f);
					float v = (enabled ? ProcessingSettings.Brightness : 0f);
					float num2 = (enabled ? ProcessingSettings.Contrast : 0f);
					float num3 = (enabled ? ProcessingSettings.DarksLift : 0f);
					float num4 = 0f;
					float num5 = 0f;
					float num6 = 0f;
					float num7 = 0f;
					float num8 = 0f;
					float v2 = 0f;
					Color white = Color.white;
					Color neutral = Neutral;
					Color neutral2 = Neutral;
					switch (ProcessingSettings.Filter)
					{
					case FilterPreset.Warm:
						num4 = 25f;
						((Color)(ref white))..ctor(1f, 0.93f, 0.82f);
						break;
					case FilterPreset.Cool:
						num4 = -25f;
						((Color)(ref white))..ctor(0.85f, 0.93f, 1.05f);
						break;
					case FilterPreset.Sunset:
						num4 = 35f;
						num5 = 8f;
						((Color)(ref neutral))..ctor(0.25f, 0.12f, 0.4f);
						((Color)(ref neutral2))..ctor(1f, 0.55f, 0.2f);
						v2 = 10f;
						break;
					case FilterPreset.Vintage:
						num4 = 12f;
						num5 = -18f;
						((Color)(ref white))..ctor(1.05f, 0.98f, 0.85f);
						((Color)(ref neutral))..ctor(0.15f, 0.2f, 0.2f);
						((Color)(ref neutral2))..ctor(0.9f, 0.78f, 0.5f);
						num6 = 0.25f;
						break;
					case FilterPreset.Noir:
						num5 = -200f;
						num8 = 12f;
						num6 = 0.3f;
						break;
					case FilterPreset.Sepia:
						num5 = -160f;
						((Color)(ref white))..ctor(1.15f, 0.92f, 0.62f);
						break;
					case FilterPreset.Horror:
						num5 = -25f;
						((Color)(ref white))..ctor(0.82f, 1f, 0.82f);
						((Color)(ref neutral))..ctor(0.05f, 0.25f, 0.05f);
						((Color)(ref neutral2))..ctor(0.35f, 0.45f, 0.25f);
						num6 = 0.4f;
						break;
					case FilterPreset.Cyberpunk:
						num4 = -12f;
						num5 = 18f;
						((Color)(ref neutral))..ctor(0.1f, 0.2f, 0.55f);
						((Color)(ref neutral2))..ctor(0.65f, 0.12f, 0.5f);
						break;
					case FilterPreset.Underwater:
						num4 = -12f;
						num5 = 5f;
						((Color)(ref white))..ctor(0.7f, 0.95f, 1.05f);
						num6 = 0.2f;
						break;
					case FilterPreset.Dreamy:
						num4 = 8f;
						num5 = 6f;
						((Color)(ref white))..ctor(1.04f, 0.99f, 1f);
						num7 = 1.4f;
						num8 = -8f;
						break;
					}
					Set((FloatParameter)(object)_ca.saturation, Mathf.Clamp(num + num5, -100f, 100f));
					Set(_ca.postExposure, v);
					Set((FloatParameter)(object)_ca.contrast, Mathf.Clamp(num2 + num8, -100f, 100f));
					Set(_ca.colorFilter, white);
					Set(_lgg.lift, new Vector4(1f, 1f, 1f, num3));
					((VolumeParameter)_tm.mode).overrideState = enabled && ProcessingSettings.AcesTonemap;
					((VolumeParameter<TonemappingMode>)(object)_tm.mode).value = (TonemappingMode)2;
					Set((FloatParameter)(object)_wb.temperature, Mathf.Clamp(ProcessingSettings.Temperature + num4, -100f, 100f));
					Set((FloatParameter)(object)_wb.tint, Mathf.Clamp(ProcessingSettings.Tint, -100f, 100f));
					Set(_st.shadows, neutral);
					Set(_st.highlights, neutral2);
					Set((FloatParameter)(object)_st.balance, v2);
					float num9 = ProcessingSettings.Bloom + num7;
					((VolumeComponent)_bloom).active = num9 > 0.001f;
					if (((VolumeComponent)_bloom).active)
					{
						Set((FloatParameter)(object)_bloom.threshold, 0.9f);
						Set((FloatParameter)(object)_bloom.scatter, 0.7f);
						Set((FloatParameter)(object)_bloom.intensity, num9);
					}
					Set((FloatParameter)(object)_vig.intensity, Mathf.Clamp01(ProcessingSettings.Vignette + num6));
					Set((FloatParameter)(object)_grain.intensity, Mathf.Clamp01(ProcessingSettings.Grain));
				}
			}
			catch (Exception ex)
			{
				if (Time.frameCount % 300 == 0)
				{
					MelonLogger.Warning("[QuickProcessing] apply failed: " + ex.Message);
				}
			}
		}

		private static void Set(FloatParameter p, float v)
		{
			((VolumeParameter)p).overrideState = true;
			((VolumeParameter<float>)(object)p).value = v;
		}

		private static void Set(ColorParameter p, Color v)
		{
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			((VolumeParameter)p).overrideState = true;
			((VolumeParameter<Color>)(object)p).value = v;
		}

		private static void Set(Vector4Parameter p, Vector4 v)
		{
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			((VolumeParameter)p).overrideState = true;
			((VolumeParameter<Vector4>)(object)p).value = v;
		}
	}
	public enum FilterPreset
	{
		None,
		Warm,
		Cool,
		Sunset,
		Vintage,
		Noir,
		Sepia,
		Horror,
		Cyberpunk,
		Underwater,
		Dreamy
	}
	public static class ProcessingSettings
	{
		private static MelonPreferences_Category _cat;

		private static MelonPreferences_Entry<bool> _enabled;

		private static MelonPreferences_Entry<float> _saturation;

		private static MelonPreferences_Entry<float> _brightness;

		private static MelonPreferences_Entry<float> _contrast;

		private static MelonPreferences_Entry<float> _darksLift;

		private static MelonPreferences_Entry<bool> _aces;

		private static MelonPreferences_Entry<int> _filter;

		private static MelonPreferences_Entry<float> _temperature;

		private static MelonPreferences_Entry<float> _tint;

		private static MelonPreferences_Entry<float> _bloom;

		private static MelonPreferences_Entry<float> _vignette;

		private static MelonPreferences_Entry<float> _grain;

		public static bool Enabled
		{
			get
			{
				return _enabled.Value;
			}
			set
			{
				_enabled.Value = value;
				Save();
			}
		}

		public static float Saturation
		{
			get
			{
				return _saturation.Value;
			}
			set
			{
				_saturation.Value = value;
				Save();
			}
		}

		public static float Brightness
		{
			get
			{
				return _brightness.Value;
			}
			set
			{
				_brightness.Value = value;
				Save();
			}
		}

		public static float Contrast
		{
			get
			{
				return _contrast.Value;
			}
			set
			{
				_contrast.Value = value;
				Save();
			}
		}

		public static float DarksLift
		{
			get
			{
				return _darksLift.Value;
			}
			set
			{
				_darksLift.Value = value;
				Save();
			}
		}

		public static bool AcesTonemap
		{
			get
			{
				return _aces.Value;
			}
			set
			{
				_aces.Value = value;
				Save();
			}
		}

		public static FilterPreset Filter
		{
			get
			{
				return (FilterPreset)_filter.Value;
			}
			set
			{
				_filter.Value = (int)value;
				Save();
			}
		}

		public static float Temperature
		{
			get
			{
				return _temperature.Value;
			}
			set
			{
				_temperature.Value = value;
				Save();
			}
		}

		public static float Tint
		{
			get
			{
				return _tint.Value;
			}
			set
			{
				_tint.Value = value;
				Save();
			}
		}

		public static float Bloom
		{
			get
			{
				return _bloom.Value;
			}
			set
			{
				_bloom.Value = value;
				Save();
			}
		}

		public static float Vignette
		{
			get
			{
				return _vignette.Value;
			}
			set
			{
				_vignette.Value = value;
				Save();
			}
		}

		public static float Grain
		{
			get
			{
				return _grain.Value;
			}
			set
			{
				_grain.Value = value;
				Save();
			}
		}

		public static void Initialize()
		{
			_cat = MelonPreferences.CreateCategory("QuickProcessing");
			_enabled = _cat.CreateEntry<bool>("Enabled", false, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_saturation = _cat.CreateEntry<float>("Saturation", 30f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_brightness = _cat.CreateEntry<float>("Brightness", 0.3f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_contrast = _cat.CreateEntry<float>("Contrast", -10f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_darksLift = _cat.CreateEntry<float>("DarksLift", 0.12f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_aces = _cat.CreateEntry<bool>("AcesTonemap", false, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_filter = _cat.CreateEntry<int>("Filter", 0, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_temperature = _cat.CreateEntry<float>("Temperature", 0f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_tint = _cat.CreateEntry<float>("Tint", 0f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_bloom = _cat.CreateEntry<float>("Bloom", 0f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_vignette = _cat.CreateEntry<float>("Vignette", 0f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_grain = _cat.CreateEntry<float>("Grain", 0f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
		}

		private static void Save()
		{
			_cat.SaveToFile(false);
		}
	}
	public static class QuickModsTheme
	{
		private const string ShareKey = "QuickMods.GlobalTheme";

		private const string MenuKey = "QuickMods.GlobalThemeMenuBuilt";

		private static MelonPreferences_Category _cat;

		private static MelonPreferences_Entry<bool> _useGlobal;

		private static MelonPreferences_Entry<float> _hue;

		private static MelonPreferences_Entry<float> _sat;

		private static MelonPreferences_Entry<bool> _forceQB;

		private static MelonPreferences_Entry<bool> _rainbow;

		private static MelonPreferences_Entry<float> _rainbowSpeed;

		public static bool UseGlobalTheme
		{
			get
			{
				return _useGlobal.Value;
			}
			set
			{
				_useGlobal.Value = value;
				Save();
			}
		}

		public static float Hue
		{
			get
			{
				return _hue.Value;
			}
			set
			{
				_hue.Value = value;
				Save();
			}
		}

		public static float Saturation
		{
			get
			{
				return _sat.Value;
			}
			set
			{
				_sat.Value = value;
				Save();
			}
		}

		public static bool ForceQuickBeatsSync
		{
			get
			{
				return _forceQB.Value;
			}
			set
			{
				_forceQB.Value = value;
				Save();
			}
		}

		public static Color GlobalColor => Color.HSVToRGB(Hue / 360f, Saturation, 1f);

		public static bool RainbowMode
		{
			get
			{
				return _rainbow.Value;
			}
			set
			{
				_rainbow.Value = value;
				Save();
			}
		}

		public static float RainbowSpeed
		{
			get
			{
				return _rainbowSpeed.Value;
			}
			set
			{
				_rainbowSpeed.Value = value;
				Save();
			}
		}

		public static Color RainbowColor => Color.HSVToRGB(Time.time * RainbowSpeed % 1f, 0.85f, 1f);

		public static Color ResolveAccent(Color modDefault, bool modThemeToSong, Func<Color?> qbGetter)
		{
			//IL_0007: 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_0026: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			if (RainbowMode)
			{
				return RainbowColor;
			}
			if (ForceQuickBeatsSync)
			{
				Color? val = SafeGet(qbGetter);
				if (val.HasValue)
				{
					return val.Value;
				}
			}
			if (UseGlobalTheme)
			{
				return GlobalColor;
			}
			if (modThemeToSong)
			{
				Color? val2 = SafeGet(qbGetter);
				if (val2.HasValue)
				{
					return val2.Value;
				}
			}
			return modDefault;
		}

		private static Color? SafeGet(Func<Color?> getter)
		{
			try
			{
				return getter?.Invoke();
			}
			catch
			{
				return null;
			}
		}

		public static void Initialize()
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0025: Expected O, but got Unknown
			if (AppDomain.CurrentDomain.GetData("QuickMods.GlobalTheme") is object[] array)
			{
				_cat = (MelonPreferences_Category)array[0];
				_useGlobal = (MelonPreferences_Entry<bool>)array[1];
				_hue = (MelonPreferences_Entry<float>)array[2];
				_sat = (MelonPreferences_Entry<float>)array[3];
				_forceQB = (MelonPreferences_Entry<bool>)array[4];
				_rainbow = (MelonPreferences_Entry<bool>)array[5];
				_rainbowSpeed = (MelonPreferences_Entry<float>)array[6];
				return;
			}
			_cat = MelonPreferences.CreateCategory("QuickModsTheme");
			_useGlobal = _cat.CreateEntry<bool>("UseGlobalTheme", false, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_hue = _cat.CreateEntry<float>("Hue", 200f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_sat = _cat.CreateEntry<float>("Saturation", 0.72f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_forceQB = _cat.CreateEntry<bool>("ForceQuickBeatsSync", false, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_rainbow = _cat.CreateEntry<bool>("RainbowMode", false, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			_rainbowSpeed = _cat.CreateEntry<float>("RainbowSpeed", 0.15f, (string)null, (string)null, false, false, (ValueValidator)null, (string)null);
			AppDomain.CurrentDomain.SetData("QuickMods.GlobalTheme", new object[7] { _cat, _useGlobal, _hue, _sat, _forceQB, _rainbow, _rainbowSpeed });
		}

		public static void BuildMenu(Page rootPage)
		{
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0064: Unknown result type (might be due to invalid IL or missing references)
			//IL_0099: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0121: Unknown result type (might be due to invalid IL or missing references)
			//IL_0156: Unknown result type (might be due to invalid IL or missing references)
			//IL_018a: Unknown result type (might be due to invalid IL or missing references)
			object data = AppDomain.CurrentDomain.GetData("QuickMods.GlobalThemeMenuBuilt");
			bool flag = default(bool);
			int num;
			if (data is bool)
			{
				flag = (bool)data;
				num = 1;
			}
			else
			{
				num = 0;
			}
			if (((uint)num & (flag ? 1u : 0u)) == 0)
			{
				AppDomain.CurrentDomain.SetData("QuickMods.GlobalThemeMenuBuilt", true);
				Page obj = rootPage.CreatePage("Global Theme", new Color(1f, 0.55f, 0.85f), 0, true);
				obj.CreateBool("Use Global Theme", Color.white, UseGlobalTheme, (Action<bool>)delegate(bool v)
				{
					UseGlobalTheme = v;
				});
				obj.CreateFloat("Hue", Color.white, Hue, 5f, 0f, 360f, (Action<float>)delegate(float v)
				{
					Hue = v;
				});
				obj.CreateFloat("Saturation", Color.white, Saturation, 0.05f, 0.1f, 1f, (Action<float>)delegate(float v)
				{
					Saturation = v;
				});
				obj.CreateBool("Force QuickBeats (All Mods)", Color.magenta, ForceQuickBeatsSync, (Action<bool>)delegate(bool v)
				{
					ForceQuickBeatsSync = v;
				});
				obj.CreateBool("Rainbow Mode (All Mods)", Color.red, RainbowMode, (Action<bool>)delegate(bool v)
				{
					RainbowMode = v;
				});
				obj.CreateFloat("Rainbow Speed", Color.red, RainbowSpeed, 0.02f, 0.02f, 1f, (Action<float>)delegate(float v)
				{
					RainbowSpeed = v;
				});
			}
		}

		private static void Save()
		{
			_cat.SaveToFile(false);
		}
	}
	public class QuickProcessingMod : MelonMod
	{
		public override void OnInitializeMelon()
		{
			ProcessingSettings.Initialize();
			QuickModsTheme.Initialize();
			SetupMenu();
			((MelonBase)this).LoggerInstance.Msg("QuickProcessing loaded!");
		}

		public override void OnUpdate()
		{
			PostFX.Apply();
		}

		private static Page GetOrCreateQuickModsPage()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			object? data = AppDomain.CurrentDomain.GetData("QuickMods.RootPage");
			Page val = (Page)((data is Page) ? data : null);
			if (val != null)
			{
				return val;
			}
			Page val2 = Page.Root.CreatePage("Quick Mods", new Color(0.35f, 0.27f, 0.9f), 0, true);
			AppDomain.CurrentDomain.SetData("QuickMods.RootPage", val2);
			return val2;
		}

		private static void SetupMenu()
		{
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0150: Unknown result type (might be due to invalid IL or missing references)
			//IL_0194: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0232: Unknown result type (might be due to invalid IL or missing references)
			//IL_0285: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_031c: Unknown result type (might be due to invalid IL or missing references)
			//IL_035f: Unknown result type (might be due to invalid IL or missing references)
			Page orCreateQuickModsPage = GetOrCreateQuickModsPage();
			QuickModsTheme.BuildMenu(orCreateQuickModsPage);
			Page obj = orCreateQuickModsPage.CreatePage("QuickProcessing", new Color(1f, 0.75f, 0.2f), 0, true);
			obj.CreateBool("Enabled", new Color(1f, 0.85f, 0.2f), ProcessingSettings.Enabled, (Action<bool>)delegate(bool v)
			{
				ProcessingSettings.Enabled = v;
			});
			obj.CreateFloat("Saturation", Color.white, ProcessingSettings.Saturation, 5f, 0f, 100f, (Action<float>)delegate(float v)
			{
				ProcessingSettings.Saturation = v;
			});
			obj.CreateFloat("Brightness", Color.white, ProcessingSettings.Brightness, 0.05f, -0.5f, 2f, (Action<float>)delegate(float v)
			{
				ProcessingSettings.Brightness = v;
			});
			obj.CreateFloat("Brighten Darks", new Color(0.6f, 0.8f, 1f), ProcessingSettings.DarksLift, 0.02f, 0f, 0.4f, (Action<float>)delegate(float v)
			{
				ProcessingSettings.DarksLift = v;
			});
			obj.CreateFloat("Contrast", Color.white, ProcessingSettings.Contrast, 5f, -50f, 30f, (Action<float>)delegate(float v)
			{
				ProcessingSettings.Contrast = v;
			});
			obj.CreateBool("ACES Tonemap", Color.white, ProcessingSettings.AcesTonemap, (Action<bool>)delegate(bool v)
			{
				ProcessingSettings.AcesTonemap = v;
			});
			Page obj2 = obj.CreatePage("Filters", new Color(0.7f, 0.5f, 1f), 0, true);
			obj2.CreateEnum("Preset", Color.white, (Enum)ProcessingSettings.Filter, (Action<Enum>)delegate(Enum v)
			{
				ProcessingSettings.Filter = (FilterPreset)(object)v;
			});
			obj2.CreateFloat("Warm / Cool", new Color(1f, 0.7f, 0.4f), ProcessingSettings.Temperature, 5f, -100f, 100f, (Action<float>)delegate(float v)
			{
				ProcessingSettings.Temperature = v;
			});
			obj2.CreateFloat("Tint (G/M)", new Color(0.8f, 1f, 0.6f), ProcessingSettings.Tint, 5f, -100f, 100f, (Action<float>)delegate(float v)
			{
				ProcessingSettings.Tint = v;
			});
			obj2.CreateFloat("Glow / Bloom", new Color(1f, 1f, 0.7f), ProcessingSettings.Bloom, 0.1f, 0f, 5f, (Action<float>)delegate(float v)
			{
				ProcessingSettings.Bloom = v;
			});
			obj2.CreateFloat("Vignette", Color.white, ProcessingSettings.Vignette, 0.05f, 0f, 1f, (Action<float>)delegate(float v)
			{
				ProcessingSettings.Vignette = v;
			});
			obj2.CreateFloat("Film Grain", Color.white, ProcessingSettings.Grain, 0.05f, 0f, 1f, (Action<float>)delegate(float v)
			{
				ProcessingSettings.Grain = v;
			});
		}
	}
}