using System; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using GBGraphicsPlus; using Il2CppInterop.Runtime.InteropTypes.Arrays; using MelonLoader; using MelonLoader.Utils; using Microsoft.CodeAnalysis; using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: MelonInfo(typeof(GraphicsMod), "GBGraphicsPlus", "2.3.0", "Author", null)] [assembly: MelonGame("Boneloaf", "Gang Beasts")] [assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] [assembly: AssemblyCompany("GBGraphicsPlus")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("Graphics Enhancer for Gang Beasts")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("GBGraphicsPlus")] [assembly: AssemblyTitle("GBGraphicsPlus")] [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 GBGraphicsPlus { public class GraphicsMod : MelonMod { private enum MenuState { Main, Presets, MapSelect, LightList, LightEdit } private MenuState currentMenu; private bool showMenu; private Rect windowRect = new Rect(20f, 20f, 500f, 720f); private bool isDragging; private Vector2 dragOffset; private Vector2 scrollPosition = Vector2.zero; private GUIStyle labelStyle; private GUIStyle valueStyle; private GUIStyle headerStyle; private GUIStyle boxStyle; private GUIStyle buttonStyle; private GUIStyle activeButtonStyle; private GUIStyle titleStyle; private float bloomIntensity = 1.71f; private float bloomThreshold = 0.69f; private float dofFocusDistance = 9.69f; private float dofAperture = 1.46f; private float dofFocalLength = 63.77f; private float caIntensity = 0.17f; private float gamma = 1.17f; private float contrast = 5.26f; private float vignetteIntensity = 0.25f; private bool softShadows = true; private float fogDensity = 0.01f; private float fogR = 0.5f; private float fogG = 0.5f; private float fogB = 0.5f; private int sunPos; private float sunR = 1f; private float sunG = 0.95f; private float sunB = 0.9f; private List activeProfiles = new List(); private float drawY; private bool settingsChanged; private bool applyQueued; private string presetFolder; private string mapOverridesFolder; private List knownScenes = new List(); private string currentActiveScene = "GLOBAL"; private string editingScene = "GLOBAL"; private bool isFreeCam; private bool freezeFreeCam; private Camera originalCam; private Camera freeCam; private float fcPitch; private float fcYaw; private Light[] sceneLights; private Light editingLight; private bool isPlacingLight; private Light tempLight; private GameObject lightGizmo; private float scrollHeight = 1700f; public override void OnInitializeMelon() { try { presetFolder = Path.Combine(MelonEnvironment.UserDataDirectory, "GBGraphicsPlus"); mapOverridesFolder = Path.Combine(presetFolder, "MapOverrides"); if (!Directory.Exists(presetFolder)) { Directory.CreateDirectory(presetFolder); } if (!Directory.Exists(mapOverridesFolder)) { Directory.CreateDirectory(mapOverridesFolder); } } catch (Exception) { } } public override void OnSceneWasLoaded(int buildIndex, string sceneName) { try { activeProfiles.Clear(); if (!string.IsNullOrEmpty(sceneName) && !knownScenes.Contains(sceneName)) { knownScenes.Add(sceneName); } LoadKnownScenesFromFiles(); currentActiveScene = sceneName; editingScene = sceneName; if (isFreeCam) { ToggleFreeCam(); } Camera main = Camera.main; if ((Object)(object)main != (Object)null) { UniversalAdditionalCameraData component = ((Component)main).GetComponent(); if ((Object)(object)component != (Object)null) { component.requiresDepthTexture = true; component.renderPostProcessing = true; } } Volume[] array = Il2CppArrayBase.op_Implicit(Object.FindObjectsOfType()); if (array != null) { Volume[] array2 = array; foreach (Volume val in array2) { if ((Object)(object)val.profile != (Object)null) { val.isGlobal = true; activeProfiles.Add(val.profile); } } } LoadSettingsForScene(currentActiveScene); applyQueued = true; } catch (Exception) { } } private void LoadKnownScenesFromFiles() { if (Directory.Exists(mapOverridesFolder)) { string[] files = Directory.GetFiles(mapOverridesFolder, "*.txt"); for (int i = 0; i < files.Length; i++) { string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(files[i]); if (!knownScenes.Contains(fileNameWithoutExtension)) { knownScenes.Add(fileNameWithoutExtension); } } } knownScenes.Sort(); } public override void OnUpdate() { //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0244: 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_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026f: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0107: 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_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: 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_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) try { if (Keyboard.current != null && ((ButtonControl)Keyboard.current.f9Key).wasPressedThisFrame) { showMenu = !showMenu; } if (isPlacingLight || showMenu) { Cursor.lockState = (CursorLockMode)0; Cursor.visible = true; } else if (isFreeCam && !freezeFreeCam) { Cursor.lockState = (CursorLockMode)1; Cursor.visible = false; } if (isFreeCam && (Object)(object)freeCam != (Object)null && !showMenu && !freezeFreeCam && !isPlacingLight) { float num = (((ButtonControl)Keyboard.current.leftShiftKey).isPressed ? 35f : 10f); Vector3 val = Vector3.zero; if (((ButtonControl)Keyboard.current.wKey).isPressed) { val += ((Component)freeCam).transform.forward; } if (((ButtonControl)Keyboard.current.sKey).isPressed) { val -= ((Component)freeCam).transform.forward; } if (((ButtonControl)Keyboard.current.aKey).isPressed) { val -= ((Component)freeCam).transform.right; } if (((ButtonControl)Keyboard.current.dKey).isPressed) { val += ((Component)freeCam).transform.right; } Transform transform = ((Component)freeCam).transform; transform.position += val * num * Time.deltaTime; Vector2 val2 = ((InputControl)(object)((Pointer)Mouse.current).delta).ReadValue(); fcYaw += val2.x * 0.1f; fcPitch -= val2.y * 0.1f; ((Component)freeCam).transform.rotation = Quaternion.Euler(fcPitch, fcYaw, 0f); } if (isPlacingLight && (Object)(object)tempLight != (Object)null) { Camera val3 = (isFreeCam ? freeCam : Camera.main); if ((Object)(object)val3 != (Object)null) { Ray val4 = val3.ScreenPointToRay(Vector2.op_Implicit(((InputControl)(object)((Pointer)Mouse.current).position).ReadValue())); RaycastHit val5 = default(RaycastHit); if (Physics.Raycast(val4, ref val5)) { ((Component)tempLight).transform.position = ((RaycastHit)(ref val5)).point + ((RaycastHit)(ref val5)).normal * 0.5f; } else { ((Component)tempLight).transform.position = ((Ray)(ref val4)).GetPoint(5f); } if (Mouse.current.leftButton.wasPressedThisFrame) { isPlacingLight = false; showMenu = true; editingLight = tempLight; currentMenu = MenuState.LightEdit; } } } UpdateLightGizmo(); if (applyQueued) { applyQueued = false; ApplyRealTimeSettings(); } } catch (Exception) { } } public override void OnGUI() { //IL_0102: 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_014e: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Invalid comparison between Unknown and I4 //IL_005c: 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_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: 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_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Invalid comparison between Unknown and I4 //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) if (!showMenu) { return; } try { if (boxStyle == null) { InitializeStyles(); } Event current = Event.current; if (current != null) { Rect val = default(Rect); ((Rect)(ref val))..ctor(((Rect)(ref windowRect)).x, ((Rect)(ref windowRect)).y, ((Rect)(ref windowRect)).width, 40f); if ((int)current.type == 0 && ((Rect)(ref val)).Contains(current.mousePosition)) { isDragging = true; dragOffset = current.mousePosition - new Vector2(((Rect)(ref windowRect)).x, ((Rect)(ref windowRect)).y); } else if ((int)current.type == 1) { isDragging = false; } if (isDragging && (int)current.type == 3) { ((Rect)(ref windowRect)).x = current.mousePosition.x - dragOffset.x; ((Rect)(ref windowRect)).y = current.mousePosition.y - dragOffset.y; } } GUI.backgroundColor = Color.white; GUI.Box(windowRect, "", boxStyle); GUI.Label(new Rect(((Rect)(ref windowRect)).x, ((Rect)(ref windowRect)).y + 10f, ((Rect)(ref windowRect)).width, 30f), "GB Graphics+ Menu (F9)", titleStyle); scrollPosition = GUI.BeginScrollView(new Rect(((Rect)(ref windowRect)).x + 15f, ((Rect)(ref windowRect)).y + 50f, ((Rect)(ref windowRect)).width - 30f, ((Rect)(ref windowRect)).height - 60f), scrollPosition, new Rect(0f, 0f, ((Rect)(ref windowRect)).width - 50f, scrollHeight)); if (currentMenu == MenuState.Presets) { DrawPresetsMenu(); } else if (currentMenu == MenuState.MapSelect) { DrawMapSelectMenu(); } else if (currentMenu == MenuState.LightList) { DrawLightListMenu(); } else if (currentMenu == MenuState.LightEdit) { DrawLightEditMenu(); } else { DrawMainGUI(); } GUI.EndScrollView(); } catch (Exception) { } } private void InitializeStyles() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Expected O, but got Unknown //IL_00c9: Expected O, but got Unknown //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Expected O, but got Unknown //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Expected O, but got Unknown //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Expected O, but got Unknown //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Expected O, but got Unknown //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01cf: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Expected O, but got Unknown //IL_021d: Unknown result type (might be due to invalid IL or missing references) //IL_0222: Unknown result type (might be due to invalid IL or missing references) //IL_022e: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Expected O, but got Unknown Texture2D background = MakeTex(2, 2, new Color(0.08f, 0.08f, 0.09f, 0.98f)); Texture2D background2 = MakeTex(2, 2, new Color(0.18f, 0.18f, 0.2f, 1f)); Texture2D background3 = MakeTex(2, 2, new Color(0f, 0.45f, 0.7f, 1f)); Texture2D background4 = MakeTex(2, 2, new Color(0f, 0.65f, 0.3f, 1f)); GUIStyle val = new GUIStyle(GUI.skin.box); val.normal.background = background; val.normal.textColor = Color.white; val.padding = new RectOffset(0, 0, 15, 0); boxStyle = val; GUIStyle val2 = new GUIStyle(); val2.normal.textColor = new Color(0f, 0.8f, 1f); val2.fontSize = 22; val2.fontStyle = (FontStyle)1; val2.alignment = (TextAnchor)1; titleStyle = val2; GUIStyle val3 = new GUIStyle(); val3.normal.textColor = new Color(0.9f, 0.9f, 0.9f); val3.fontSize = 15; val3.fontStyle = (FontStyle)1; labelStyle = val3; GUIStyle val4 = new GUIStyle(); val4.normal.textColor = Color.cyan; val4.fontSize = 15; val4.fontStyle = (FontStyle)1; val4.alignment = (TextAnchor)2; valueStyle = val4; GUIStyle val5 = new GUIStyle(); val5.normal.textColor = new Color(1f, 0.8f, 0.2f); val5.fontSize = 18; val5.fontStyle = (FontStyle)1; val5.alignment = (TextAnchor)4; headerStyle = val5; GUIStyle val6 = new GUIStyle(GUI.skin.button); val6.normal.background = background2; val6.normal.textColor = Color.white; val6.hover.background = background3; val6.hover.textColor = Color.white; val6.fontSize = 15; val6.fontStyle = (FontStyle)1; val6.alignment = (TextAnchor)4; buttonStyle = val6; GUIStyle val7 = new GUIStyle(buttonStyle); val7.normal.background = background4; val7.hover.background = background4; activeButtonStyle = val7; } private Texture2D MakeTex(int w, int h, Color c) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: 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_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Expected O, but got Unknown Color[] array = (Color[])(object)new Color[w * h]; for (int i = 0; i < array.Length; i++) { array[i] = c; } Texture2D val = new Texture2D(w, h); val.SetPixels(Il2CppStructArray.op_Implicit(array)); val.Apply(); return val; } private void SetPlayerInputs(bool state) { foreach (PlayerInput item in Object.FindObjectsOfType()) { ((Behaviour)item).enabled = state; } } private void ToggleFreeCam() { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Expected O, but got Unknown //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) isFreeCam = !isFreeCam; if (isFreeCam) { SetPlayerInputs(state: false); originalCam = Camera.main; if ((Object)(object)originalCam != (Object)null) { ((Behaviour)originalCam).enabled = false; GameObject val = new GameObject("ModFreeCam"); freeCam = val.AddComponent(); freeCam.CopyFrom(originalCam); val.AddComponent().renderPostProcessing = true; ((Component)freeCam).transform.position = ((Component)originalCam).transform.position; ((Component)freeCam).transform.rotation = ((Component)originalCam).transform.rotation; Vector3 eulerAngles = ((Component)originalCam).transform.eulerAngles; fcPitch = eulerAngles.x; fcYaw = eulerAngles.y; } } else { freezeFreeCam = false; SetPlayerInputs(state: true); if ((Object)(object)freeCam != (Object)null) { Object.Destroy((Object)(object)((Component)freeCam).gameObject); } if ((Object)(object)originalCam != (Object)null) { ((Behaviour)originalCam).enabled = true; } } } private void BuildLightGizmo() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)lightGizmo != (Object)null)) { lightGizmo = new GameObject("GBLightGizmo"); GameObject obj = GameObject.CreatePrimitive((PrimitiveType)2); obj.transform.SetParent(lightGizmo.transform); obj.transform.localScale = new Vector3(0.05f, 1.5f, 0.05f); obj.transform.localRotation = Quaternion.Euler(0f, 0f, 90f); obj.GetComponent().material.color = Color.red; Object.Destroy((Object)(object)obj.GetComponent()); GameObject obj2 = GameObject.CreatePrimitive((PrimitiveType)2); obj2.transform.SetParent(lightGizmo.transform); obj2.transform.localScale = new Vector3(0.05f, 1.5f, 0.05f); obj2.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); obj2.GetComponent().material.color = Color.green; Object.Destroy((Object)(object)obj2.GetComponent()); GameObject obj3 = GameObject.CreatePrimitive((PrimitiveType)2); obj3.transform.SetParent(lightGizmo.transform); obj3.transform.localScale = new Vector3(0.05f, 1.5f, 0.05f); obj3.transform.localRotation = Quaternion.Euler(90f, 0f, 0f); obj3.GetComponent().material.color = Color.blue; Object.Destroy((Object)(object)obj3.GetComponent()); lightGizmo.SetActive(false); } } private void UpdateLightGizmo() { //IL_0055: 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) if (currentMenu == MenuState.LightEdit && (Object)(object)editingLight != (Object)null && showMenu) { if ((Object)(object)lightGizmo == (Object)null) { BuildLightGizmo(); } lightGizmo.SetActive(true); lightGizmo.transform.position = ((Component)editingLight).transform.position; lightGizmo.transform.rotation = ((Component)editingLight).transform.rotation; } else if ((Object)(object)lightGizmo != (Object)null) { lightGizmo.SetActive(false); } } private void DrawMainGUI() { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_022f: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_03bc: Unknown result type (might be due to invalid IL or missing references) //IL_0404: Unknown result type (might be due to invalid IL or missing references) //IL_0453: Unknown result type (might be due to invalid IL or missing references) //IL_04a2: Unknown result type (might be due to invalid IL or missing references) //IL_060f: Unknown result type (might be due to invalid IL or missing references) drawY = 0f; settingsChanged = false; float num = (((Rect)(ref windowRect)).width - 40f) / 2f; if (GUI.Button(new Rect(0f, drawY, num - 5f, 40f), "Global Presets", buttonStyle)) { currentMenu = MenuState.Presets; } if (GUI.Button(new Rect(num + 5f, drawY, num - 5f, 40f), "Specific Scene", buttonStyle)) { LoadKnownScenesFromFiles(); currentMenu = MenuState.MapSelect; } drawY += 50f; if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), isFreeCam ? "DISABLE FREECAM" : "ENABLE FREECAM", isFreeCam ? activeButtonStyle : buttonStyle)) { ToggleFreeCam(); } drawY += 45f; if (isFreeCam) { if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 35f), freezeFreeCam ? "Camera is Frozen" : "Freeze Freecam (For Cinematics)", freezeFreeCam ? activeButtonStyle : buttonStyle)) { freezeFreeCam = !freezeFreeCam; } drawY += 45f; } GUI.Label(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 30f), "EDITING MAP: " + ((editingScene == "GLOBAL") ? "GLOBAL DEFAULT" : editingScene.ToUpper()), titleStyle); drawY += 40f; if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), "Force Save Map Settings Now", activeButtonStyle)) { SaveSettingsForScene(editingScene); } drawY += 55f; DrawHeader("ADVANCED LIGHTING"); if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), "Open Lights Menu / Spawn Lights", buttonStyle)) { RefreshLightList(); currentMenu = MenuState.LightList; } drawY += 55f; DrawHeader("GLOBAL SUN SETTINGS"); if (GUI.Button(new Rect(0f, drawY, num - 5f, 35f), "Hard Shadows", (!softShadows) ? activeButtonStyle : buttonStyle) && softShadows) { softShadows = false; settingsChanged = true; } if (GUI.Button(new Rect(num + 5f, drawY, num - 5f, 35f), "Soft Shadows", softShadows ? activeButtonStyle : buttonStyle) && !softShadows) { softShadows = true; settingsChanged = true; } drawY += 45f; float num2 = (((Rect)(ref windowRect)).width - 50f) / 4f; if (GUI.Button(new Rect(0f, drawY, num2 - 2f, 35f), "North", (sunPos == 0) ? activeButtonStyle : buttonStyle)) { sunPos = 0; settingsChanged = true; } if (GUI.Button(new Rect(num2, drawY, num2 - 2f, 35f), "East", (sunPos == 1) ? activeButtonStyle : buttonStyle)) { sunPos = 1; settingsChanged = true; } if (GUI.Button(new Rect(num2 * 2f, drawY, num2 - 2f, 35f), "South", (sunPos == 2) ? activeButtonStyle : buttonStyle)) { sunPos = 2; settingsChanged = true; } if (GUI.Button(new Rect(num2 * 3f, drawY, num2 - 2f, 35f), "West", (sunPos == 3) ? activeButtonStyle : buttonStyle)) { sunPos = 3; settingsChanged = true; } drawY += 45f; sunR = DrawSlider("Sun Color (Red)", sunR, 0f, 2f); sunG = DrawSlider("Sun Color (Green)", sunG, 0f, 2f); sunB = DrawSlider("Sun Color (Blue)", sunB, 0f, 2f); drawY += 10f; DrawHeader("FOG ENGINE"); fogDensity = DrawSlider("Density", fogDensity, 0f, 0.1f); fogR = DrawSlider("Fog Color (Red)", fogR, 0f, 1f); fogG = DrawSlider("Fog Color (Green)", fogG, 0f, 1f); fogB = DrawSlider("Fog Color (Blue)", fogB, 0f, 1f); if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 35f), "Force Apply Fog Settings", activeButtonStyle)) { settingsChanged = true; } drawY += 50f; DrawHeader("BLOOM"); bloomIntensity = DrawSlider("Intensity", bloomIntensity, 0f, 30f); bloomThreshold = DrawSlider("Threshold", bloomThreshold, 0f, 2f); drawY += 10f; DrawHeader("DEPTH OF FIELD"); dofFocusDistance = DrawSlider("Focus Distance", dofFocusDistance, 0.1f, 50f); dofAperture = DrawSlider("Aperture (Lower = Blur)", dofAperture, 1f, 32f); dofFocalLength = DrawSlider("Focal Length", dofFocalLength, 1f, 300f); drawY += 10f; DrawHeader("CHROMATIC ABERRATION"); caIntensity = DrawSlider("Intensity", caIntensity, 0f, 1f); drawY += 10f; DrawHeader("VIGNETTE"); vignetteIntensity = DrawSlider("Intensity", vignetteIntensity, 0f, 1f); drawY += 10f; DrawHeader("COLOR ADJUSTMENTS"); gamma = DrawSlider("Gamma", gamma, -5f, 5f); contrast = DrawSlider("Contrast", contrast, -100f, 100f); scrollHeight = drawY + 100f; if (settingsChanged) { SaveSettingsForScene(editingScene); if (editingScene == currentActiveScene || editingScene == "GLOBAL") { applyQueued = true; } } } private void RefreshLightList() { sceneLights = Il2CppArrayBase.op_Implicit(Object.FindObjectsOfType()); } private void DrawLightListMenu() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_007d: 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_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Expected O, but got Unknown //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_0279: 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) drawY = 0f; if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), "Back to Main Menu", buttonStyle)) { currentMenu = MenuState.Main; } drawY += 50f; if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), "Aim & Spawn Light", activeButtonStyle)) { GameObject val = new GameObject("Spawned Custom Light"); tempLight = val.AddComponent(); tempLight.type = (LightType)2; tempLight.intensity = 5f; tempLight.range = 15f; isPlacingLight = true; showMenu = false; return; } drawY += 50f; float num = (((Rect)(ref windowRect)).width - 60f) / 2f; if (GUI.Button(new Rect(0f, drawY, num, 35f), "ENABLE ALL", buttonStyle)) { Light[] array = sceneLights; foreach (Light val2 in array) { if ((Object)(object)val2 != (Object)null) { ((Behaviour)val2).enabled = true; } } } if (GUI.Button(new Rect(num + 10f, drawY, num, 35f), "DISABLE ALL", buttonStyle)) { Light[] array = sceneLights; foreach (Light val3 in array) { if ((Object)(object)val3 != (Object)null) { ((Behaviour)val3).enabled = false; } } } drawY += 45f; if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), "Refresh Light List", buttonStyle)) { RefreshLightList(); } drawY += 60f; DrawHeader("SCENE LIGHTS"); if (sceneLights != null) { Light[] array = sceneLights; foreach (Light val4 in array) { if (!((Object)(object)val4 == (Object)null)) { string text = $"{((Object)val4).name} [{val4.type}]"; if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 35f), text, ((Behaviour)val4).enabled ? buttonStyle : activeButtonStyle)) { editingLight = val4; currentMenu = MenuState.LightEdit; } drawY += 40f; } } } scrollHeight = drawY + 100f; } private void DrawLightEditMenu() { //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Invalid comparison between Unknown and I4 //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_022a: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Invalid comparison between Unknown and I4 //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_027b: 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_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02cb: Unknown result type (might be due to invalid IL or missing references) //IL_02f1: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_0320: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_0342: Unknown result type (might be due to invalid IL or missing references) //IL_039b: Unknown result type (might be due to invalid IL or missing references) drawY = 0f; if ((Object)(object)editingLight == (Object)null) { currentMenu = MenuState.LightList; return; } if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), "Back to Light List", buttonStyle)) { currentMenu = MenuState.LightList; return; } drawY += 60f; DrawHeader("EDITING: " + ((Object)editingLight).name); if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), ((Behaviour)editingLight).enabled ? "Light is ON (Click to Disable)" : "Light is OFF (Click to Enable)", ((Behaviour)editingLight).enabled ? activeButtonStyle : buttonStyle)) { ((Behaviour)editingLight).enabled = !((Behaviour)editingLight).enabled; } drawY += 55f; editingLight.intensity = DrawSlider("Intensity", editingLight.intensity, 0f, 50f); if ((int)editingLight.type == 2 || (int)editingLight.type == 0) { editingLight.range = DrawSlider("Range", editingLight.range, 0f, 200f); } drawY += 10f; DrawHeader("TRANSFORM (Position)"); Vector3 position = ((Component)editingLight).transform.position; position.x = DrawSlider("X (Red Axis)", position.x, -200f, 200f); position.y = DrawSlider("Y (Green Axis)", position.y, -50f, 200f); position.z = DrawSlider("Z (Blue Axis)", position.z, -200f, 200f); ((Component)editingLight).transform.position = position; drawY += 10f; if ((int)editingLight.type == 1 || (int)editingLight.type == 0) { DrawHeader("TRANSFORM (Rotation)"); Vector3 eulerAngles = ((Component)editingLight).transform.eulerAngles; eulerAngles.x = DrawSlider("Pitch X", eulerAngles.x, 0f, 360f); eulerAngles.y = DrawSlider("Yaw Y", eulerAngles.y, 0f, 360f); eulerAngles.z = DrawSlider("Roll Z", eulerAngles.z, 0f, 360f); ((Component)editingLight).transform.rotation = Quaternion.Euler(eulerAngles); drawY += 10f; } DrawHeader("COLOR"); float r = editingLight.color.r; float g = editingLight.color.g; float b = editingLight.color.b; r = DrawSlider("Color (Red)", r, 0f, 2f); g = DrawSlider("Color (Green)", g, 0f, 2f); b = DrawSlider("Color (Blue)", b, 0f, 2f); editingLight.color = new Color(r, g, b); scrollHeight = drawY + 100f; } private void DrawPresetsMenu() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) drawY = 0f; if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), "Back to Settings", buttonStyle)) { currentMenu = MenuState.Main; } drawY += 50f; if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), "Save Current As New Global Preset", buttonStyle)) { SaveGlobalPreset(); } drawY += 60f; DrawHeader("SAVED GLOBAL PRESETS"); string[] files = Directory.GetFiles(presetFolder, "*.txt"); if (files.Length == 0) { GUI.Label(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 30f), "No presets saved yet.", labelStyle); } else { string[] array = files; foreach (string text in array) { string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(text); if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), fileNameWithoutExtension, buttonStyle)) { LoadSettingsFromFile(text); SaveSettingsForScene(editingScene); if (editingScene == currentActiveScene || editingScene == "GLOBAL") { applyQueued = true; } currentMenu = MenuState.Main; return; } drawY += 50f; } } scrollHeight = drawY + 100f; } private void DrawMapSelectMenu() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) drawY = 0f; if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), "Back to Settings", buttonStyle)) { currentMenu = MenuState.Main; } drawY += 60f; DrawHeader("MAP SPECIFIC OVERRIDES"); if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), "EDIT GLOBAL SETTINGS", buttonStyle)) { editingScene = "GLOBAL"; LoadSettingsForScene(editingScene); currentMenu = MenuState.Main; return; } drawY += 60f; if (knownScenes.Count == 0) { GUI.Label(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 30f), "Load into a map first to see it here!", labelStyle); } else { foreach (string knownScene in knownScenes) { if (GUI.Button(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 40f), knownScene, buttonStyle)) { editingScene = knownScene; LoadSettingsForScene(editingScene); currentMenu = MenuState.Main; return; } drawY += 50f; } } scrollHeight = drawY + 100f; } private void DrawHeader(string text) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) GUI.Label(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 30f), text, headerStyle); drawY += 35f; } private float DrawSlider(string label, float value, float min, float max) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) GUI.Label(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 200f, 25f), label, labelStyle); GUI.Label(new Rect(((Rect)(ref windowRect)).width - 150f, drawY, 100f, 25f), value.ToString("F2", CultureInfo.InvariantCulture), valueStyle); drawY += 25f; float num = GUI.HorizontalSlider(new Rect(0f, drawY, ((Rect)(ref windowRect)).width - 50f, 25f), value, min, max); drawY += 35f; if (Mathf.Abs(num - value) > 0.0001f) { settingsChanged = true; } return num; } private void ApplyRealTimeSettings() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Invalid comparison between Unknown and I4 //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_008a: 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_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) try { Light[] array = Il2CppArrayBase.op_Implicit(Object.FindObjectsOfType()); foreach (Light val in array) { if ((int)val.type == 1 && ((Object)val).name.ToLower().Contains("sun")) { val.shadows = (LightShadows)((!softShadows) ? 1 : 2); val.color = new Color(sunR, sunG, sunB); float num = 50f; if (sunPos == 0) { ((Component)val).transform.rotation = Quaternion.Euler(num, 0f, 0f); } else if (sunPos == 1) { ((Component)val).transform.rotation = Quaternion.Euler(num, 90f, 0f); } else if (sunPos == 2) { ((Component)val).transform.rotation = Quaternion.Euler(num, 180f, 0f); } else if (sunPos == 3) { ((Component)val).transform.rotation = Quaternion.Euler(num, -90f, 0f); } } } QualitySettings.shadows = (ShadowQuality)((!softShadows) ? 1 : 2); RenderSettings.fog = true; RenderSettings.fogMode = (FogMode)3; RenderSettings.fogDensity = fogDensity; RenderSettings.fogColor = new Color(fogR, fogG, fogB); DynamicGI.UpdateEnvironment(); Bloom val2 = default(Bloom); DepthOfField val3 = default(DepthOfField); ChromaticAberration val4 = default(ChromaticAberration); Vignette val5 = default(Vignette); ColorAdjustments val6 = default(ColorAdjustments); foreach (VolumeProfile activeProfile in activeProfiles) { if (!((Object)(object)activeProfile == (Object)null)) { if (!activeProfile.TryGet(ref val2)) { val2 = activeProfile.Add(false); } ((VolumeComponent)val2).active = true; ((VolumeParameter)(object)val2.intensity).Override(bloomIntensity); ((VolumeParameter)(object)val2.threshold).Override(bloomThreshold); if (!activeProfile.TryGet(ref val3)) { val3 = activeProfile.Add(false); } ((VolumeComponent)val3).active = true; ((VolumeParameter)(object)val3.mode).Override((DepthOfFieldMode)2); ((VolumeParameter)(object)val3.focusDistance).Override(dofFocusDistance); ((VolumeParameter)(object)val3.aperture).Override(dofAperture); ((VolumeParameter)(object)val3.focalLength).Override(dofFocalLength); if (!activeProfile.TryGet(ref val4)) { val4 = activeProfile.Add(false); } ((VolumeComponent)val4).active = true; ((VolumeParameter)(object)val4.intensity).Override(caIntensity); if (!activeProfile.TryGet(ref val5)) { val5 = activeProfile.Add(false); } ((VolumeComponent)val5).active = true; ((VolumeParameter)(object)val5.intensity).Override(vignetteIntensity); if (!activeProfile.TryGet(ref val6)) { val6 = activeProfile.Add(false); } ((VolumeComponent)val6).active = true; ((VolumeParameter)(object)val6.postExposure).Override(gamma); ((VolumeParameter)(object)val6.contrast).Override(contrast); } } } catch (Exception) { } } private void SaveSettingsForScene(string scene) { string filePath = ((scene == "GLOBAL") ? Path.Combine(presetFolder, "GlobalDefault.txt") : Path.Combine(mapOverridesFolder, scene + ".txt")); SaveToFile(filePath); } private void LoadSettingsForScene(string scene) { string text = ((scene == "GLOBAL") ? Path.Combine(presetFolder, "GlobalDefault.txt") : Path.Combine(mapOverridesFolder, scene + ".txt")); if (File.Exists(text)) { LoadSettingsFromFile(text); } else if (scene != "GLOBAL") { string text2 = Path.Combine(presetFolder, "GlobalDefault.txt"); if (File.Exists(text2)) { LoadSettingsFromFile(text2); } else { ResetToHardcodedDefaults(); } } else { ResetToHardcodedDefaults(); } } private void SaveGlobalPreset() { SaveToFile(Path.Combine(presetFolder, "Preset_" + DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") + ".txt")); } private void SaveToFile(string filePath) { try { string[] contents = new string[18] { "bloomIntensity=" + bloomIntensity.ToString(CultureInfo.InvariantCulture), "bloomThreshold=" + bloomThreshold.ToString(CultureInfo.InvariantCulture), "dofFocusDistance=" + dofFocusDistance.ToString(CultureInfo.InvariantCulture), "dofAperture=" + dofAperture.ToString(CultureInfo.InvariantCulture), "dofFocalLength=" + dofFocalLength.ToString(CultureInfo.InvariantCulture), "caIntensity=" + caIntensity.ToString(CultureInfo.InvariantCulture), "vignetteIntensity=" + vignetteIntensity.ToString(CultureInfo.InvariantCulture), "gamma=" + gamma.ToString(CultureInfo.InvariantCulture), "contrast=" + contrast.ToString(CultureInfo.InvariantCulture), "fogDensity=" + fogDensity.ToString(CultureInfo.InvariantCulture), "fogR=" + fogR.ToString(CultureInfo.InvariantCulture), "fogG=" + fogG.ToString(CultureInfo.InvariantCulture), "fogB=" + fogB.ToString(CultureInfo.InvariantCulture), "softShadows=" + softShadows, "sunPos=" + sunPos, "sunR=" + sunR.ToString(CultureInfo.InvariantCulture), "sunG=" + sunG.ToString(CultureInfo.InvariantCulture), "sunB=" + sunB.ToString(CultureInfo.InvariantCulture) }; File.WriteAllLines(filePath, contents); } catch (Exception) { } } private void LoadSettingsFromFile(string filePath) { try { if (!File.Exists(filePath)) { return; } string[] array = File.ReadAllLines(filePath); for (int i = 0; i < array.Length; i++) { string[] array2 = array[i].Split('='); if (array2.Length != 2) { continue; } string text = array2[0]; float result3; if (text == "softShadows") { if (bool.TryParse(array2[1], out var result)) { softShadows = result; } } else if (text == "sunPos") { if (int.TryParse(array2[1], out var result2)) { sunPos = result2; } } else if (float.TryParse(array2[1], NumberStyles.Float, CultureInfo.InvariantCulture, out result3)) { switch (text) { case "bloomIntensity": bloomIntensity = result3; break; case "bloomThreshold": bloomThreshold = result3; break; case "dofFocusDistance": dofFocusDistance = result3; break; case "dofAperture": dofAperture = result3; break; case "dofFocalLength": dofFocalLength = result3; break; case "caIntensity": caIntensity = result3; break; case "vignetteIntensity": vignetteIntensity = result3; break; case "gamma": gamma = result3; break; case "contrast": contrast = result3; break; case "fogDensity": fogDensity = result3; break; case "fogR": fogR = result3; break; case "fogG": fogG = result3; break; case "fogB": fogB = result3; break; case "sunR": sunR = result3; break; case "sunG": sunG = result3; break; case "sunB": sunB = result3; break; } } } } catch (Exception) { } } private void ResetToHardcodedDefaults() { bloomIntensity = 1.71f; bloomThreshold = 0.69f; dofFocusDistance = 9.69f; dofAperture = 1.46f; dofFocalLength = 63.77f; caIntensity = 0.17f; gamma = 1.17f; contrast = 5.26f; fogDensity = 0.01f; fogR = 0.5f; fogG = 0.5f; fogB = 0.5f; vignetteIntensity = 0.25f; softShadows = true; sunPos = 0; sunR = 1f; sunG = 0.95f; sunB = 0.9f; } } }