Decompiled source of RockCamRecordingSettings v1.1.1

Mods/RockCamRecordingSettings.dll

Decompiled a day ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using MelonLoader;
using Rock_Cam_Essentials;
using Rockcam_recording_settings;
using RumbleModUI;
using RumbleModdingAPI;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(Main), "RockCamRecordingSettings", "1.2.0", "Deterraleon", null)]
[assembly: MelonGame("Buckethead Entertainment", "RUMBLE")]
[assembly: MelonColor(255, 32, 42, 68)]
[assembly: MelonAuthorColor(255, 255, 119, 255)]
[assembly: VerifyLoaderVersion(0, 6, 6, true)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("RockCamRecordingSettings")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("RockCamRecordingSettings")]
[assembly: AssemblyTitle("RockCamRecordingSettings")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Rockcam_recording_settings;

public static class BuildInfo
{
	public const string ModName = "RockCamRecordingSettings";

	public const string ModVersion = "1.2.0";

	public const string Author = "Deterraleon";
}
public class Main : MelonMod
{
	[CompilerGenerated]
	private sealed class <Initialise>d__12 : IEnumerator<object>, IEnumerator, IDisposable
	{
		private int <>1__state;

		private object <>2__current;

		public float time;

		public Main <>4__this;

		object IEnumerator<object>.Current
		{
			[DebuggerHidden]
			get
			{
				return <>2__current;
			}
		}

		object IEnumerator.Current
		{
			[DebuggerHidden]
			get
			{
				return <>2__current;
			}
		}

		[DebuggerHidden]
		public <Initialise>d__12(int <>1__state)
		{
			this.<>1__state = <>1__state;
		}

		[DebuggerHidden]
		void IDisposable.Dispose()
		{
			<>1__state = -2;
		}

		private bool MoveNext()
		{
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0031: Expected O, but got Unknown
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: Expected O, but got Unknown
			switch (<>1__state)
			{
			default:
				return false;
			case 0:
				<>1__state = -1;
				<>2__current = (object)new WaitForSeconds(time);
				<>1__state = 1;
				return true;
			case 1:
				<>1__state = -1;
				<>4__this.Camera = new Rock_Cam();
				MelonLogger.Msg(<>4__this.currentScene);
				<>4__this.Save();
				MelonLogger.Msg("aldone");
				return false;
			}
		}

		bool IEnumerator.MoveNext()
		{
			//ILSpy generated this explicit interface implementation from .override directive in MoveNext
			return this.MoveNext();
		}

		[DebuggerHidden]
		void IEnumerator.Reset()
		{
			throw new NotSupportedException();
		}
	}

	private string currentScene = "Loader";

	private Mod Rockcam_recording_settings = new Mod();

	private bool maploaded = false;

	private bool enabled = true;

	private bool pain = true;

	private List<ModSetting> settings = new List<ModSetting>();

	private Rock_Cam Camera = null;

	private RecordingSettings RecordingSettings;

	public override void OnSceneWasLoaded(int buildIndex, string sceneName)
	{
		currentScene = sceneName;
	}

	public override void OnLateInitializeMelon()
	{
		Calls.onMapInitialized += mapLoaded;
		UI.instance.UI_Initialized += UIInit;
	}

	private void UIInit()
	{
		//IL_004c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Expected O, but got Unknown
		//IL_0074: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Expected O, but got Unknown
		//IL_009f: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a9: Expected O, but got Unknown
		//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d4: Expected O, but got Unknown
		//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ff: Expected O, but got Unknown
		//IL_0120: Unknown result type (might be due to invalid IL or missing references)
		//IL_012a: Expected O, but got Unknown
		//IL_0148: Unknown result type (might be due to invalid IL or missing references)
		//IL_0152: Expected O, but got Unknown
		//IL_0173: Unknown result type (might be due to invalid IL or missing references)
		//IL_017d: Expected O, but got Unknown
		//IL_019b: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a5: Expected O, but got Unknown
		Rockcam_recording_settings.ModName = "RockCamRecordingSettings";
		Rockcam_recording_settings.ModVersion = "1.2.0";
		Rockcam_recording_settings.SetFolder("RockCamRecordingSettings");
		settings.Add((ModSetting)(object)Rockcam_recording_settings.AddToList("Enabled", false, 0, "Toggles Mod On/Off", new Tags()));
		settings.Add((ModSetting)(object)Rockcam_recording_settings.AddToList("Framerate", 30, "Sets the framerate of the camera", new Tags()));
		settings.Add((ModSetting)(object)Rockcam_recording_settings.AddToList("Width", 1920, "Sets the width of the camera", new Tags()));
		settings.Add((ModSetting)(object)Rockcam_recording_settings.AddToList("Height", 1080, "Sets the height of the camera", new Tags()));
		settings.Add((ModSetting)(object)Rockcam_recording_settings.AddToList("Bitrate", 12000000, "Sets the bitrate of the camera", new Tags()));
		settings.Add((ModSetting)(object)Rockcam_recording_settings.AddToList("Audio bitrate", 192000, "Sets the audio bitrate of the camera", new Tags()));
		settings.Add((ModSetting)(object)Rockcam_recording_settings.AddToList("Reset camera", false, 0, "Resets the camera, only once per save", new Tags()));
		settings.Add((ModSetting)(object)Rockcam_recording_settings.AddToList("Setting settings delay", 0.35f, "The delay before the camera applies the settings on scene load", new Tags()));
		settings.Add((ModSetting)(object)Rockcam_recording_settings.AddToList("Set the camera dumbly", false, 0, "The camera settings are set in a way that doesn't persist upon resummon", new Tags()));
		Rockcam_recording_settings.GetFromFile();
		Rockcam_recording_settings.ModSaved += Save;
		UI.instance.AddMod(Rockcam_recording_settings);
	}

	public void Save()
	{
		//IL_004a: 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_0043: Expected O, but got Unknown
		//IL_013c: Unknown result type (might be due to invalid IL or missing references)
		//IL_011a: Unknown result type (might be due to invalid IL or missing references)
		enabled = (bool)settings[0].SavedValue;
		if ((bool)settings[6].SavedValue)
		{
			Camera = new Rock_Cam();
		}
		RecordingSettings = default(RecordingSettings);
		RecordingSettings.framerate = (uint)(int)settings[1].SavedValue;
		RecordingSettings.width = (uint)(int)settings[2].SavedValue;
		RecordingSettings.height = (uint)(int)settings[3].SavedValue;
		RecordingSettings.Bitrate = (uint)(int)settings[4].SavedValue;
		RecordingSettings.audioBitrate = (uint)(int)settings[5].SavedValue;
		if (!(bool)settings[8].SavedValue)
		{
			Camera.FullRecordingSetup(RecordingSettings);
			MelonLogger.Msg((object)1);
		}
		else
		{
			Camera.FullRecordingSetupTemp(RecordingSettings);
			MelonLogger.Msg((object)2);
		}
	}

	[IteratorStateMachine(typeof(<Initialise>d__12))]
	private IEnumerator Initialise(float time)
	{
		//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
		return new <Initialise>d__12(0)
		{
			<>4__this = this,
			time = time
		};
	}

	public void mapLoaded()
	{
		if (currentScene != "Loader")
		{
			MelonCoroutines.Start(Initialise((float)settings[7].SavedValue));
			maploaded = true;
		}
	}
}