using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Core.Logging.Interpolation; using BepInEx.Logging; using BepInEx.Unity.IL2CPP; using CellMenu; using GTFO.API.Utilities; using GameData; using Globals; using HarmonyLib; using Il2CppInterop.Runtime.InteropTypes.Arrays; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] [assembly: AssemblyCompany("SkipRundownReveal")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.1.0")] [assembly: AssemblyInformationalVersion("1.1.0")] [assembly: AssemblyProduct("SkipRundownReveal")] [assembly: AssemblyTitle("SkipRundownReveal")] [assembly: TargetPlatform("Windows7.0")] [assembly: SupportedOSPlatform("Windows7.0")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.1.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 SkipRundownReveal { [BepInPlugin("JarheadHME.SkipRundownReveal", "SkipRundownReveal", "1.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] internal class EntryPoint : BasePlugin { private Harmony _Harmony = null; public override void Load() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown _Harmony = new Harmony("SkipRundownReveal.Harmony"); _Harmony.PatchAll(); bool flag = default(bool); BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(32, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Plugin has loaded with "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted(_Harmony.GetPatchedMethods().Count()); ((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" patches!"); } Logger.Info(val); } public override bool Unload() { _Harmony.UnpatchSelf(); return ((BasePlugin)this).Unload(); } } internal static class Logger { private static readonly ManualLogSource _Logger; static Logger() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Expected O, but got Unknown _Logger = new ManualLogSource("SkipRundownReveal"); Logger.Sources.Add((ILogSource)(object)_Logger); } private static string Format(object msg) { return msg.ToString(); } public static void Info(BepInExInfoLogInterpolatedStringHandler handler) { _Logger.LogInfo(handler); } public static void Info(string str) { _Logger.LogMessage((object)str); } public static void Info(object data) { _Logger.LogMessage((object)Format(data)); } public static void Debug(BepInExDebugLogInterpolatedStringHandler handler) { _Logger.LogDebug(handler); } public static void Debug(string str) { _Logger.LogDebug((object)str); } public static void Debug(object data) { _Logger.LogDebug((object)Format(data)); } public static void Error(BepInExErrorLogInterpolatedStringHandler handler) { _Logger.LogError(handler); } public static void Error(string str) { _Logger.LogError((object)str); } public static void Error(object data) { _Logger.LogError((object)Format(data)); } public static void Fatal(BepInExFatalLogInterpolatedStringHandler handler) { _Logger.LogFatal(handler); } public static void Fatal(string str) { _Logger.LogFatal((object)str); } public static void Fatal(object data) { _Logger.LogFatal((object)Format(data)); } public static void Warn(BepInExWarningLogInterpolatedStringHandler handler) { _Logger.LogWarning(handler); } public static void Warn(string str) { _Logger.LogWarning((object)str); } public static void Warn(object data) { _Logger.LogWarning((object)Format(data)); } [Conditional("DEBUG")] public static void DebugOnly(object data) { _Logger.LogDebug((object)Format(data)); } } [GeneratedCode("VersionInfoGenerator", "2.1.3+git35c0c2a-master")] [CompilerGenerated] internal static class VersionInfo { public const string RootNamespace = "SkipRundownReveal"; public const string Version = "1.1.0"; public const string VersionPrerelease = null; public const string VersionMetadata = null; public const string SemVer = "1.1.0"; public const string GitRevShort = null; public const string GitRevLong = null; public const string GitBranch = null; public const string GitTag = null; public const int GitCommitsSinceTag = 0; public const bool GitIsDirty = false; } } namespace SkipRundownReveal.Patches { [HarmonyPatch] internal class CancelRundownTreeReveal { [HarmonyPatch(typeof(CM_PageRundown_New), "PlaceRundown")] [HarmonyPrefix] public static void PlaceRundown_Prefix(CM_PageRundown_New __instance, RundownDataBlock data) { __instance.m_revealedRundowns.AddIfNotPresent(((GameDataBlockBase)(object)data).name); } } [HarmonyPatch] internal class CancelSelectorReveal { [CompilerGenerated] private sealed class d__2 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__2(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Expected O, but got Unknown switch (<>1__state) { default: return false; case 0: <>1__state = -1; <>2__current = (object)new WaitForSeconds(5f); <>1__state = 1; return true; case 1: <>1__state = -1; Object.Destroy((Object)(object)cachedDummyObj); cachedDummyObj = null; 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 static GameObject cachedDummyObj; [HarmonyPatch(typeof(CM_PageRundown_New), "TryPlaceRundown")] [HarmonyPrefix] public static void TryPlaceRundown_Prefix(CM_PageRundown_New __instance) { //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Expected O, but got Unknown Il2CppStructArray activeRundownIds = Global.ActiveRundownIds; if (((Il2CppArrayBase)(object)activeRundownIds).Length == 1 || __instance.m_selectionIsRevealed) { return; } __instance.m_selectionIsRevealed = true; for (int i = 0; i < ((Il2CppArrayBase)(object)activeRundownIds).Length; i++) { if (i < __instance.m_rundownSelections.Count) { __instance.UpdateRundownSelectionButton(__instance.m_rundownSelections[i], ((Il2CppArrayBase)(object)activeRundownIds)[i]); } } __instance.ResetRundownSelection(); ((RectTransformComp)__instance.m_buttonVanityItemDrops).SetVisible(false); cachedDummyObj = new GameObject(); __instance.BlinkIn(cachedDummyObj); CoroutineDispatcher.StartCoroutine(DeleteCacheOnDelay()); } [IteratorStateMachine(typeof(d__2))] public static IEnumerator DeleteCacheOnDelay() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__2(0); } } [HarmonyPatch] internal class CancelSingleRundownConnectButtonReveal { [HarmonyPatch(typeof(CM_PageRundown_New), "_Setup_b__102_0")] [HarmonyPrefix] public static bool ConnectButtonClickPrefix(CM_PageRundown_New __instance) { __instance.m_rundownIntroIsDone = true; __instance.SetRundownFullyRevealed(); return false; } } [HarmonyPatch] internal class FixSetActiveExpedition { [HarmonyPatch(typeof(RundownManager), "SetActiveExpedition")] [HarmonyPrefix] public static void FixRundownPagePreSetExpedition(pActiveExpedition expPackage, ExpeditionInTierData expTierData, bool forceUpdate) { //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Expected O, but got Unknown if (!((Object)(object)GuiManager.MainMenuLayer.PageRundownNew.m_rundownIntelButton == (Object)null)) { return; } if (!uint.TryParse(expPackage.rundownKey.data.Substring("Local_".Length), out var result)) { bool flag = default(bool); BepInExErrorLogInterpolatedStringHandler val = new BepInExErrorLogInterpolatedStringHandler(31, 1, ref flag); if (flag) { ((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Unable to fix rundown from key "); ((BepInExLogInterpolatedStringHandler)val).AppendFormatted(expPackage.rundownKey.data); } Logger.Error(val); } else { GuiManager.MainMenuLayer.PageRundownNew.PlaceRundown(GameDataBlockBase.GetBlock(result)); } } } }