Decompiled source of CustomLevelTitles v2.0.0

CustomLevelTitles.dll

Decompiled 2 hours ago
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using PluginConfig.API;
using PluginConfig.API.Fields;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("CustomLevelTitles")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("CustomLevelTitles")]
[assembly: AssemblyTitle("CustomLevelTitles")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[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 CustomLevelTitles
{
	public static class Configs
	{
		private static PluginConfigurator config;

		public static BoolField enabler;

		public static StringField prelude1;

		public static StringField prelude2;

		public static StringField prelude3;

		public static StringField prelude4;

		public static StringField prelude5;

		public static StringField limbo1;

		public static StringField limbo2;

		public static StringField limbo3;

		public static StringField limbo4;

		public static StringField lust1;

		public static StringField lust2;

		public static StringField lust3;

		public static StringField lust4;

		public static StringField gluttony1;

		public static StringField gluttony2;

		public static StringField greed1;

		public static StringField greed2;

		public static StringField greed3;

		public static StringField greed4;

		public static StringField wrath1;

		public static StringField wrath2;

		public static StringField wrath3;

		public static StringField wrath4;

		public static StringField heresy1;

		public static StringField heresy2;

		public static StringField violence1;

		public static StringField violence2;

		public static StringField violence3;

		public static StringField violence4;

		public static StringField fraud1;

		public static StringField fraud2;

		public static StringField fraud3;

		public static StringField fraud4;

		public static StringField prime1;

		public static StringField prime2;

		public static StringField encore1;

		public static StringField encore2;

		public static void createConfig()
		{
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Expected O, but got Unknown
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_007b: Expected O, but got Unknown
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009e: Expected O, but got Unknown
			//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c1: Expected O, but got Unknown
			//IL_00da: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e4: Expected O, but got Unknown
			//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0107: 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_0143: Unknown result type (might be due to invalid IL or missing references)
			//IL_014d: Expected O, but got Unknown
			//IL_0166: Unknown result type (might be due to invalid IL or missing references)
			//IL_0170: Expected O, but got Unknown
			//IL_0189: Unknown result type (might be due to invalid IL or missing references)
			//IL_0193: Expected O, but got Unknown
			//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b6: Expected O, but got Unknown
			//IL_01cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d9: Expected O, but got Unknown
			//IL_01f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fc: Expected O, but got Unknown
			//IL_0215: Unknown result type (might be due to invalid IL or missing references)
			//IL_021f: Expected O, but got Unknown
			//IL_0238: Unknown result type (might be due to invalid IL or missing references)
			//IL_0242: Expected O, but got Unknown
			//IL_025b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0265: Expected O, but got Unknown
			//IL_027e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0288: Expected O, but got Unknown
			//IL_02a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ab: Expected O, but got Unknown
			//IL_02c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ce: Expected O, but got Unknown
			//IL_02e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f1: Expected O, but got Unknown
			//IL_030a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0314: Expected O, but got Unknown
			//IL_032d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0337: Expected O, but got Unknown
			//IL_0350: Unknown result type (might be due to invalid IL or missing references)
			//IL_035a: Expected O, but got Unknown
			//IL_0373: Unknown result type (might be due to invalid IL or missing references)
			//IL_037d: Expected O, but got Unknown
			//IL_0396: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a0: Expected O, but got Unknown
			//IL_03b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c3: Expected O, but got Unknown
			//IL_03dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e6: Expected O, but got Unknown
			//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0409: Expected O, but got Unknown
			//IL_0422: Unknown result type (might be due to invalid IL or missing references)
			//IL_042c: Expected O, but got Unknown
			//IL_0445: Unknown result type (might be due to invalid IL or missing references)
			//IL_044f: Expected O, but got Unknown
			//IL_0468: Unknown result type (might be due to invalid IL or missing references)
			//IL_0472: Expected O, but got Unknown
			//IL_048b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0495: Expected O, but got Unknown
			//IL_04ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b8: Expected O, but got Unknown
			//IL_04d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04db: Expected O, but got Unknown
			//IL_04f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04fe: Expected O, but got Unknown
			//IL_0517: Unknown result type (might be due to invalid IL or missing references)
			//IL_0521: Expected O, but got Unknown
			//IL_053a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0544: Expected O, but got Unknown
			//IL_055d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0567: Expected O, but got Unknown
			config = PluginConfigurator.Create("CustomLevelTitles", "CustomLevelTitles");
			config.SetIconWithURL(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "icon.png"));
			enabler = new BoolField(config.rootPanel, "Enabled", "enabler", true);
			prelude1 = new StringField(config.rootPanel, "0-1", "prelude1", "INTO THE FIRE");
			prelude2 = new StringField(config.rootPanel, "0-2", "prelude2", "THE MEATGRINDER");
			prelude3 = new StringField(config.rootPanel, "0-3", "prelude3", "DOUBLE DOWN");
			prelude4 = new StringField(config.rootPanel, "0-4", "prelude4", "A ONE MACHINE ARMY");
			prelude5 = new StringField(config.rootPanel, "0-5", "prelude5", "CERBERUS");
			limbo1 = new StringField(config.rootPanel, "1-1", "limbo1", "HEART OF THE SUNRISE");
			limbo2 = new StringField(config.rootPanel, "1-2", "limbo2", "THE BURNING WOsRLD");
			limbo3 = new StringField(config.rootPanel, "1-3", "limbo3", "HALL OF SACRED REMAINS");
			limbo4 = new StringField(config.rootPanel, "1-4", "limbo4", "CLAIR DE LUNE");
			lust1 = new StringField(config.rootPanel, "2-1", "lust1", "BRIDGE BURNER");
			lust2 = new StringField(config.rootPanel, "2-2", "lust2", "DEATH AT 20,000 VOLTS");
			lust3 = new StringField(config.rootPanel, "2-3", "lust3", "SHEER HEART ATTACK");
			lust4 = new StringField(config.rootPanel, "2-4", "lust4", "COURT OF THE CORPSE KING");
			gluttony1 = new StringField(config.rootPanel, "3-1", "gluttony1", "BELLY OF THE BEAST");
			gluttony2 = new StringField(config.rootPanel, "3-2", "gluttony2", "IN THE FLESH");
			greed1 = new StringField(config.rootPanel, "4-1", "greed1", "SLAVES TO POWER");
			greed2 = new StringField(config.rootPanel, "4-2", "greed2", "GOD DAMN THE SUN");
			greed3 = new StringField(config.rootPanel, "4-3", "greed3", "A SHOT IN THE DARK");
			greed4 = new StringField(config.rootPanel, "4-4", "greed4", "CLAIR DE SOLEIL");
			wrath1 = new StringField(config.rootPanel, "5-1", "wrath1", "IN THE WAKE OF POSEIDON");
			wrath2 = new StringField(config.rootPanel, "5-2", "wrath2", "WAVES OF THE STARLESS SEA");
			wrath3 = new StringField(config.rootPanel, "5-3", "wrath3", "SHIP OF FOOLS");
			wrath4 = new StringField(config.rootPanel, "5-4", "wrath4", "LEVIATHAN");
			heresy1 = new StringField(config.rootPanel, "6-1", "heresy1", "CRY FOR THE WEEPER");
			heresy2 = new StringField(config.rootPanel, "6-2", "heresy2", "AESTHETICS OF HATE");
			violence1 = new StringField(config.rootPanel, "7-1", "violence1", "GARDEN OF FORKING PATHS");
			violence2 = new StringField(config.rootPanel, "7-2", "violence2", "LIGHT UP THE NIGHT");
			violence3 = new StringField(config.rootPanel, "7-3", "violence3", "SUFFERING LEAVES, SUFFERING LEAVES");
			violence4 = new StringField(config.rootPanel, "7-4", "violence4", "...LIKE ANTENNAS TO HEAVEN");
			fraud1 = new StringField(config.rootPanel, "8-1", "fraud1", "HURTBREAK WONDERLAND");
			fraud2 = new StringField(config.rootPanel, "8-2", "fraud2", "THROUGH THE MIRROR");
			fraud3 = new StringField(config.rootPanel, "8-3", "fraud3", "DISINTEGRATION LOOP");
			fraud4 = new StringField(config.rootPanel, "8-4", "fraud4", "FINAL FLIGHT");
			prime1 = new StringField(config.rootPanel, "P-1", "prime1", "SOUL SURVIVOR");
			prime2 = new StringField(config.rootPanel, "P-2", "prime2", "WAIT OF THE WORLD");
			encore1 = new StringField(config.rootPanel, "0-E", "encore1", "THIS HEAT, AN EVIL HEAT");
			encore2 = new StringField(config.rootPanel, "1-E", "encore2", "...THEN FELL THE ASHES");
		}
	}
	[HarmonyPatch]
	public static class Patches
	{
		private static int eightThreeAppearances;

		[HarmonyPostfix]
		[HarmonyPatch(typeof(LevelNamePopup), "Start")]
		public static void Peeeeeeefiz(LevelNamePopup __instance)
		{
			eightThreeAppearances = 0;
			if (Configs.enabler.value)
			{
				string currentScene = SceneHelper.CurrentScene;
				if (1 == 0)
				{
				}
				string nameString = currentScene switch
				{
					"Level 0-1" => Configs.prelude1.value, 
					"Level 0-2" => Configs.prelude2.value, 
					"Level 0-3" => Configs.prelude3.value, 
					"Level 0-4" => Configs.prelude4.value, 
					"Level 0-5" => Configs.prelude5.value, 
					"Level 1-1" => Configs.limbo1.value, 
					"Level 1-2" => Configs.limbo2.value, 
					"Level 1-3" => Configs.limbo3.value, 
					"Level 1-4" => Configs.limbo4.value, 
					"Level 2-1" => Configs.lust1.value, 
					"Level 2-2" => Configs.lust2.value, 
					"Level 2-3" => Configs.lust3.value, 
					"Level 2-4" => Configs.lust4.value, 
					"Level 3-1" => Configs.gluttony1.value, 
					"Level 3-2" => Configs.gluttony2.value, 
					"Level 4-1" => Configs.greed1.value, 
					"Level 4-2" => Configs.greed2.value, 
					"Level 4-3" => Configs.greed3.value, 
					"Level 4-4" => Configs.greed4.value, 
					"Level 5-1" => Configs.wrath1.value, 
					"Level 5-2" => Configs.wrath2.value, 
					"Level 5-3" => Configs.wrath3.value, 
					"Level 5-4" => Configs.wrath4.value, 
					"Level 6-1" => Configs.heresy1.value, 
					"Level 6-2" => Configs.heresy2.value, 
					"Level 7-1" => Configs.violence1.value, 
					"Level 7-2" => Configs.violence2.value, 
					"Level 7-3" => Configs.violence3.value, 
					"Level 7-4" => Configs.violence4.value, 
					"Level 8-1" => Configs.fraud1.value, 
					"Level 8-2" => Configs.fraud2.value, 
					"Level 8-4" => Configs.fraud4.value, 
					"Level P-1" => Configs.prime1.value, 
					"Level P-2" => Configs.prime2.value, 
					"Level 0-E" => Configs.encore1.value, 
					"Level 1-E" => Configs.encore2.value, 
					_ => MonoSingleton<LevelNamePopup>.Instance.nameString, 
				};
				if (1 == 0)
				{
				}
				__instance.nameString = nameString;
			}
		}

		[HarmonyPrefix]
		[HarmonyPatch(typeof(LevelNamePopup), "NameAppear")]
		public static void Preeeeeeefiz(LevelNamePopup __instance)
		{
			if (Configs.enabler.value && !(SceneHelper.CurrentScene != "Level 8-3") && !__instance.activated)
			{
				eightThreeAppearances++;
				if (eightThreeAppearances >= 2)
				{
					__instance.nameString = Configs.fraud3.value;
				}
			}
		}

		[HarmonyPostfix]
		[HarmonyPatch(typeof(GetMissionName), "GetMissionNameOnly")]
		public static void Poooooooostfiz(int missionNum, ref string __result)
		{
			if (Configs.enabler.value && !SceneHelper.IsPlayingCustom)
			{
				string text = NameForMission(missionNum);
				if (!string.IsNullOrEmpty(text))
				{
					__result = text;
				}
			}
		}

		private static string NameForMission(int missionNum)
		{
			if (1 == 0)
			{
			}
			string result = missionNum switch
			{
				1 => Configs.prelude1.value, 
				2 => Configs.prelude2.value, 
				3 => Configs.prelude3.value, 
				4 => Configs.prelude4.value, 
				5 => Configs.prelude5.value, 
				6 => Configs.limbo1.value, 
				7 => Configs.limbo2.value, 
				8 => Configs.limbo3.value, 
				9 => Configs.limbo4.value, 
				10 => Configs.lust1.value, 
				11 => Configs.lust2.value, 
				12 => Configs.lust3.value, 
				13 => Configs.lust4.value, 
				14 => Configs.gluttony1.value, 
				15 => Configs.gluttony2.value, 
				16 => Configs.greed1.value, 
				17 => Configs.greed2.value, 
				18 => Configs.greed3.value, 
				19 => Configs.greed4.value, 
				20 => Configs.wrath1.value, 
				21 => Configs.wrath2.value, 
				22 => Configs.wrath3.value, 
				23 => Configs.wrath4.value, 
				24 => Configs.heresy1.value, 
				25 => Configs.heresy2.value, 
				26 => Configs.violence1.value, 
				27 => Configs.violence2.value, 
				28 => Configs.violence3.value, 
				29 => Configs.violence4.value, 
				30 => Configs.fraud1.value, 
				31 => Configs.fraud2.value, 
				32 => Configs.fraud3.value, 
				33 => Configs.fraud4.value, 
				100 => Configs.encore1.value, 
				101 => Configs.encore2.value, 
				666 => Configs.prime1.value, 
				667 => Configs.prime2.value, 
				_ => null, 
			};
			if (1 == 0)
			{
			}
			return result;
		}
	}
	[BepInPlugin("Lotus.CustomLevelTitles", "CustomLevelTitles", "1.0.0")]
	public class Plugin : BaseUnityPlugin
	{
		public static Plugin Instance;

		public ManualLogSource log => ((BaseUnityPlugin)this).Logger;

		public void Awake()
		{
			//IL_0019: Unknown result type (might be due to invalid IL or missing references)
			Instance = this;
			((Object)((Component)this).gameObject).hideFlags = (HideFlags)4;
			new Harmony("Lotus.CustomLevelTitles").PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"CustomLevelTitles loaded!");
			Configs.createConfig();
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		public IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}