This commit is contained in:
niko
2026-04-08 23:40:05 +02:00
parent d6894bcbc7
commit 18dc73f922
7750 changed files with 1795369 additions and 0 deletions
@@ -0,0 +1,139 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.Core.Platforms;
namespace RecRoom.Core.Quality
{
// Token: 0x02002868 RID: 10344
[Token(Token = "0x2002868")]
[StructLayout(3)]
public class DisableBasedOnQualitySetting : ActivationController<INGEKFNNGDK>
{
// Token: 0x060121B9 RID: 74169 RVA: 0x004527D0 File Offset: 0x004509D0
[Token(Token = "0x60121B9")]
[Address(RVA = "0x199F7B0", Offset = "0x199E1B0", VA = "0x18199F7B0")]
private void Awake()
{
this.OFFBIKPMOMB();
}
// Token: 0x060121BA RID: 74170 RVA: 0x004527E4 File Offset: 0x004509E4
[Token(Token = "0x60121BA")]
[Address(RVA = "0x199F830", Offset = "0x199E230", VA = "0x18199F830")]
private void OFFBIKPMOMB()
{
if (!this.MFBIIAEFGPM)
{
SettingsManager instance = SingletonMonoBehaviour.Instance;
int num = 0;
if (instance != num)
{
INGEKFNNGDK qualitySetting = SingletonMonoBehaviour.Instance.KONLNCONKKJ;
SettingsManager instance2 = SingletonMonoBehaviour.Instance;
Action<INGEKFNNGDK> action = new Action(this.EHDNCHLIKMF);
instance2.QualitySettingChanged += action;
this.MFBIIAEFGPM = true;
}
}
}
// Token: 0x060121BB RID: 74171 RVA: 0x00452840 File Offset: 0x00450A40
[Token(Token = "0x60121BB")]
[Address(RVA = "0x199FB00", Offset = "0x199E500", VA = "0x18199FB00")]
public void Update()
{
this.OFFBIKPMOMB();
if (this.MFBIIAEFGPM)
{
int num = 0;
base.enabled = num != 0;
return;
}
}
// Token: 0x060121BC RID: 74172 RVA: 0x00452868 File Offset: 0x00450A68
[Token(Token = "0x60121BC")]
[Address(RVA = "0x199F980", Offset = "0x199E380", VA = "0x18199F980")]
private void OnDestroy()
{
if (this.MFBIIAEFGPM)
{
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: 0x060121BD RID: 74173 RVA: 0x004528B0 File Offset: 0x00450AB0
[Token(Token = "0x60121BD")]
[Address(RVA = "0x199F810", Offset = "0x199E210", VA = "0x18199F810")]
private void EHDNCHLIKMF(INGEKFNNGDK AOKDECDAEEG)
{
bool isCompleted = ((IAsyncResult)this).IsCompleted;
}
// Token: 0x060121BE RID: 74174 RVA: 0x004528C4 File Offset: 0x00450AC4
[Token(Token = "0x60121BE")]
[Address(RVA = "0x199F7C0", Offset = "0x199E1C0", VA = "0x18199F7C0", Slot = "8")]
protected override bool COLFIMOHHCD(INGEKFNNGDK DGCEMAKGOHP)
{
INGEKFNNGDK[] removeForQualitySettings = this.RemoveForQualitySettings;
if (removeForQualitySettings != 0)
{
int length = removeForQualitySettings.Length;
int num = 0;
if (num < length && "{il2cpp array field local2->}" != DGCEMAKGOHP)
{
num++;
}
}
return true;
}
// Token: 0x060121BF RID: 74175 RVA: 0x004528FC File Offset: 0x00450AFC
[Token(Token = "0x60121BF")]
[Address(RVA = "0x13CA260", Offset = "0x13C8C60", VA = "0x1813CA260", Slot = "9")]
protected override void DAPIKKDJBPA(bool PDJFBCODDLO)
{
base.gameObject.SetActive(PDJFBCODDLO);
}
// Token: 0x060121C0 RID: 74176 RVA: 0x0045291C File Offset: 0x00450B1C
[Token(Token = "0x60121C0")]
[Address(RVA = "0x199FAA0", Offset = "0x199E4A0", VA = "0x18199FAA0", Slot = "4")]
public override bool OnSceneOrPrefabSave()
{
if (base.gameObject.activeSelf)
{
}
base.gameObject.SetActive(true);
return true;
}
// Token: 0x060121C1 RID: 74177 RVA: 0x0045294C File Offset: 0x00450B4C
[Token(Token = "0x60121C1")]
[Address(RVA = "0x199FB30", Offset = "0x199E530", VA = "0x18199FB30")]
public DisableBasedOnQualitySetting()
{
INGEKFNNGDK[] array = new INGEKFNNGDK[1];
this.RemoveForQualitySettings = array;
base..ctor();
}
// Token: 0x0400C1B8 RID: 49592
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400C1B8")]
public INGEKFNNGDK[] RemoveForQualitySettings;
// Token: 0x0400C1B9 RID: 49593
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400C1B9")]
private bool MFBIIAEFGPM;
}
}
@@ -0,0 +1,155 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.Core.Platforms;
using UnityEngine;
namespace RecRoom.Core.Quality
{
// Token: 0x02002869 RID: 10345
[Token(Token = "0x2002869")]
[StructLayout(3)]
public class DisableMeshShadowsForQualitySetting : ActivationController<INGEKFNNGDK>
{
// Token: 0x060121C2 RID: 74178 RVA: 0x00452970 File Offset: 0x00450B70
[Token(Token = "0x60121C2")]
[Address(RVA = "0x199FB80", Offset = "0x199E580", VA = "0x18199FB80")]
private void Awake()
{
this.OFFBIKPMOMB();
}
// Token: 0x060121C3 RID: 74179 RVA: 0x00452984 File Offset: 0x00450B84
[Token(Token = "0x60121C3")]
[Address(RVA = "0x199FC00", Offset = "0x199E600", VA = "0x18199FC00")]
private void OFFBIKPMOMB()
{
if (!this.MFBIIAEFGPM)
{
SettingsManager instance = SingletonMonoBehaviour.Instance;
int num = 0;
if (instance != num)
{
INGEKFNNGDK qualitySetting = SingletonMonoBehaviour.Instance.KONLNCONKKJ;
SettingsManager instance2 = SingletonMonoBehaviour.Instance;
Action<INGEKFNNGDK> action = new Action(this.EHDNCHLIKMF);
instance2.QualitySettingChanged += action;
this.MFBIIAEFGPM = true;
}
}
}
// Token: 0x060121C4 RID: 74180 RVA: 0x004529E0 File Offset: 0x00450BE0
[Token(Token = "0x60121C4")]
[Address(RVA = "0x199FE70", Offset = "0x199E870", VA = "0x18199FE70")]
public void Update()
{
this.OFFBIKPMOMB();
if (this.MFBIIAEFGPM)
{
int num = 0;
base.enabled = num != 0;
return;
}
}
// Token: 0x060121C5 RID: 74181 RVA: 0x00452A08 File Offset: 0x00450C08
[Token(Token = "0x60121C5")]
[Address(RVA = "0x199FD50", Offset = "0x199E750", VA = "0x18199FD50")]
private void OnDestroy()
{
if (this.MFBIIAEFGPM)
{
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: 0x060121C6 RID: 74182 RVA: 0x00452A50 File Offset: 0x00450C50
[Token(Token = "0x60121C6")]
[Address(RVA = "0x199F810", Offset = "0x199E210", VA = "0x18199F810")]
private void EHDNCHLIKMF(INGEKFNNGDK AOKDECDAEEG)
{
bool isCompleted = ((IAsyncResult)this).IsCompleted;
}
// Token: 0x060121C7 RID: 74183 RVA: 0x00452A64 File Offset: 0x00450C64
[Token(Token = "0x60121C7")]
[Address(RVA = "0x199F7C0", Offset = "0x199E1C0", VA = "0x18199F7C0", Slot = "8")]
protected override bool COLFIMOHHCD(INGEKFNNGDK DGCEMAKGOHP)
{
INGEKFNNGDK[] disableForQualitySettings = this.DisableForQualitySettings;
if (disableForQualitySettings != 0)
{
int length = disableForQualitySettings.Length;
int num = 0;
if (num < length && "{il2cpp array field local2->}" != DGCEMAKGOHP)
{
num++;
}
}
return true;
}
// Token: 0x060121C8 RID: 74184 RVA: 0x00452A9C File Offset: 0x00450C9C
[Token(Token = "0x60121C8")]
[Address(RVA = "0x199FB90", Offset = "0x199E590", VA = "0x18199FB90", Slot = "9")]
protected override void DAPIKKDJBPA(bool PDJFBCODDLO)
{
Renderer[] affectedRenderers = this.AffectedRenderers;
int num = 0;
int length = affectedRenderers.Length;
if (num < length)
{
Renderer renderer = affectedRenderers[num];
num++;
}
}
// Token: 0x060121C9 RID: 74185 RVA: 0x00452AD0 File Offset: 0x00450CD0
[Token(Token = "0x60121C9")]
[Address(RVA = "0x199FAA0", Offset = "0x199E4A0", VA = "0x18199FAA0", Slot = "4")]
public override bool OnSceneOrPrefabSave()
{
if (base.gameObject.activeSelf)
{
}
base.gameObject.SetActive(true);
return true;
}
// Token: 0x060121CA RID: 74186 RVA: 0x00452B00 File Offset: 0x00450D00
[Token(Token = "0x60121CA")]
[Address(RVA = "0x199FEA0", Offset = "0x199E8A0", VA = "0x18199FEA0")]
public DisableMeshShadowsForQualitySetting()
{
INGEKFNNGDK[] array = new INGEKFNNGDK[2];
array[0] = (INGEKFNNGDK)((ulong)7L);
this.DisableForQualitySettings = array;
base..ctor();
}
// Token: 0x0400C1BA RID: 49594
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400C1BA")]
[SerializeField]
private INGEKFNNGDK[] DisableForQualitySettings;
// Token: 0x0400C1BB RID: 49595
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400C1BB")]
[SerializeField]
private Renderer[] AffectedRenderers;
// Token: 0x0400C1BC RID: 49596
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400C1BC")]
private bool MFBIIAEFGPM;
}
}
@@ -0,0 +1,251 @@
using System;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Core.Quality
{
// Token: 0x0200286A RID: 10346
[Token(Token = "0x200286A")]
[StructLayout(3)]
public class DisableTargetBasedOnQualitySettingAndDistance : MonoBehaviour
{
// Token: 0x060121CB RID: 74187 RVA: 0x00452B34 File Offset: 0x00450D34
[Token(Token = "0x60121CB")]
[Address(RVA = "0x199FF20", Offset = "0x199E920", VA = "0x18199FF20")]
private void Awake()
{
GameObject gameObject = this.targetObject;
int num = 0;
if (gameObject == num)
{
Debug.LogError("targetObject is null");
int num2 = 0;
base.enabled = num2 != 0;
}
Transform transform = this.distanceComparePoint;
int num3 = 0;
if (transform == num3)
{
Debug.LogError("distanceComparePoint is null");
int num4 = 0;
base.enabled = num4 != 0;
}
}
// Token: 0x060121CC RID: 74188 RVA: 0x00452B94 File Offset: 0x00450D94
[Token(Token = "0x60121CC")]
[Address(RVA = "0x19A04E0", Offset = "0x199EEE0", VA = "0x1819A04E0")]
private void Start()
{
SettingsManager instance = SingletonMonoBehaviour.Instance;
Action<INGEKFNNGDK> action = new Action(this.EHDNCHLIKMF);
instance.QualitySettingChanged += action;
int qualitySetting = (int)SingletonMonoBehaviour.Instance.KONLNCONKKJ;
INGEKFNNGDK setting = (INGEKFNNGDK)qualitySetting;
DisableTargetBasedOnQualitySettingAndDistance.Condition[] array = this.conditions;
Func<DisableTargetBasedOnQualitySettingAndDistance.Condition, bool> func = delegate(DisableTargetBasedOnQualitySettingAndDistance.Condition m)
{
INGEKFNNGDK setting2 = setting;
return m.QualitySetting == setting2;
};
DisableTargetBasedOnQualitySettingAndDistance.Condition condition = Enumerable.FirstOrDefault<DisableTargetBasedOnQualitySettingAndDistance.Condition>(array, func);
this.PGMELOANEMN = condition;
if (condition == 0)
{
this.targetObject.SetActive(true);
}
this.MKBLJJGJAOH();
this.MKBLJJGJAOH();
float num = this.updateHz;
Action<float> action2 = new Action(this.GAJIJLPDHNI);
IDisposable disposable = ScheduledUpdateMonoBehaviourExtensions.UpdateAtRate(this, num, action2);
this.EEOKJKLIENC = disposable;
}
// Token: 0x060121CD RID: 74189 RVA: 0x00452C4C File Offset: 0x00450E4C
[Token(Token = "0x60121CD")]
[Address(RVA = "0x19A03D0", Offset = "0x199EDD0", VA = "0x1819A03D0")]
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: 0x060121CE RID: 74190 RVA: 0x00452C8C File Offset: 0x00450E8C
[Token(Token = "0x60121CE")]
[Address(RVA = "0x19A0030", Offset = "0x199EA30", VA = "0x1819A0030")]
private void EHDNCHLIKMF(INGEKFNNGDK AOKDECDAEEG)
{
DisableTargetBasedOnQualitySettingAndDistance.Condition[] array = this.conditions;
Func<DisableTargetBasedOnQualitySettingAndDistance.Condition, bool> func = delegate(DisableTargetBasedOnQualitySettingAndDistance.Condition m)
{
INGEKFNNGDK setting = AOKDECDAEEG;
return m.QualitySetting == setting;
};
DisableTargetBasedOnQualitySettingAndDistance.Condition condition = Enumerable.FirstOrDefault<DisableTargetBasedOnQualitySettingAndDistance.Condition>(array, func);
this.PGMELOANEMN = condition;
if (condition == 0)
{
this.targetObject.SetActive(true);
}
this.MKBLJJGJAOH();
}
// Token: 0x060121CF RID: 74191 RVA: 0x00452CEC File Offset: 0x00450EEC
[Token(Token = "0x60121CF")]
[Address(RVA = "0x19A0110", Offset = "0x199EB10", VA = "0x1819A0110")]
private void GAJIJLPDHNI(float POGAEJIEPIM)
{
this.MKBLJJGJAOH();
}
// Token: 0x060121D0 RID: 74192 RVA: 0x00452D00 File Offset: 0x00450F00
[Token(Token = "0x60121D0")]
[Address(RVA = "0x19A0120", Offset = "0x199EB20", VA = "0x1819A0120")]
private void MKBLJJGJAOH()
{
for (;;)
{
int num = 0;
if (this.PGMELOANEMN == num)
{
return;
}
Transform transform = this.distanceComparePoint;
int num2 = 0;
if (!(transform == num2))
{
GameObject gameObject = this.targetObject;
int num3 = 0;
if (!(gameObject == num3))
{
break;
}
}
if (this.EEOKJKLIENC != 0)
{
return;
}
}
Transform transform2 = this.distanceComparePoint;
Vector3 vector;
float z = vector.z;
Vector3 vector2;
float z2 = vector2.z;
int num4 = 0;
Vector3 vector3;
float z3 = vector3.z;
DisableTargetBasedOnQualitySettingAndDistance.Condition pgmeloanemn = this.PGMELOANEMN;
GameObject gameObject2 = this.targetObject;
float distance = pgmeloanemn.Distance;
gameObject2.SetActive(num4 != 0);
}
// Token: 0x060121D1 RID: 74193 RVA: 0x00452DA0 File Offset: 0x00450FA0
[Token(Token = "0x60121D1")]
[Address(RVA = "0x19A06C0", Offset = "0x199F0C0", VA = "0x1819A06C0")]
public DisableTargetBasedOnQualitySettingAndDistance()
{
}
// Token: 0x0400C1BD RID: 49597
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400C1BD")]
[SerializeField]
private GameObject targetObject;
// Token: 0x0400C1BE RID: 49598
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400C1BE")]
[SerializeField]
private Transform distanceComparePoint;
// Token: 0x0400C1BF RID: 49599
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400C1BF")]
[SerializeField]
private float updateHz = 2f;
// Token: 0x0400C1C0 RID: 49600
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400C1C0")]
private DisableTargetBasedOnQualitySettingAndDistance.Condition PGMELOANEMN;
// Token: 0x0400C1C1 RID: 49601
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400C1C1")]
private IDisposable EEOKJKLIENC;
// Token: 0x0400C1C2 RID: 49602
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400C1C2")]
[SerializeField]
private DisableTargetBasedOnQualitySettingAndDistance.Condition[] conditions = new DisableTargetBasedOnQualitySettingAndDistance.Condition[]
{
new DisableTargetBasedOnQualitySettingAndDistance.Condition
{
QualitySetting = (INGEKFNNGDK)((ulong)0L),
Distance = 10f
}
};
// Token: 0x0200286B RID: 10347
[Token(Token = "0x200286B")]
[Serializable]
private class Condition
{
// Token: 0x060121D2 RID: 74194 RVA: 0x00452DF4 File Offset: 0x00450FF4
[Token(Token = "0x60121D2")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public Condition()
{
}
// Token: 0x0400C1C3 RID: 49603
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400C1C3")]
public INGEKFNNGDK QualitySetting;
// Token: 0x0400C1C4 RID: 49604
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
[Token(Token = "0x400C1C4")]
public float Distance;
}
// Token: 0x0200286C RID: 10348
[Token(Token = "0x200286C")]
[CompilerGenerated]
private sealed class HJCBDIHGELC
{
// Token: 0x060121D3 RID: 74195 RVA: 0x00452E08 File Offset: 0x00451008
[Token(Token = "0x60121D3")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public HJCBDIHGELC()
{
}
// Token: 0x060121D4 RID: 74196 RVA: 0x00452E1C File Offset: 0x0045101C
[Token(Token = "0x60121D4")]
[Address(RVA = "0xF975F0", Offset = "0xF95FF0", VA = "0x180F975F0")]
internal bool <OnQualitySettingChanged>b__0(DisableTargetBasedOnQualitySettingAndDistance.Condition m)
{
INGEKFNNGDK ingekfnngdk = this.setting;
return m.QualitySetting == ingekfnngdk;
}
// Token: 0x0400C1C5 RID: 49605
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400C1C5")]
public INGEKFNNGDK setting;
}
}
}
@@ -0,0 +1,115 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Core.Quality
{
// Token: 0x0200286D RID: 10349
[Token(Token = "0x200286D")]
[StructLayout(3)]
public class LightQualityOverride : MonoBehaviour
{
// Token: 0x060121D5 RID: 74197 RVA: 0x00452E40 File Offset: 0x00451040
[Token(Token = "0x60121D5")]
[Address(RVA = "0x19A5870", Offset = "0x19A4270", VA = "0x1819A5870")]
private void Start()
{
if (this.overrides.Length != 0)
{
LightRenderMode renderMode = this._light.renderMode;
this.HKDPEHPDCEH = renderMode;
INGEKFNNGDK qualitySetting = SingletonMonoBehaviour.Instance.KONLNCONKKJ;
SettingsManager instance = SingletonMonoBehaviour.Instance;
Action<INGEKFNNGDK> action = new Action(this.EHDNCHLIKMF);
instance.QualitySettingChanged += action;
return;
}
Debug.LogError("LightQualityOverride requires at least one specified override.");
}
// Token: 0x060121D6 RID: 74198 RVA: 0x00452EA4 File Offset: 0x004510A4
[Token(Token = "0x60121D6")]
[Address(RVA = "0x19A5760", Offset = "0x19A4160", VA = "0x1819A5760")]
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: 0x060121D7 RID: 74199 RVA: 0x00452EE4 File Offset: 0x004510E4
[Token(Token = "0x60121D7")]
[Address(RVA = "0x19A56B0", Offset = "0x19A40B0", VA = "0x1819A56B0")]
private void EHDNCHLIKMF(INGEKFNNGDK AOKDECDAEEG)
{
this.GFAHHBOFMHP(AOKDECDAEEG);
}
// Token: 0x060121D8 RID: 74200 RVA: 0x00452EF8 File Offset: 0x004510F8
[Token(Token = "0x60121D8")]
[Address(RVA = "0x19A56C0", Offset = "0x19A40C0", VA = "0x1819A56C0")]
private void GFAHHBOFMHP(INGEKFNNGDK AOKDECDAEEG)
{
int num = 0;
int length = this.overrides.Length;
if (num < length)
{
if ("{il2cpp array field local4->}" != AOKDECDAEEG)
{
num++;
}
Light light = this._light;
}
Light light2 = this._light;
LightRenderMode hkdpehpdceh = this.HKDPEHPDCEH;
light2.renderMode = hkdpehpdceh;
}
// Token: 0x060121D9 RID: 74201 RVA: 0x00452F4C File Offset: 0x0045114C
[Token(Token = "0x60121D9")]
[Address(RVA = "0x3C1210", Offset = "0x3BFC10", VA = "0x1803C1210")]
public LightQualityOverride()
{
}
// Token: 0x0400C1C6 RID: 49606
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400C1C6")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
private Light _light;
// Token: 0x0400C1C7 RID: 49607
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400C1C7")]
[SerializeField]
private LightQualityOverride.OverrideSettings[] overrides;
// Token: 0x0400C1C8 RID: 49608
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400C1C8")]
private LightRenderMode HKDPEHPDCEH;
// Token: 0x0200286E RID: 10350
[Token(Token = "0x200286E")]
[Serializable]
private struct OverrideSettings
{
// Token: 0x0400C1C9 RID: 49609
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400C1C9")]
public INGEKFNNGDK quality;
// Token: 0x0400C1CA RID: 49610
[global::Cpp2IlInjected.FieldOffset(Offset = "0x4")]
[Token(Token = "0x400C1CA")]
public LightRenderMode renderMode;
}
}
}
@@ -0,0 +1,325 @@
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;
}
}
}
@@ -0,0 +1,354 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.Core.Platforms;
using UnityEngine;
namespace RecRoom.Core.Quality
{
// Token: 0x02002871 RID: 10353
[Token(Token = "0x2002871")]
[RequireComponent(typeof(Terrain))]
[StructLayout(3)]
public class TerrainQualitySettings : ActivationController<INGEKFNNGDK>
{
// Token: 0x170030F7 RID: 12535
// (get) Token: 0x060121E4 RID: 74212 RVA: 0x00453250 File Offset: 0x00451450
[Token(Token = "0x170030F7")]
private Terrain AMONBCDCDLK
{
[Token(Token = "0x60121E4")]
[Address(RVA = "0x19B6840", Offset = "0x19B5240", VA = "0x1819B6840")]
get
{
if (!this.NKGBKDDKKGK)
{
Terrain component = base.GetComponent<Terrain>();
this.NKGBKDDKKGK = component;
}
return this.NKGBKDDKKGK;
}
}
// Token: 0x060121E5 RID: 74213 RVA: 0x00453280 File Offset: 0x00451480
[Token(Token = "0x60121E5")]
[Address(RVA = "0x19B64F0", Offset = "0x19B4EF0", VA = "0x1819B64F0")]
private void Awake()
{
TerrainData ghcahfdijkp = this.GHCAHFDIJKP;
int num = 0;
if (ghcahfdijkp == num)
{
TerrainData terrainData = this.AMONBCDCDLK.terrainData;
this.GHCAHFDIJKP = terrainData;
}
}
// Token: 0x060121E6 RID: 74214 RVA: 0x004532BC File Offset: 0x004514BC
[Token(Token = "0x60121E6")]
[Address(RVA = "0x19B6B90", Offset = "0x19B5590", VA = "0x1819B6B90")]
private void OnEnable()
{
INGEKFNNGDK qualitySetting = SingletonMonoBehaviour.Instance.KONLNCONKKJ;
SettingsManager instance = SingletonMonoBehaviour.Instance;
Action<INGEKFNNGDK> action = new Action(this.LNAGMFAMCPC);
instance.QualitySettingChanged += action;
}
// Token: 0x060121E7 RID: 74215 RVA: 0x004532F4 File Offset: 0x004514F4
[Token(Token = "0x60121E7")]
[Address(RVA = "0x19B6A80", Offset = "0x19B5480", VA = "0x1819B6A80")]
private void OnDisable()
{
SettingsManager instance = SingletonMonoBehaviour.Instance;
int num = 0;
if (instance != num)
{
SettingsManager instance2 = SingletonMonoBehaviour.Instance;
Action<INGEKFNNGDK> action = new Action(this.LNAGMFAMCPC);
instance2.QualitySettingChanged -= action;
}
}
// Token: 0x060121E8 RID: 74216 RVA: 0x00453334 File Offset: 0x00451534
[Token(Token = "0x60121E8")]
[Address(RVA = "0xFD8EC0", Offset = "0xFD78C0", VA = "0x180FD8EC0")]
private void OnDestroy()
{
SafeDestroy.Asset(this.AEGJLMFDABG);
}
// Token: 0x060121E9 RID: 74217 RVA: 0x0045334C File Offset: 0x0045154C
[Token(Token = "0x60121E9")]
[Address(RVA = "0x199F810", Offset = "0x199E210", VA = "0x18199F810")]
private void LNAGMFAMCPC(INGEKFNNGDK AOKDECDAEEG)
{
bool isCompleted = ((IAsyncResult)this).IsCompleted;
}
// Token: 0x060121EA RID: 74218 RVA: 0x00453360 File Offset: 0x00451560
[Token(Token = "0x60121EA")]
[Address(RVA = "0x19B6C70", Offset = "0x19B5670", VA = "0x1819B6C70", Slot = "7")]
public override void SetActivation(INGEKFNNGDK JMKICAPHBPJ)
{
if (Application.IsPlaying(this))
{
TerrainQualitySettings.Settings[] qualitySettingOverrides = this.QualitySettingOverrides;
int num = 0;
if (qualitySettingOverrides != 0)
{
int length = qualitySettingOverrides.Length;
if (num < length)
{
TerrainQualitySettings.Settings settings = qualitySettingOverrides[num];
if (settings.QualitySetting != JMKICAPHBPJ)
{
num++;
}
if (settings != 0)
{
goto IL_84;
}
}
}
TerrainQualitySettings.Settings settings2 = new TerrainQualitySettings.Settings();
float defaultDetailDensity = this.DefaultDetailDensity;
settings2.DetailDensity = defaultDetailDensity;
float defaultDetailDistance = this.DefaultDetailDistance;
settings2.DetailDistance = defaultDetailDistance;
float defaultPixelError = this.DefaultPixelError;
settings2.PixelError = defaultPixelError;
settings2.TreePrefabOverrides = num;
IL_84:
Terrain terrain = this.AMONBCDCDLK;
float pixelError = settings2.PixelError;
terrain.heightmapPixelError = pixelError;
float detailDistance = settings2.DetailDistance;
terrain.detailObjectDistance = detailDistance;
float detailDensity = settings2.DetailDensity;
terrain.detailObjectDensity = detailDensity;
TerrainQualitySettings.TreePrefabOverride[] treePrefabOverrides = settings2.TreePrefabOverrides;
this.ILNOBHNIIAB(treePrefabOverrides);
}
}
// Token: 0x060121EB RID: 74219 RVA: 0x00453448 File Offset: 0x00451648
[Token(Token = "0x60121EB")]
[Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0", Slot = "8")]
protected override bool COLFIMOHHCD(INGEKFNNGDK GEHPBFAILKF)
{
return true;
}
// Token: 0x060121EC RID: 74220 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60121EC")]
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "9")]
protected override void DAPIKKDJBPA(bool PDJFBCODDLO)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060121ED RID: 74221 RVA: 0x00453458 File Offset: 0x00451658
[Token(Token = "0x60121ED")]
[Address(RVA = "0x19B68C0", Offset = "0x19B52C0", VA = "0x1819B68C0")]
private void KLJJEEOCIIG(TerrainQualitySettings.Settings GHGBPMPLLBK)
{
Terrain terrain = this.AMONBCDCDLK;
float pixelError = GHGBPMPLLBK.PixelError;
terrain.heightmapPixelError = pixelError;
float detailDistance = GHGBPMPLLBK.DetailDistance;
terrain.detailObjectDistance = detailDistance;
float detailDensity = GHGBPMPLLBK.DetailDensity;
terrain.detailObjectDensity = detailDensity;
TerrainQualitySettings.TreePrefabOverride[] treePrefabOverrides = GHGBPMPLLBK.TreePrefabOverrides;
this.ILNOBHNIIAB(treePrefabOverrides);
}
// Token: 0x060121EE RID: 74222 RVA: 0x004534AC File Offset: 0x004516AC
[Token(Token = "0x60121EE")]
[Address(RVA = "0x19B6580", Offset = "0x19B4F80", VA = "0x1819B6580")]
private void ILNOBHNIIAB(TerrainQualitySettings.TreePrefabOverride[] PPEMHAIEECM)
{
TreePrototype[] treePrototypes = this.GHCAHFDIJKP.treePrototypes;
int num = 0;
if (PPEMHAIEECM != 0)
{
int num2 = 0;
int num3 = 0;
int length = treePrototypes.Length;
if (num3 < length)
{
int num4 = 0;
TreePrototype treePrototype = treePrototypes[num2];
if (num4 < PPEMHAIEECM.Length)
{
num4 += 2;
num4 += num4;
GameObject prefab = treePrototype.prefab;
bool flag;
bool flag2;
if (!flag || !flag2)
{
num4++;
}
treePrototype.prefab = prefab;
}
num2++;
}
if (num != 0)
{
goto IL_87;
}
}
TerrainData aegjlmfdabg = this.AEGJLMFDABG;
int num5 = 0;
if (aegjlmfdabg == num5)
{
return;
}
IL_87:
TerrainData aegjlmfdabg2 = this.AEGJLMFDABG;
int num6 = 0;
if (aegjlmfdabg2 == num6)
{
TerrainData terrainData = global::UnityEngine.Object.Instantiate<TerrainData>(this.GHCAHFDIJKP);
this.AEGJLMFDABG = terrainData;
Terrain terrain = this.AMONBCDCDLK;
TerrainData aegjlmfdabg3 = this.AEGJLMFDABG;
terrain.terrainData = aegjlmfdabg3;
}
this.AEGJLMFDABG.treePrototypes = treePrototypes;
this.AEGJLMFDABG.RefreshPrototypes();
}
// Token: 0x060121EF RID: 74223 RVA: 0x004535A4 File Offset: 0x004517A4
[Token(Token = "0x60121EF")]
[Address(RVA = "0x19B6940", Offset = "0x19B5340", VA = "0x1819B6940")]
private void KOLJFGEOIGD()
{
TerrainData aegjlmfdabg = this.AEGJLMFDABG;
int num = 0;
if (aegjlmfdabg == num)
{
TerrainData terrainData = global::UnityEngine.Object.Instantiate<TerrainData>(this.GHCAHFDIJKP);
this.AEGJLMFDABG = terrainData;
Terrain terrain = this.AMONBCDCDLK;
TerrainData aegjlmfdabg2 = this.AEGJLMFDABG;
terrain.terrainData = aegjlmfdabg2;
}
}
// Token: 0x060121F0 RID: 74224 RVA: 0x004535F4 File Offset: 0x004517F4
[Token(Token = "0x60121F0")]
[Address(RVA = "0x19B6A00", Offset = "0x19B5400", VA = "0x1819B6A00")]
private TerrainQualitySettings.Settings OEJPACEGPDO()
{
TerrainQualitySettings.Settings settings = new TerrainQualitySettings.Settings();
float defaultDetailDensity = this.DefaultDetailDensity;
settings.DetailDensity = defaultDetailDensity;
float defaultDetailDistance = this.DefaultDetailDistance;
settings.DetailDistance = defaultDetailDistance;
float defaultPixelError = this.DefaultPixelError;
settings.PixelError = defaultPixelError;
settings.TreePrefabOverrides = (ulong)0L;
return settings;
}
// Token: 0x060121F1 RID: 74225 RVA: 0x00453644 File Offset: 0x00451844
[Token(Token = "0x60121F1")]
[Address(RVA = "0x19B6E30", Offset = "0x19B5830", VA = "0x1819B6E30")]
public TerrainQualitySettings()
{
}
// Token: 0x0400C1E3 RID: 49635
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400C1E3")]
public float DefaultPixelError = 5f;
// Token: 0x0400C1E4 RID: 49636
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
[Token(Token = "0x400C1E4")]
public float DefaultDetailDistance = 50f;
// Token: 0x0400C1E5 RID: 49637
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400C1E5")]
public float DefaultDetailDensity = 1f;
// Token: 0x0400C1E6 RID: 49638
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400C1E6")]
public TerrainQualitySettings.Settings[] QualitySettingOverrides;
// Token: 0x0400C1E7 RID: 49639
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400C1E7")]
private Terrain NKGBKDDKKGK;
// Token: 0x0400C1E8 RID: 49640
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400C1E8")]
private TerrainData GHCAHFDIJKP;
// Token: 0x0400C1E9 RID: 49641
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x400C1E9")]
private TerrainData AEGJLMFDABG;
// Token: 0x02002872 RID: 10354
[Token(Token = "0x2002872")]
[Serializable]
public class Settings
{
// Token: 0x060121F2 RID: 74226 RVA: 0x00453678 File Offset: 0x00451878
[Token(Token = "0x60121F2")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public Settings()
{
}
// Token: 0x0400C1EA RID: 49642
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400C1EA")]
public INGEKFNNGDK QualitySetting;
// Token: 0x0400C1EB RID: 49643
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
[Token(Token = "0x400C1EB")]
public float PixelError;
// Token: 0x0400C1EC RID: 49644
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400C1EC")]
public float DetailDistance;
// Token: 0x0400C1ED RID: 49645
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
[Token(Token = "0x400C1ED")]
[Range(0f, 1f)]
public float DetailDensity;
// Token: 0x0400C1EE RID: 49646
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400C1EE")]
public TerrainQualitySettings.TreePrefabOverride[] TreePrefabOverrides;
}
// Token: 0x02002873 RID: 10355
[Token(Token = "0x2002873")]
[Serializable]
public struct TreePrefabOverride
{
// Token: 0x0400C1EF RID: 49647
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400C1EF")]
public GameObject DefaultTree;
// Token: 0x0400C1F0 RID: 49648
[global::Cpp2IlInjected.FieldOffset(Offset = "0x8")]
[Token(Token = "0x400C1F0")]
public GameObject OverrideTree;
}
}
}