326 lines
14 KiB
C#
326 lines
14 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Core.Quality
|
|
{
|
|
// Token: 0x0200286F RID: 10351
|
|
[Token(Token = "0x200286F")]
|
|
[StructLayout(3)]
|
|
public class ParticleQualityOverride : MonoBehaviour
|
|
{
|
|
// Token: 0x060121DA RID: 74202 RVA: 0x00452F60 File Offset: 0x00451160
|
|
[Token(Token = "0x60121DA")]
|
|
[Address(RVA = "0x19A9F70", Offset = "0x19A8970", VA = "0x1819A9F70")]
|
|
private void Start()
|
|
{
|
|
if (this.overrides.Length != 0)
|
|
{
|
|
ParticleSystem.MainModule main = this.particles.main;
|
|
ParticleSystem particleSystem = this.particles;
|
|
this.GLEAGKMBGME = main;
|
|
ParticleSystem.MainModule main2 = particleSystem.main;
|
|
ParticleSystem particleSystem2 = this.particles;
|
|
this.FLFBNCKBDJC = main2;
|
|
ParticleSystem.MainModule main3 = particleSystem2.main;
|
|
ParticleSystem particleSystem3 = this.particles;
|
|
this.OEPDBOOEPNE = main3;
|
|
ParticleSystem.MainModule main4 = particleSystem3.main;
|
|
this.DJFAOIPMKBD = main4;
|
|
bool flag;
|
|
this.HHMCJKLIPLL = flag;
|
|
int num;
|
|
this.GCHIJOPCKDP = num;
|
|
bool flag2;
|
|
this.JNNECDDMOMP = flag2;
|
|
bool flag3;
|
|
this.KGMEIEKCNOB = flag3;
|
|
INGEKFNNGDK qualitySetting = SingletonMonoBehaviour.Instance.KONLNCONKKJ;
|
|
SettingsManager instance = SingletonMonoBehaviour.Instance;
|
|
Action<INGEKFNNGDK> action = new Action(this.EHDNCHLIKMF);
|
|
instance.QualitySettingChanged += action;
|
|
return;
|
|
}
|
|
Debug.LogError("ParticleQualityOverride requires at least one specified override.");
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060121DB RID: 74203 RVA: 0x00453034 File Offset: 0x00451234
|
|
[Token(Token = "0x60121DB")]
|
|
[Address(RVA = "0x19A9E60", Offset = "0x19A8860", VA = "0x1819A9E60")]
|
|
private void OnDestroy()
|
|
{
|
|
SettingsManager instance = SingletonMonoBehaviour.Instance;
|
|
int num = 0;
|
|
if (instance != num)
|
|
{
|
|
SettingsManager instance2 = SingletonMonoBehaviour.Instance;
|
|
Action<INGEKFNNGDK> action = new Action(this.EHDNCHLIKMF);
|
|
instance2.QualitySettingChanged -= action;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060121DC RID: 74204 RVA: 0x00453074 File Offset: 0x00451274
|
|
[Token(Token = "0x60121DC")]
|
|
[Address(RVA = "0x19A95D0", Offset = "0x19A7FD0", VA = "0x1819A95D0")]
|
|
private void EHDNCHLIKMF(INGEKFNNGDK AOKDECDAEEG)
|
|
{
|
|
this.GFAHHBOFMHP(AOKDECDAEEG);
|
|
}
|
|
|
|
// Token: 0x060121DD RID: 74205 RVA: 0x00453088 File Offset: 0x00451288
|
|
[Token(Token = "0x60121DD")]
|
|
[Address(RVA = "0x19A95E0", Offset = "0x19A7FE0", VA = "0x1819A95E0")]
|
|
private void GFAHHBOFMHP(INGEKFNNGDK AOKDECDAEEG)
|
|
{
|
|
ParticleQualityOverride.OverrideSettings[] array = this.overrides;
|
|
int num = 0;
|
|
int num2 = 0;
|
|
int length = array.Length;
|
|
if (num2 < length)
|
|
{
|
|
if ("{il2cpp array field local2->}" != AOKDECDAEEG)
|
|
{
|
|
num++;
|
|
}
|
|
return;
|
|
}
|
|
throw new MissingMethodException();
|
|
}
|
|
|
|
// Token: 0x060121DE RID: 74206 RVA: 0x004530D4 File Offset: 0x004512D4
|
|
[Token(Token = "0x60121DE")]
|
|
[Address(RVA = "0x19A9830", Offset = "0x19A8230", VA = "0x1819A9830")]
|
|
private void HFLHNHENDBF(ParticleQualityOverride.OverrideSettings JBKLKKPKFNA)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060121DE)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RecRoom.Core.Quality.ParticleQualityOverride::HFLHNHENDBF(RecRoom.Core.Quality.ParticleQualityOverride/OverrideSettings)
|
|
|
|
---> System.ArgumentOutOfRangeException: length ('-1') must be a non-negative value. (Parameter 'length')
|
|
Actual value was -1.
|
|
at System.ArgumentOutOfRangeException.ThrowNegative[T](T value, String paramName)
|
|
at System.Array.CopyImpl(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
|
|
at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length)
|
|
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 327
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 117
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060121DF RID: 74207 RVA: 0x00453134 File Offset: 0x00451334
|
|
[Token(Token = "0x60121DF")]
|
|
[Address(RVA = "0x19A9CB0", Offset = "0x19A86B0", VA = "0x1819A9CB0")]
|
|
private void OMMJJIENPPJ()
|
|
{
|
|
float obocpjdpdhn = this.OBOCPJDPDHN;
|
|
throw new MissingMethodException();
|
|
}
|
|
|
|
// Token: 0x060121E0 RID: 74208 RVA: 0x0045316C File Offset: 0x0045136C
|
|
[Token(Token = "0x60121E0")]
|
|
[Address(RVA = "0x19A9430", Offset = "0x19A7E30", VA = "0x1819A9430")]
|
|
private void BCFOMAPJAAI()
|
|
{
|
|
ParticleSystem.MainModule main = this.particles.main;
|
|
ParticleSystem particleSystem = this.particles;
|
|
this.GLEAGKMBGME = main;
|
|
ParticleSystem.MainModule main2 = particleSystem.main;
|
|
ParticleSystem particleSystem2 = this.particles;
|
|
this.FLFBNCKBDJC = main2;
|
|
ParticleSystem.MainModule main3 = particleSystem2.main;
|
|
ParticleSystem particleSystem3 = this.particles;
|
|
this.OEPDBOOEPNE = main3;
|
|
ParticleSystem.MainModule main4 = particleSystem3.main;
|
|
this.DJFAOIPMKBD = main4;
|
|
bool flag;
|
|
this.HHMCJKLIPLL = flag;
|
|
int num;
|
|
this.GCHIJOPCKDP = num;
|
|
bool flag2;
|
|
this.JNNECDDMOMP = flag2;
|
|
bool flag3;
|
|
this.KGMEIEKCNOB = flag3;
|
|
}
|
|
|
|
// Token: 0x060121E1 RID: 74209 RVA: 0x004531FC File Offset: 0x004513FC
|
|
[Token(Token = "0x60121E1")]
|
|
[Address(RVA = "0x19A9BA0", Offset = "0x19A85A0", VA = "0x1819A9BA0")]
|
|
private void MLILCMAJKGH(ParticleSystem.MinMaxCurve CDAMNCBGBGI, out float NOGNELMAHCK, out float JDFENOCNKAD)
|
|
{
|
|
float num;
|
|
JDFENOCNKAD.m_value = num;
|
|
}
|
|
|
|
// Token: 0x060121E2 RID: 74210 RVA: 0x00453218 File Offset: 0x00451418
|
|
[Token(Token = "0x60121E2")]
|
|
[Address(RVA = "0x19A9A90", Offset = "0x19A8490", VA = "0x1819A9A90")]
|
|
private ParticleSystem.MinMaxCurve HMAGJKPLEJG(ParticleSystem.MinMaxCurve CDAMNCBGBGI, float NOGNELMAHCK, float JDFENOCNKAD)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060121E2)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.ParticleSystem/MinMaxCurve RecRoom.Core.Quality.ParticleQualityOverride::HMAGJKPLEJG(UnityEngine.ParticleSystem/MinMaxCurve,System.Single,System.Single)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{
|
|
Block_0:
|
|
stfld:native int(Object::m_CachedPtr, ldloc:ParticleQualityOverride[exp:Object](this), ldloc:float32[exp:native int](JDFENOCNKAD))
|
|
stloc:ArgumentException(var_0_17, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("Unsupported animation curve mode: "), ldloc:ParticleQualityOverride[exp:object](this))))
|
|
}
|
|
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060121E3 RID: 74211 RVA: 0x0045323C File Offset: 0x0045143C
|
|
[Token(Token = "0x60121E3")]
|
|
[Address(RVA = "0x3C1210", Offset = "0x3BFC10", VA = "0x1803C1210")]
|
|
public ParticleQualityOverride()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400C1CB RID: 49611
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400C1CB")]
|
|
[SerializeField]
|
|
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
|
|
private ParticleSystem particles;
|
|
|
|
// Token: 0x0400C1CC RID: 49612
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400C1CC")]
|
|
[SerializeField]
|
|
private ParticleQualityOverride.OverrideSettings[] overrides;
|
|
|
|
// Token: 0x0400C1CD RID: 49613
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400C1CD")]
|
|
private bool HHMCJKLIPLL;
|
|
|
|
// Token: 0x0400C1CE RID: 49614
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
|
|
[Token(Token = "0x400C1CE")]
|
|
private int GCHIJOPCKDP;
|
|
|
|
// Token: 0x0400C1CF RID: 49615
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400C1CF")]
|
|
private bool JNNECDDMOMP;
|
|
|
|
// Token: 0x0400C1D0 RID: 49616
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x31")]
|
|
[Token(Token = "0x400C1D0")]
|
|
private bool KGMEIEKCNOB;
|
|
|
|
// Token: 0x0400C1D1 RID: 49617
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
|
|
[Token(Token = "0x400C1D1")]
|
|
private float EJLENFPBDKM;
|
|
|
|
// Token: 0x0400C1D2 RID: 49618
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x400C1D2")]
|
|
private float OBOCPJDPDHN;
|
|
|
|
// Token: 0x0400C1D3 RID: 49619
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
|
|
[Token(Token = "0x400C1D3")]
|
|
private float OGOFCNPICAG;
|
|
|
|
// Token: 0x0400C1D4 RID: 49620
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x400C1D4")]
|
|
private float JJPPMMLJCHP;
|
|
|
|
// Token: 0x0400C1D5 RID: 49621
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
|
|
[Token(Token = "0x400C1D5")]
|
|
private float APEPOELCKBG;
|
|
|
|
// Token: 0x0400C1D6 RID: 49622
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400C1D6")]
|
|
private float PHPEGDELENI;
|
|
|
|
// Token: 0x0400C1D7 RID: 49623
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400C1D7")]
|
|
private ParticleSystem.MainModule GLEAGKMBGME;
|
|
|
|
// Token: 0x0400C1D8 RID: 49624
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x400C1D8")]
|
|
private ParticleSystem.TrailModule FLFBNCKBDJC;
|
|
|
|
// Token: 0x0400C1D9 RID: 49625
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400C1D9")]
|
|
private ParticleSystem.EmissionModule OEPDBOOEPNE;
|
|
|
|
// Token: 0x0400C1DA RID: 49626
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400C1DA")]
|
|
private ParticleSystem.CollisionModule DJFAOIPMKBD;
|
|
|
|
// Token: 0x02002870 RID: 10352
|
|
[Token(Token = "0x2002870")]
|
|
[Serializable]
|
|
public struct OverrideSettings
|
|
{
|
|
// Token: 0x0400C1DB RID: 49627
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
|
[Token(Token = "0x400C1DB")]
|
|
public INGEKFNNGDK quality;
|
|
|
|
// Token: 0x0400C1DC RID: 49628
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x4")]
|
|
[Token(Token = "0x400C1DC")]
|
|
public int maxParticles;
|
|
|
|
// Token: 0x0400C1DD RID: 49629
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x8")]
|
|
[Token(Token = "0x400C1DD")]
|
|
public bool enableTrails;
|
|
|
|
// Token: 0x0400C1DE RID: 49630
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x9")]
|
|
[Token(Token = "0x400C1DE")]
|
|
public bool enableCollisions;
|
|
|
|
// Token: 0x0400C1DF RID: 49631
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA")]
|
|
[Token(Token = "0x400C1DF")]
|
|
public bool overrideEmissionRate;
|
|
|
|
// Token: 0x0400C1E0 RID: 49632
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC")]
|
|
[Token(Token = "0x400C1E0")]
|
|
[Range(0f, 1f)]
|
|
public float emissionRateMultiplier;
|
|
|
|
// Token: 0x0400C1E1 RID: 49633
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400C1E1")]
|
|
public bool overrideLifetime;
|
|
|
|
// Token: 0x0400C1E2 RID: 49634
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x400C1E2")]
|
|
[Range(0f, 2f)]
|
|
public float lifetimeMultiplier;
|
|
}
|
|
}
|
|
}
|