using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text.RegularExpressions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using IL.RoR2;
using IL.RoR2.UI;
using LogMute.Patches;
using Microsoft.CodeAnalysis;
using Mono.Cecil.Cil;
using MonoMod.Cil;
using MonoMod.RuntimeDetour;
using RiskOfOptions;
using RiskOfOptions.OptionConfigs;
using RiskOfOptions.Options;
using RoR2;
using UnityEngine;
using UnityEngine.Networking;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("LogMute")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+d499e3e7f47576ef7dda072463273a315406e375")]
[assembly: AssemblyProduct("LogMute")]
[assembly: AssemblyTitle("LogMute")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
[module: UnverifiableCode]
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 LogMute
{
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("_score.LogMute", "LogMute", "1.0.4")]
public class LogMutePlugin : BaseUnityPlugin
{
public const string PluginGUID = "_score.LogMute";
public const string PluginAuthor = "score";
public const string PluginName = "LogMute";
public const string PluginVersion = "1.0.4";
public static bool RooInstalled => Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions");
public static LogMutePlugin Instance { get; private set; }
public void Awake()
{
Instance = this;
PluginConfig.Init();
MuteHarmonyPatches.Init();
if (PluginConfig.muteVanilla.Value)
{
VanillaPatches.Init();
}
}
}
internal static class PluginConfig
{
public static ConfigFile myConfig;
public static ConfigEntry<bool> muteVanilla;
public static ConfigEntry<string> exactMatch;
public static ConfigEntry<string> prefixMatch;
public static ConfigEntry<string> infixMatch;
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
public static void Init()
{
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
//IL_001a: Expected O, but got Unknown
myConfig = new ConfigFile(Path.Combine(Paths.ConfigPath, "_score.LogMute.cfg"), true);
if (LogMutePlugin.RooInstalled)
{
InitRoO();
}
muteVanilla = BindOption("General", "Mute Vanilla Logs", defaultValue: true, "Mutes a handful of the more annoying and spammy logs present in vanilla.", restartRequired: true);
exactMatch = BindOption("General", "Exact Matches to Filter", "Teambuff", "List of exact matches to filter, separated by comma. accepts regex patterns.");
prefixMatch = BindOption("General", "Prefix Matches to Filter", string.Empty, "List of prefix matches to filter, separated by comma. accepts regex patterns.");
infixMatch = BindOption("General", "Infix Matches to Filter", string.Empty, "List of infix matches to filter, separated by comma. accepts regex patterns.");
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
public static ConfigEntry<T> BindOption<T>(string section, string name, T defaultValue, string description = "", bool restartRequired = false)
{
if (string.IsNullOrEmpty(description))
{
description = name;
}
if (restartRequired)
{
description += " (restart required)";
}
ConfigEntry<T> val = myConfig.Bind<T>(section, name, defaultValue, description);
if (LogMutePlugin.RooInstalled)
{
TryRegisterOption<T>(val, restartRequired);
}
return val;
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
public static ConfigEntry<T> BindOptionSlider<T>(string section, string name, T defaultValue, string description = "", float min = 0f, float max = 20f, bool restartRequired = false)
{
if (string.IsNullOrEmpty(description))
{
description = name;
}
string text = description;
T val = defaultValue;
description = text + " (Default: " + val?.ToString() + ")";
if (restartRequired)
{
description += " (restart required)";
}
ConfigEntry<T> val2 = myConfig.Bind<T>(section, name, defaultValue, description);
if (LogMutePlugin.RooInstalled)
{
TryRegisterOptionSlider<T>(val2, min, max, restartRequired);
}
return val2;
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
public static void InitRoO()
{
ModSettingsManager.SetModDescription("Mutes annoying logs.");
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
public static void TryRegisterOption<T>(ConfigEntry<T> entry, bool restartRequired)
{
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_0016: Expected O, but got Unknown
//IL_0022: Unknown result type (might be due to invalid IL or missing references)
//IL_0027: 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_003d: Unknown result type (might be due to invalid IL or missing references)
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_0054: Expected O, but got Unknown
//IL_004f: Unknown result type (might be due to invalid IL or missing references)
//IL_0059: Expected O, but got Unknown
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_0070: Expected O, but got Unknown
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
//IL_0087: Expected O, but got Unknown
//IL_0097: Unknown result type (might be due to invalid IL or missing references)
//IL_00a1: Expected O, but got Unknown
//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
//IL_00bf: Expected O, but got Unknown
if (entry is ConfigEntry<string> val)
{
ModSettingsManager.AddOption((BaseOption)new StringInputFieldOption(val, restartRequired));
}
else if (entry is ConfigEntry<float> val2)
{
ModSettingsManager.AddOption((BaseOption)new SliderOption(val2, new SliderConfig
{
min = 0f,
max = 20f,
FormatString = "{0:0.00}",
restartRequired = restartRequired
}));
}
else if (entry is ConfigEntry<int> val3)
{
ModSettingsManager.AddOption((BaseOption)new IntSliderOption(val3, restartRequired));
}
else if (entry is ConfigEntry<bool> val4)
{
ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(val4, restartRequired));
}
else if (entry is ConfigEntry<KeyboardShortcut> val5)
{
ModSettingsManager.AddOption((BaseOption)new KeyBindOption(val5, restartRequired));
}
else if (typeof(T).IsEnum)
{
ModSettingsManager.AddOption((BaseOption)new ChoiceOption((ConfigEntryBase)(object)entry, restartRequired));
}
}
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
public static void TryRegisterOptionSlider<T>(ConfigEntry<T> entry, float min, float max, bool restartRequired)
{
//IL_000b: 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_0018: Unknown result type (might be due to invalid IL or missing references)
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_002b: Unknown result type (might be due to invalid IL or missing references)
//IL_0037: Expected O, but got Unknown
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
//IL_003c: Expected O, but got Unknown
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_004d: 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_005b: Unknown result type (might be due to invalid IL or missing references)
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Expected O, but got Unknown
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0077: Expected O, but got Unknown
if (entry is ConfigEntry<int> val)
{
ModSettingsManager.AddOption((BaseOption)new IntSliderOption(val, new IntSliderConfig
{
min = (int)min,
max = (int)max,
formatString = "{0:0.00}",
restartRequired = restartRequired
}));
}
else if (entry is ConfigEntry<float> val2)
{
ModSettingsManager.AddOption((BaseOption)new SliderOption(val2, new SliderConfig
{
min = min,
max = max,
FormatString = "{0:0.00}",
restartRequired = restartRequired
}));
}
}
}
}
namespace LogMute.Patches
{
public static class MuteHarmonyPatches
{
public static List<Regex> LogMuteCustom { get; set; }
public static bool RegexExclude(object content)
{
return !LogMuteCustom.Any((Regex x) => x.IsMatch(content?.ToString() ?? "Null"));
}
public static void Init()
{
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
//IL_0046: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
PluginConfig.myConfig.SettingChanged += ConfigReloaded;
ConfigReloaded(null, null);
Harmony val = new Harmony("_score.LogMute");
val.PatchAll(typeof(ScaryClassVanilla));
val.PatchAll(typeof(ScaryClassVanillaFormat));
val.PatchAll(typeof(ScaryClassVanillaException));
val.PatchAll(typeof(ScaryClassModded));
}
private static void ConfigReloaded(object _, EventArgs __)
{
List<Regex> list = new List<Regex>();
list.AddRange(from x in CustomSplit(PluginConfig.exactMatch.Value)
select new Regex("^\\s*" + x.Trim() + "\\s*$"));
list.AddRange(from x in CustomSplit(PluginConfig.prefixMatch.Value)
select new Regex("^\\s*" + x.Trim()));
list.AddRange(from x in CustomSplit(PluginConfig.infixMatch.Value)
select new Regex(x.Trim()));
LogMuteCustom = list;
}
private static IEnumerable<string> CustomSplit(string str)
{
List<string> list = new List<string>();
string text = string.Empty;
for (int i = 0; i < str.Length; i++)
{
if (str[i] == ',')
{
list.Add(text);
text = "";
}
else if (i + 1 < str.Length && str[i] == '\\' && str[i + 1] == ',')
{
text += ",";
i++;
}
else if (i + 1 < str.Length && str[i] == '\\' && str[i + 1] == '\\')
{
text += "\\\\";
i++;
}
else
{
text += str[i];
}
}
list.Add(text);
return list.Where((string x) => !string.IsNullOrWhiteSpace(x));
}
}
[HarmonyPatch]
public class ScaryClassVanilla
{
public static bool Prefix(ref object message)
{
return MuteHarmonyPatches.RegexExclude(message);
}
public static IEnumerable<MethodBase> TargetMethods()
{
return new <>z__ReadOnlyArray<MethodBase>(new MethodBase[6]
{
typeof(Debug).GetMethod("Log", new Type[1] { typeof(object) }),
typeof(Debug).GetMethod("Log", new Type[2]
{
typeof(object),
typeof(Object)
}),
typeof(Debug).GetMethod("LogError", new Type[1] { typeof(object) }),
typeof(Debug).GetMethod("LogError", new Type[2]
{
typeof(object),
typeof(Object)
}),
typeof(Debug).GetMethod("LogWarning", new Type[1] { typeof(object) }),
typeof(Debug).GetMethod("LogWarning", new Type[2]
{
typeof(object),
typeof(Object)
})
});
}
}
[HarmonyPatch]
public class ScaryClassVanillaFormat
{
public static bool Prefix(ref object format)
{
return MuteHarmonyPatches.RegexExclude(format);
}
public static IEnumerable<MethodBase> TargetMethods()
{
return new <>z__ReadOnlyArray<MethodBase>(new MethodBase[6]
{
typeof(Debug).GetMethod("LogFormat", new Type[2]
{
typeof(string),
typeof(object[])
}),
typeof(Debug).GetMethod("LogFormat", new Type[3]
{
typeof(Object),
typeof(string),
typeof(object[])
}),
typeof(Debug).GetMethod("LogErrorFormat", new Type[2]
{
typeof(string),
typeof(object[])
}),
typeof(Debug).GetMethod("LogErrorFormat", new Type[3]
{
typeof(Object),
typeof(string),
typeof(object[])
}),
typeof(Debug).GetMethod("LogWarningFormat", new Type[2]
{
typeof(string),
typeof(object[])
}),
typeof(Debug).GetMethod("LogWarningFormat", new Type[3]
{
typeof(Object),
typeof(string),
typeof(object[])
})
});
}
}
[HarmonyPatch]
public class ScaryClassVanillaException
{
public static bool Prefix(ref Exception exception)
{
return MuteHarmonyPatches.RegexExclude(exception);
}
public static IEnumerable<MethodBase> TargetMethods()
{
return new <>z__ReadOnlyArray<MethodBase>(new MethodBase[2]
{
typeof(Debug).GetMethod("LogException", new Type[1] { typeof(Exception) }),
typeof(Debug).GetMethod("LogException", new Type[2]
{
typeof(Exception),
typeof(Object)
})
});
}
}
[HarmonyPatch]
public class ScaryClassModded
{
public static bool Prefix(ref object data)
{
return MuteHarmonyPatches.RegexExclude(data);
}
public static MethodBase TargetMethod()
{
return typeof(ManualLogSource).GetMethod("Log", new Type[2]
{
typeof(LogLevel),
typeof(object)
});
}
}
public static class VanillaPatches
{
[CompilerGenerated]
private static class <>O
{
public static Manipulator <0>__EffectComponent_Start;
public static Manipulator <1>__EffectManagerHelper_Reset;
public static Manipulator <2>__EffectManagerHelper_StopAllParticleSystems;
public static Manipulator <3>__Tracer_PrepForPoolUsage;
public static Manipulator <4>__EffectManager_SpawnEffect_GameObject_EffectData_bool;
public static Manipulator <5>__InputSourceFilter_Refresh;
public static Manipulator <6>__MapZone_TryZoneStart;
public static Manipulator <7>__EffectManager_ClearAllPools;
public static Manipulator <8>__EffectManager_KillAllPools;
public static Manipulator <9>__NetworkScene_RegisterPrefab;
public static Manipulator <10>__NetworkScene_RegisterPrefab2;
public static Manipulator <11>__NetworkScene_RegisterSpawnHandler;
public static Manipulator <12>__Transform_setParent;
public static Manipulator <13>__Def_setIndex;
}
private static void RemoveLogFormat(this ILCursor c, string logName)
{
c.RemoveLog(logName, 2);
}
private static void RemoveLog(this ILCursor c, string logName, int count = 1)
{
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
if (c.TryGotoNext(new Func<Instruction, bool>[1]
{
(Instruction x) => ILPatternMatchingExt.MatchCallOrCallvirt<Debug>(x, logName)
}))
{
for (int i = 0; i < count; i++)
{
c.Emit(OpCodes.Pop);
}
c.Remove();
}
}
public static void Init()
{
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
//IL_001b: Expected O, but got Unknown
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003b: Expected O, but got Unknown
//IL_0050: Unknown result type (might be due to invalid IL or missing references)
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
//IL_005b: Expected O, but got Unknown
//IL_0070: 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_007b: Expected O, but got Unknown
//IL_0090: Unknown result type (might be due to invalid IL or missing references)
//IL_0095: Unknown result type (might be due to invalid IL or missing references)
//IL_009b: Expected O, but got Unknown
//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
//IL_00bb: Expected O, but got Unknown
//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
//IL_00db: Expected O, but got Unknown
//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
//IL_00fb: Expected O, but got Unknown
//IL_0110: Unknown result type (might be due to invalid IL or missing references)
//IL_0115: Unknown result type (might be due to invalid IL or missing references)
//IL_011b: Expected O, but got Unknown
//IL_0163: 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_015d: Unknown result type (might be due to invalid IL or missing references)
//IL_0163: Expected O, but got Unknown
//IL_01b9: 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_01b3: Unknown result type (might be due to invalid IL or missing references)
//IL_01b9: Expected O, but got Unknown
//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
//IL_01e5: Unknown result type (might be due to invalid IL or missing references)
//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
//IL_01f0: Expected O, but got Unknown
//IL_0225: Unknown result type (might be due to invalid IL or missing references)
//IL_021a: Unknown result type (might be due to invalid IL or missing references)
//IL_021f: Unknown result type (might be due to invalid IL or missing references)
//IL_0225: Expected O, but got Unknown
//IL_025a: Unknown result type (might be due to invalid IL or missing references)
//IL_024f: Unknown result type (might be due to invalid IL or missing references)
//IL_0254: Unknown result type (might be due to invalid IL or missing references)
//IL_025a: Expected O, but got Unknown
//IL_028f: Unknown result type (might be due to invalid IL or missing references)
//IL_0284: Unknown result type (might be due to invalid IL or missing references)
//IL_0289: Unknown result type (might be due to invalid IL or missing references)
//IL_028f: Expected O, but got Unknown
//IL_02c4: 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)
//IL_02be: Unknown result type (might be due to invalid IL or missing references)
//IL_02c4: Expected O, but got Unknown
object obj = <>O.<0>__EffectComponent_Start;
if (obj == null)
{
Manipulator val = EffectComponent_Start;
<>O.<0>__EffectComponent_Start = val;
obj = (object)val;
}
EffectComponent.Start += (Manipulator)obj;
object obj2 = <>O.<1>__EffectManagerHelper_Reset;
if (obj2 == null)
{
Manipulator val2 = EffectManagerHelper_Reset;
<>O.<1>__EffectManagerHelper_Reset = val2;
obj2 = (object)val2;
}
EffectManagerHelper.Reset += (Manipulator)obj2;
object obj3 = <>O.<2>__EffectManagerHelper_StopAllParticleSystems;
if (obj3 == null)
{
Manipulator val3 = EffectManagerHelper_StopAllParticleSystems;
<>O.<2>__EffectManagerHelper_StopAllParticleSystems = val3;
obj3 = (object)val3;
}
EffectManagerHelper.StopAllParticleSystems += (Manipulator)obj3;
object obj4 = <>O.<3>__Tracer_PrepForPoolUsage;
if (obj4 == null)
{
Manipulator val4 = Tracer_PrepForPoolUsage;
<>O.<3>__Tracer_PrepForPoolUsage = val4;
obj4 = (object)val4;
}
Tracer.PrepForPoolUsage += (Manipulator)obj4;
object obj5 = <>O.<4>__EffectManager_SpawnEffect_GameObject_EffectData_bool;
if (obj5 == null)
{
Manipulator val5 = EffectManager_SpawnEffect_GameObject_EffectData_bool;
<>O.<4>__EffectManager_SpawnEffect_GameObject_EffectData_bool = val5;
obj5 = (object)val5;
}
EffectManager.SpawnEffect_GameObject_EffectData_bool += (Manipulator)obj5;
object obj6 = <>O.<5>__InputSourceFilter_Refresh;
if (obj6 == null)
{
Manipulator val6 = InputSourceFilter_Refresh;
<>O.<5>__InputSourceFilter_Refresh = val6;
obj6 = (object)val6;
}
InputSourceFilter.Refresh += (Manipulator)obj6;
object obj7 = <>O.<6>__MapZone_TryZoneStart;
if (obj7 == null)
{
Manipulator val7 = MapZone_TryZoneStart;
<>O.<6>__MapZone_TryZoneStart = val7;
obj7 = (object)val7;
}
MapZone.TryZoneStart += (Manipulator)obj7;
object obj8 = <>O.<7>__EffectManager_ClearAllPools;
if (obj8 == null)
{
Manipulator val8 = EffectManager_ClearAllPools;
<>O.<7>__EffectManager_ClearAllPools = val8;
obj8 = (object)val8;
}
EffectManager.ClearAllPools += (Manipulator)obj8;
object obj9 = <>O.<8>__EffectManager_KillAllPools;
if (obj9 == null)
{
Manipulator val9 = EffectManager_KillAllPools;
<>O.<8>__EffectManager_KillAllPools = val9;
obj9 = (object)val9;
}
EffectManager.KillAllPools += (Manipulator)obj9;
MethodInfo methodInfo = AccessTools.DeclaredMethod(typeof(NetworkScene), "RegisterPrefab", new Type[1] { typeof(GameObject) }, (Type[])null);
object obj10 = <>O.<9>__NetworkScene_RegisterPrefab;
if (obj10 == null)
{
Manipulator val10 = NetworkScene_RegisterPrefab;
<>O.<9>__NetworkScene_RegisterPrefab = val10;
obj10 = (object)val10;
}
new ILHook((MethodBase)methodInfo, (Manipulator)obj10);
MethodInfo methodInfo2 = AccessTools.DeclaredMethod(typeof(NetworkScene), "RegisterPrefab", new Type[2]
{
typeof(GameObject),
typeof(NetworkHash128)
}, (Type[])null);
object obj11 = <>O.<10>__NetworkScene_RegisterPrefab2;
if (obj11 == null)
{
Manipulator val11 = NetworkScene_RegisterPrefab2;
<>O.<10>__NetworkScene_RegisterPrefab2 = val11;
obj11 = (object)val11;
}
new ILHook((MethodBase)methodInfo2, (Manipulator)obj11);
MethodInfo methodInfo3 = AccessTools.DeclaredMethod(typeof(NetworkScene), "RegisterSpawnHandler", (Type[])null, (Type[])null);
object obj12 = <>O.<11>__NetworkScene_RegisterSpawnHandler;
if (obj12 == null)
{
Manipulator val12 = NetworkScene_RegisterSpawnHandler;
<>O.<11>__NetworkScene_RegisterSpawnHandler = val12;
obj12 = (object)val12;
}
new ILHook((MethodBase)methodInfo3, (Manipulator)obj12);
MethodInfo methodInfo4 = AccessTools.DeclaredPropertySetter(typeof(Transform), "parent");
object obj13 = <>O.<12>__Transform_setParent;
if (obj13 == null)
{
Manipulator val13 = Transform_setParent;
<>O.<12>__Transform_setParent = val13;
obj13 = (object)val13;
}
new ILHook((MethodBase)methodInfo4, (Manipulator)obj13);
MethodInfo methodInfo5 = AccessTools.DeclaredPropertyGetter(typeof(ItemDef), "itemIndex");
object obj14 = <>O.<13>__Def_setIndex;
if (obj14 == null)
{
Manipulator val14 = Def_setIndex;
<>O.<13>__Def_setIndex = val14;
obj14 = (object)val14;
}
new ILHook((MethodBase)methodInfo5, (Manipulator)obj14);
MethodInfo methodInfo6 = AccessTools.DeclaredPropertyGetter(typeof(ItemTierDef), "tier");
object obj15 = <>O.<13>__Def_setIndex;
if (obj15 == null)
{
Manipulator val15 = Def_setIndex;
<>O.<13>__Def_setIndex = val15;
obj15 = (object)val15;
}
new ILHook((MethodBase)methodInfo6, (Manipulator)obj15);
MethodInfo methodInfo7 = AccessTools.DeclaredPropertyGetter(typeof(EquipmentDef), "equipmentIndex");
object obj16 = <>O.<13>__Def_setIndex;
if (obj16 == null)
{
Manipulator val16 = Def_setIndex;
<>O.<13>__Def_setIndex = val16;
obj16 = (object)val16;
}
new ILHook((MethodBase)methodInfo7, (Manipulator)obj16);
}
private static void EffectManager_KillAllPools(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0011: Expected O, but got Unknown
RemoveLog(new ILCursor(il), "LogWarning");
}
private static void NetworkScene_RegisterPrefab(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Expected O, but got Unknown
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001e: Expected O, but got Unknown
//IL_0029: Expected O, but got Unknown
ILCursor val = new ILCursor(il);
RemoveLog(val, "Log");
RemoveLog(val, "LogWarning");
RemoveLog(val, "LogError");
}
private static void NetworkScene_RegisterPrefab2(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Expected O, but got Unknown
//IL_001d: Expected O, but got Unknown
ILCursor val = new ILCursor(il);
RemoveLog(val, "Log");
RemoveLog(val, "LogError");
}
private static void NetworkScene_RegisterSpawnHandler(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Expected O, but got Unknown
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_001e: Expected O, but got Unknown
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
//IL_002a: Expected O, but got Unknown
//IL_0035: Expected O, but got Unknown
ILCursor val = new ILCursor(il);
RemoveLog(val, "LogError");
RemoveLog(val, "LogError");
RemoveLog(val, "LogError");
RemoveLog(val, "Log");
}
private static void Def_setIndex(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Expected O, but got Unknown
//IL_001d: Expected O, but got Unknown
ILCursor val = new ILCursor(il);
RemoveLog(val, "LogError");
RemoveLog(val, "LogError");
}
private static void Tracer_PrepForPoolUsage(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0011: Expected O, but got Unknown
//IL_001b: Expected O, but got Unknown
ILCursor val = new ILCursor(il);
RemoveLogFormat(val, "LogFormat");
RemoveLogFormat(val, "LogFormat");
}
private static void EffectManager_SpawnEffect_GameObject_EffectData_bool(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0006: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Expected O, but got Unknown
//IL_001d: Expected O, but got Unknown
ILCursor val = new ILCursor(il);
RemoveLog(val, "LogError");
RemoveLog(val, "LogError");
}
private static void EffectManager_ClearAllPools(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0011: Expected O, but got Unknown
RemoveLog(new ILCursor(il), "LogWarning");
}
private static void MapZone_TryZoneStart(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Expected O, but got Unknown
RemoveLogFormat(new ILCursor(il), "LogFormat");
}
private static void Transform_setParent(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Expected O, but got Unknown
RemoveLogFormat(new ILCursor(il), "LogWarning");
}
private static void InputSourceFilter_Refresh(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Expected O, but got Unknown
RemoveLogFormat(new ILCursor(il), "LogWarningFormat");
}
private static void EffectManagerHelper_StopAllParticleSystems(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Expected O, but got Unknown
RemoveLogFormat(new ILCursor(il), "LogFormat");
}
private static void EffectManagerHelper_Reset(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0010: Expected O, but got Unknown
RemoveLogFormat(new ILCursor(il), "LogFormat");
}
private static void EffectComponent_Start(ILContext il)
{
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
//IL_0011: Expected O, but got Unknown
RemoveLog(new ILCursor(il), "LogErrorFormat", 3);
}
}
}
internal sealed class <>z__ReadOnlyArray<T> : IEnumerable, ICollection, IList, IEnumerable<T>, IReadOnlyCollection<T>, IReadOnlyList<T>, ICollection<T>, IList<T>
{
int ICollection.Count => _items.Length;
bool ICollection.IsSynchronized => false;
object ICollection.SyncRoot => this;
object IList.this[int index]
{
get
{
return _items[index];
}
set
{
throw new NotSupportedException();
}
}
bool IList.IsFixedSize => true;
bool IList.IsReadOnly => true;
int IReadOnlyCollection<T>.Count => _items.Length;
T IReadOnlyList<T>.this[int index] => _items[index];
int ICollection<T>.Count => _items.Length;
bool ICollection<T>.IsReadOnly => true;
T IList<T>.this[int index]
{
get
{
return _items[index];
}
set
{
throw new NotSupportedException();
}
}
public <>z__ReadOnlyArray(T[] items)
{
_items = items;
}
IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable)_items).GetEnumerator();
}
void ICollection.CopyTo(Array array, int index)
{
((ICollection)_items).CopyTo(array, index);
}
int IList.Add(object value)
{
throw new NotSupportedException();
}
void IList.Clear()
{
throw new NotSupportedException();
}
bool IList.Contains(object value)
{
return ((IList)_items).Contains(value);
}
int IList.IndexOf(object value)
{
return ((IList)_items).IndexOf(value);
}
void IList.Insert(int index, object value)
{
throw new NotSupportedException();
}
void IList.Remove(object value)
{
throw new NotSupportedException();
}
void IList.RemoveAt(int index)
{
throw new NotSupportedException();
}
IEnumerator<T> IEnumerable<T>.GetEnumerator()
{
return ((IEnumerable<T>)_items).GetEnumerator();
}
void ICollection<T>.Add(T item)
{
throw new NotSupportedException();
}
void ICollection<T>.Clear()
{
throw new NotSupportedException();
}
bool ICollection<T>.Contains(T item)
{
return ((ICollection<T>)_items).Contains(item);
}
void ICollection<T>.CopyTo(T[] array, int arrayIndex)
{
((ICollection<T>)_items).CopyTo(array, arrayIndex);
}
bool ICollection<T>.Remove(T item)
{
throw new NotSupportedException();
}
int IList<T>.IndexOf(T item)
{
return ((IList<T>)_items).IndexOf(item);
}
void IList<T>.Insert(int index, T item)
{
throw new NotSupportedException();
}
void IList<T>.RemoveAt(int index)
{
throw new NotSupportedException();
}
}