Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/Mirror.cs
T
2026-04-08 23:40:05 +02:00

788 lines
28 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom;
using RecRoom.Core.Rendering;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
// Token: 0x0200008F RID: 143
[Token(Token = "0x200008F")]
[ExecuteInEditMode]
[StructLayout(3)]
public class Mirror : MonoBehaviour
{
// Token: 0x1700009B RID: 155
// (get) Token: 0x060003EA RID: 1002 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x1700009B")]
public Color DEELHJOACOE
{
[Token(Token = "0x60003EA")]
[Address(RVA = "0x3C1C70", Offset = "0x3C0670", VA = "0x1803C1C70")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x060003EB RID: 1003 RVA: 0x000139D8 File Offset: 0x00011BD8
[Token(Token = "0x60003EB")]
[Address(RVA = "0x1428C40", Offset = "0x1427640", VA = "0x181428C40")]
private void OnValidate()
{
if (this.maxAntiAliasing <= 8)
{
}
this.maxAntiAliasing = (int)((ulong)1L);
}
// Token: 0x060003EC RID: 1004 RVA: 0x000139F8 File Offset: 0x00011BF8
[Token(Token = "0x60003EC")]
[Address(RVA = "0x1425D10", Offset = "0x1424710", VA = "0x181425D10")]
private void Awake()
{
Transform transform = this.quad;
int num = 0;
if (!(transform == num))
{
Renderer component = base.GetComponent<Renderer>();
Transform transform2 = this.quad;
this.CHEJPOIMMCK = component;
Transform transform3 = transform2.transform;
Vector3 vector;
float z = vector.z;
Vector3 vector2;
float z2 = vector2.z;
this.HGGLIDNABHM.z = z2;
Mirror.DKOPDHJNIKB = Shader.PropertyToID("_LeftReflectionTex");
Mirror.NFJNEEINLGI = Shader.PropertyToID("_RightReflectionTex");
Mirror.BJKLEKJADLO = Shader.PropertyToID("_LeftMirrorCameraViewProj");
Mirror.DGPCCDFOJNM = Shader.PropertyToID("_RightMirrorCameraViewProj");
UniversalRenderPipeline.BeforeCameraRenderEvent += new Action(this.OnBeforeCameraRenderEvent);
return;
}
Debug.LogWarning("Mirror does not have an assigned quad. Disabling this Mirror component.");
int num2 = 0;
base.enabled = num2 != 0;
}
// Token: 0x060003ED RID: 1005 RVA: 0x00013AC0 File Offset: 0x00011CC0
[Token(Token = "0x60003ED")]
[Address(RVA = "0x1429930", Offset = "0x1428330", VA = "0x181429930")]
private void Start()
{
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: 0x060003EE RID: 1006 RVA: 0x00013B00 File Offset: 0x00011D00
[Token(Token = "0x60003EE")]
[Address(RVA = "0x1426040", Offset = "0x1424A40", VA = "0x181426040")]
private void EHDNCHLIKMF(INGEKFNNGDK NLNHFEEMFBN)
{
Camera ngohfhfcgnb = this.NGOHFHFCGNB;
int num = 0;
if (ngohfhfcgnb != num)
{
Camera ngohfhfcgnb2 = this.NGOHFHFCGNB;
int num2 = 0;
ngohfhfcgnb2.targetTexture = num2;
global::UnityEngine.Object.DestroyImmediate(this.NGOHFHFCGNB.gameObject);
this.NGOHFHFCGNB = (ulong)0L;
}
}
// Token: 0x060003EF RID: 1007 RVA: 0x00013B50 File Offset: 0x00011D50
[Token(Token = "0x60003EF")]
[Address(RVA = "0x1428760", Offset = "0x1427160", VA = "0x181428760")]
private void OnDestroy()
{
UniversalRenderPipeline.BeforeCameraRenderEvent -= new Action(this.OnBeforeCameraRenderEvent);
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: 0x060003F0 RID: 1008 RVA: 0x00013BA0 File Offset: 0x00011DA0
[Token(Token = "0x60003F0")]
[Address(RVA = "0x14279E0", Offset = "0x14263E0", VA = "0x1814279E0")]
public void OnBeforeCameraRenderEvent(ScriptableRenderContext LHOMKMINCHH, Camera KCLGLHFAOGA)
{
while (base.enabled && this.CHEJPOIMMCK && this.CHEJPOIMMCK.enabled && base.gameObject.activeInHierarchy && KCLGLHFAOGA)
{
Camera ngohfhfcgnb = this.NGOHFHFCGNB;
bool flag = KCLGLHFAOGA == ngohfhfcgnb;
if (flag)
{
break;
}
bool flag2;
ShareCamera.MBIEOEOLKNB mbieoeolknb;
if (flag2 && mbieoeolknb == ShareCamera.MBIEOEOLKNB.ASYNC_RENDER)
{
int frameCount = Time.frameCount;
if ((flag ? 1 : 0) != frameCount)
{
break;
}
}
float z = this.HGGLIDNABHM.z;
Transform transform = KCLGLHFAOGA.transform;
Transform transform2 = this.quad;
Vector3 vector;
float z2 = vector.z;
Transform transform3 = transform2.transform;
Vector3 vector2;
float z3 = vector2.z;
Vector3 vector3;
float z4 = vector3.z;
float num;
if (0 < (int)num)
{
Plane[] fbnkcfnlomk = this.FBNKCFNLOMK;
GeometryUtility.CalculateFrustumPlanes(KCLGLHFAOGA, fbnkcfnlomk);
Renderer chejpoimmck = this.CHEJPOIMMCK;
Plane[] fbnkcfnlomk2 = this.FBNKCFNLOMK;
bool flag3;
while (!flag3)
{
}
Mirror.JLCKHJHHODA jlckhjhhoda = this.PPKBOAGECPI(KCLGLHFAOGA);
int pixelLightCount = QualitySettings.pixelLightCount;
if (this.disablePixelLights)
{
QualitySettings.pixelLightCount = 0;
}
this.GAJPLMIHDCA(KCLGLHFAOGA);
Renderer chejpoimmck2 = this.CHEJPOIMMCK;
Transform transform4 = KCLGLHFAOGA.transform;
Vector3 vector4;
float z5 = vector4.z;
Transform transform5 = KCLGLHFAOGA.transform;
Vector3 vector5;
float z6 = vector5.z;
UniversalAdditionalCameraData additionalCameraData = KCLGLHFAOGA.GetAdditionalCameraData();
if (!KCLGLHFAOGA.stereoEnabled)
{
bool stereoEnabled = KCLGLHFAOGA.stereoEnabled;
bool flag4;
if (!flag4)
{
goto IL_227;
}
int num2 = 0;
MaterialPropertyBlock nccffhjcchb = jlckhjhhoda.NCCFFHJCCHB;
int bjklekjadlo = Mirror.BJKLEKJADLO;
nccffhjcchb.SetMatrix(bjklekjadlo, num2);
}
int num3 = 0;
StereoTargetEyeMask stereoTargetEyeMask;
if (stereoTargetEyeMask == StereoTargetEyeMask.Both || KCLGLHFAOGA.stereoTargetEye == StereoTargetEyeMask.Left)
{
bool stereoEnabled2 = KCLGLHFAOGA.stereoEnabled;
bool flag5;
if (flag5)
{
Matrix4x4 matrix4x;
float m = matrix4x.m02;
float m2 = matrix4x.m03;
Matrix4x4 matrix4x2;
float m3 = matrix4x2.m01;
MaterialPropertyBlock nccffhjcchb2 = jlckhjhhoda.NCCFFHJCCHB;
Matrix4x4 matrix4x3;
float m4 = matrix4x3.m01;
}
}
if (KCLGLHFAOGA.stereoTargetEye == StereoTargetEyeMask.Both || KCLGLHFAOGA.stereoTargetEye == StereoTargetEyeMask.Right)
{
bool stereoEnabled3 = KCLGLHFAOGA.stereoEnabled;
bool flag6;
if (flag6)
{
if ((ulong)1L != 0UL)
{
this.NGOHFHFCGNB.GetOrCreateAdditionalCameraData().<reuseCullingAndLighting>k__BackingField = true;
}
Matrix4x4 matrix4x4;
float m5 = matrix4x4.m01;
Matrix4x4 matrix4x5;
float m6 = matrix4x5.m01;
MaterialPropertyBlock nccffhjcchb3 = jlckhjhhoda.NCCFFHJCCHB;
Matrix4x4 matrix4x6;
float m7 = matrix4x6.m01;
if ((ulong)1L != 0UL)
{
this.NGOHFHFCGNB.GetOrCreateAdditionalCameraData().<reuseCullingAndLighting>k__BackingField = num3 != 0;
}
}
}
IL_227:
Renderer chejpoimmck3 = this.CHEJPOIMMCK;
MaterialPropertyBlock nccffhjcchb4 = jlckhjhhoda.NCCFFHJCCHB;
chejpoimmck3.Internal_SetPropertyBlock(nccffhjcchb4);
if (this.disablePixelLights)
{
}
throw new NullReferenceException();
}
}
}
// Token: 0x060003F1 RID: 1009 RVA: 0x00013DFC File Offset: 0x00011FFC
[Token(Token = "0x60003F1")]
[Address(RVA = "0x1426FB0", Offset = "0x14259B0", VA = "0x181426FB0")]
private void MBIBCGLLDKA(RenderTexture NCOPINLPBJC, Matrix4x4 NEJFNJLDDII, Matrix4x4 IHLHBJGBBED, Rect OCLINFOAKKE, out Matrix4x4 AIBHJMJBHHA, ScriptableRenderContext LHOMKMINCHH)
{
Camera ngohfhfcgnb = this.NGOHFHFCGNB;
Camera ngohfhfcgnb2 = this.NGOHFHFCGNB;
this.NGOHFHFCGNB.targetTexture = NCOPINLPBJC;
Camera ngohfhfcgnb3 = this.NGOHFHFCGNB;
Transform transform = this.quad;
Transform transform2 = transform.transform;
Vector3 position = transform.position;
float z = this.HGGLIDNABHM.z;
float z2 = position.z;
int num = 0;
this.NGOHFHFCGNB.worldToCameraMatrix = num;
Camera ngohfhfcgnb4 = this.NGOHFHFCGNB;
Transform transform3 = ngohfhfcgnb4.transform;
Camera ngohfhfcgnb5 = this.NGOHFHFCGNB;
Matrix4x4 cameraToWorldMatrix = ngohfhfcgnb4.cameraToWorldMatrix;
Vector3 vector;
float z3 = vector.z;
Camera ngohfhfcgnb6 = this.NGOHFHFCGNB;
Transform transform4 = ngohfhfcgnb6.transform;
Camera ngohfhfcgnb7 = this.NGOHFHFCGNB;
Matrix4x4 cameraToWorldMatrix2 = ngohfhfcgnb6.cameraToWorldMatrix;
Quaternion rotation = num.GetRotation();
Camera ngohfhfcgnb8 = this.NGOHFHFCGNB;
Matrix4x4 matrix4x;
float m = matrix4x.m02;
float nearClipPlane = this.NGOHFHFCGNB.nearClipPlane;
Camera ngohfhfcgnb9 = this.NGOHFHFCGNB;
int num2 = 0;
float farClipPlane = ngohfhfcgnb9.farClipPlane;
Matrix4x4 matrix4x2;
float m2 = matrix4x2.m01;
float m3 = matrix4x2.m02;
float m4 = matrix4x2.m03;
matrix4x2.m01 = m2;
matrix4x2.m02 = m3;
matrix4x2.m03 = m4;
this.NGOHFHFCGNB.projectionMatrix = num2;
Transform transform5 = this.quad;
Camera ngohfhfcgnb10 = this.NGOHFHFCGNB;
Transform transform6 = transform5.transform;
Vector3 position2 = transform5.position;
float z4 = this.HGGLIDNABHM.z;
float z5 = position2.z;
Matrix4x4 matrix4x3;
float m5 = matrix4x3.m20;
Camera ngohfhfcgnb11 = this.NGOHFHFCGNB;
bool fog = RenderSettings.fog;
RenderSettings.fog = false;
bool flag = GL.invertCulling;
GL.invertCulling = !flag;
GL.invertCulling = flag;
flag = fog;
RenderSettings.fog = flag;
}
// Token: 0x060003F2 RID: 1010 RVA: 0x00013FC4 File Offset: 0x000121C4
[Token(Token = "0x60003F2")]
[Address(RVA = "0x14268A0", Offset = "0x14252A0", VA = "0x1814268A0")]
private bool KKAEKJNAHFB(float FAONCIOCBGG, int KNHPCECIGDF, UniversalAdditionalCameraData GJLDCPGDMPP, bool BDDIMHFKCEM)
{
int num = 0;
if (!(GJLDCPGDMPP != num) || !GJLDCPGDMPP.m_forceRenderMirrors)
{
SettingsManager instance = SingletonMonoBehaviour.Instance;
int num2 = 0;
if (instance != num2 && SingletonMonoBehaviour.Instance.KONLNCONKKJ == INGEKFNNGDK.Fastest)
{
float jmelgkobpjb = Mirror.JMELGKOBPJB;
int frameCount = Time.frameCount;
if (FAONCIOCBGG > jmelgkobpjb)
{
goto IL_53;
}
}
int num3 = Time.frameCount;
IL_53:
num3++;
return num3 == KNHPCECIGDF;
}
return true;
}
// Token: 0x060003F3 RID: 1011 RVA: 0x0001403C File Offset: 0x0001223C
[Token(Token = "0x60003F3")]
[Address(RVA = "0x1428C60", Offset = "0x1427660", VA = "0x181428C60")]
private void PICGBLHBKDC(out Vector2 FFOJBDNKMJK, out Vector2 PMCAKBEJBFN)
{
Transform transform = this.quad;
Transform transform2 = transform.transform;
Matrix4x4 localToWorldMatrix = transform.localToWorldMatrix;
Camera ngohfhfcgnb = this.NGOHFHFCGNB;
Camera ngohfhfcgnb2 = this.NGOHFHFCGNB;
Matrix4x4 matrix4x;
float m = matrix4x.m01;
float m2 = matrix4x.m02;
float m3 = matrix4x.m03;
int num = 0;
int num2 = 0;
Vector4[] fighnkjmihl = Mirror.FIGHNKJMIHL;
int length = fighnkjmihl.Length;
if (num2 < length)
{
num += 2;
num += num;
float num4;
float num3 = Mathf.Min(float.MaxValue, num4);
float num6;
float num5 = Mathf.Min(float.MaxValue, num6);
float num8;
float num7 = Mathf.Max(float.MinValue, num8);
float num10;
float num9 = Mathf.Max(float.MinValue, num10);
num++;
}
}
// Token: 0x060003F4 RID: 1012 RVA: 0x000140F8 File Offset: 0x000122F8
[Token(Token = "0x60003F4")]
[Address(RVA = "0x14288C0", Offset = "0x14272C0", VA = "0x1814288C0")]
private void OnDisable()
{
int num;
do
{
num = 0;
Camera ngohfhfcgnb = this.NGOHFHFCGNB;
if (ngohfhfcgnb)
{
Camera ngohfhfcgnb2 = this.NGOHFHFCGNB;
int num2 = 0;
ngohfhfcgnb2.targetTexture = num2;
global::UnityEngine.Object.DestroyImmediate(this.NGOHFHFCGNB.gameObject);
this.NGOHFHFCGNB = num;
}
Dictionary<Camera, Mirror.JLCKHJHHODA>.ValueCollection values = this.PIIJCKNCEDI.Values;
Dictionary<Camera, Mirror.JLCKHJHHODA>.ValueCollection.Enumerator enumerator;
if (enumerator != 0)
{
IntPtr cachedPtr = ngohfhfcgnb.m_CachedPtr;
bool flag;
if (flag)
{
IntPtr cachedPtr2 = ngohfhfcgnb.m_CachedPtr;
IntPtr cachedPtr3 = ngohfhfcgnb.m_CachedPtr;
}
bool flag2;
while (!flag2)
{
}
global::UnityEngine.Object.DestroyImmediate(ngohfhfcgnb);
}
if (0 != -1)
{
}
}
while (num != 0);
this.PIIJCKNCEDI.Clear();
RenderTexture jcecbnikbff = this.JCECBNIKBFF;
int num3 = 0;
if (jcecbnikbff != num3)
{
global::UnityEngine.Object.DestroyImmediate(this.JCECBNIKBFF);
this.JCECBNIKBFF = (ulong)0L;
}
}
// Token: 0x060003F5 RID: 1013 RVA: 0x000141BC File Offset: 0x000123BC
[Token(Token = "0x60003F5")]
[Address(RVA = "0x1426110", Offset = "0x1424B10", VA = "0x181426110")]
private void GAJPLMIHDCA(Camera FAACBOBPIKK)
{
bool flag;
do
{
SettingsManager instance = SingletonMonoBehaviour.Instance;
int num = 0;
if (!(instance != num))
{
}
flag = SingletonMonoBehaviour.Instance.KONLNCONKKJ == INGEKFNNGDK.Fastest;
if (!this.NGOHFHFCGNB)
{
string name = base.gameObject.name;
string text = "MirrorCam" + name;
Type[] array = new Type[2];
Type typeFromHandle = typeof(Camera);
if (typeFromHandle != 0)
{
}
array[0] = typeFromHandle;
Type typeFromHandle2 = typeof(Skybox);
if (typeFromHandle2 != 0)
{
}
array[1] = typeFromHandle2;
GameObject gameObject = new GameObject(text, array);
gameObject.hideFlags = HideFlags.HideAndDontSave;
gameObject.tag = "MirroredCamera";
Skybox component = gameObject.GetComponent<Skybox>();
this.FEOGHJOOHFB = component;
Camera component2 = gameObject.GetComponent<Camera>();
this.NGOHFHFCGNB = component2;
int num2 = 0;
component2.enabled = num2 != 0;
this.NGOHFHFCGNB.cullingMask = 1606418399;
this.NGOHFHFCGNB.stereoTargetEye = StereoTargetEyeMask.Left;
Camera[] nbbellefple = this.NBBELLEFPLE;
Camera ngohfhfcgnb = this.NGOHFHFCGNB;
if (ngohfhfcgnb != 0)
{
}
nbbellefple[0] = ngohfhfcgnb;
OutlineRendererEffect outlineRendererEffect = this.NGOHFHFCGNB.gameObject.AddComponent<OutlineRendererEffect>();
IgnoredRendererEffect ignoredRendererEffect = this.NGOHFHFCGNB.gameObject.AddComponent<IgnoredRendererEffect>();
HolographicOverlayRendererEffect holographicOverlayRendererEffect = this.NGOHFHFCGNB.gameObject.AddComponent<HolographicOverlayRendererEffect>();
this.NGOHFHFCGNB.GetOrCreateAdditionalCameraData().m_RenderShadows = false;
}
Camera ngohfhfcgnb2 = this.NGOHFHFCGNB;
int num3 = 0;
ngohfhfcgnb2.useOcclusionCulling = num3 != 0;
Camera ngohfhfcgnb3 = this.NGOHFHFCGNB;
}
while (flag);
CameraClearFlags clearFlags = FAACBOBPIKK.clearFlags;
this.NGOHFHFCGNB.clearFlags = CameraClearFlags.Color;
Camera ngohfhfcgnb4 = this.NGOHFHFCGNB;
Color color = this.simplifiedBackgroundColor;
ngohfhfcgnb4.backgroundColor = color;
if (FAACBOBPIKK.clearFlags == CameraClearFlags.Skybox)
{
Type typeFromHandle3 = typeof(Skybox);
Component component3 = FAACBOBPIKK.GetComponent(typeFromHandle3);
if (component3 != 0)
{
}
Material material;
if (component3 && material)
{
this.FEOGHJOOHFB.enabled = true;
Material material2;
this.FEOGHJOOHFB.material = material2;
}
Skybox feoghjoohfb = this.FEOGHJOOHFB;
int num4 = 0;
feoghjoohfb.enabled = num4 != 0;
}
RenderTexture jcecbnikbff = this.JCECBNIKBFF;
int num5 = 0;
if (jcecbnikbff == num5)
{
int num6;
RenderTexture renderTexture = new RenderTexture(1, 1, num6);
num6 = 0;
this.JCECBNIKBFF = renderTexture;
}
Camera ngohfhfcgnb5 = this.NGOHFHFCGNB;
RenderTexture jcecbnikbff2 = this.JCECBNIKBFF;
ngohfhfcgnb5.targetTexture = jcecbnikbff2;
Camera ngohfhfcgnb6 = this.NGOHFHFCGNB;
bool allowHDR = FAACBOBPIKK.allowHDR;
ngohfhfcgnb6.allowHDR = allowHDR;
Camera ngohfhfcgnb7 = this.NGOHFHFCGNB;
bool allowMSAA = FAACBOBPIKK.allowMSAA;
ngohfhfcgnb7.allowMSAA = allowMSAA;
Camera ngohfhfcgnb8 = this.NGOHFHFCGNB;
float num7 = FAACBOBPIKK.farClipPlane;
ngohfhfcgnb8.farClipPlane = num7;
Camera ngohfhfcgnb9 = this.NGOHFHFCGNB;
num7 = FAACBOBPIKK.nearClipPlane;
ngohfhfcgnb9.nearClipPlane = num7;
Camera ngohfhfcgnb10 = this.NGOHFHFCGNB;
bool orthographic = FAACBOBPIKK.orthographic;
ngohfhfcgnb10.orthographic = orthographic;
Camera ngohfhfcgnb11 = this.NGOHFHFCGNB;
num7 = FAACBOBPIKK.fieldOfView;
ngohfhfcgnb11.fieldOfView = num7;
Camera ngohfhfcgnb12 = this.NGOHFHFCGNB;
num7 = FAACBOBPIKK.aspect;
ngohfhfcgnb12.aspect = num7;
Camera ngohfhfcgnb13 = this.NGOHFHFCGNB;
num7 = FAACBOBPIKK.orthographicSize;
ngohfhfcgnb13.orthographicSize = num7;
}
// Token: 0x060003F6 RID: 1014 RVA: 0x000144EC File Offset: 0x000126EC
[Token(Token = "0x60003F6")]
[Address(RVA = "0x14291C0", Offset = "0x1427BC0", VA = "0x1814291C0")]
private Mirror.JLCKHJHHODA PPKBOAGECPI(Camera LOJEIJKFDCH)
{
Dictionary<Camera, Mirror.JLCKHJHHODA> piijckncedi = this.PIIJCKNCEDI;
bool flag;
if (!flag)
{
Mirror.JLCKHJHHODA jlckhjhhoda = new Mirror.JLCKHJHHODA();
MaterialPropertyBlock materialPropertyBlock = new MaterialPropertyBlock();
jlckhjhhoda.NCCFFHJCCHB = materialPropertyBlock;
Dictionary<Camera, Mirror.JLCKHJHHODA> piijckncedi2 = this.PIIJCKNCEDI;
}
int scaledPixelWidth = LOJEIJKFDCH.scaledPixelWidth;
int scaledPixelHeight = LOJEIJKFDCH.scaledPixelHeight;
int activeMsaaSampleCount = UniversalRenderPipeline.ActiveMsaaSampleCount;
int num = this.maxAntiAliasing;
int num2 = Mathf.Min(activeMsaaSampleCount, num);
bool activeSupportsHDR = UniversalRenderPipeline.ActiveSupportsHDR;
throw new MissingMethodException();
}
// Token: 0x060003F7 RID: 1015 RVA: 0x00014614 File Offset: 0x00012814
[Token(Token = "0x60003F7")]
[Address(RVA = "0x1425F50", Offset = "0x1424950", VA = "0x181425F50")]
private Vector4 DNJNEGLOFLB(Vector3 IFAIDIKJOAC, Vector3 ILALHDDOAGN)
{
/*
An exception occurred when decompiling this method (060003F7)
ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.Vector4 Mirror::DNJNEGLOFLB(UnityEngine.Vector3,UnityEngine.Vector3)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:float32(var_0_06, ldfld:float32(Vector3::z, ldloc:Vector3[exp:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3&](ILALHDDOAGN)))
}
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: 0x060003F8 RID: 1016 RVA: 0x0001462C File Offset: 0x0001282C
[Token(Token = "0x60003F8")]
[Address(RVA = "0x1426AF0", Offset = "0x14254F0", VA = "0x181426AF0")]
private Vector4 KPMCMAJCCHL(Camera KCLGLHFAOGA, Vector3 IFAIDIKJOAC, Vector3 ILALHDDOAGN)
{
float z = ILALHDDOAGN.z;
throw new NullReferenceException();
}
// Token: 0x060003F9 RID: 1017 RVA: 0x0001464C File Offset: 0x0001284C
[Token(Token = "0x60003F9")]
[Address(RVA = "0x1425910", Offset = "0x1424310", VA = "0x181425910")]
private static Matrix4x4 AADEHHLDOAI(Vector4 KDDPIDEDPNP)
{
/*
An exception occurred when decompiling this method (060003F9)
ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.Matrix4x4 Mirror::AADEHHLDOAI(UnityEngine.Vector4)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:Matrix4x4(var_0_05, callgetter:Matrix4x4(Matrix4x4::get_identity))
}
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: 0x060003FA RID: 1018 RVA: 0x00014660 File Offset: 0x00012860
[Token(Token = "0x60003FA")]
[Address(RVA = "0x1426CF0", Offset = "0x14256F0", VA = "0x181426CF0")]
private static Matrix4x4 LMAGMHPPMFD(float EONHDDFEGMC, float LDFLEALOHOI, float MEDMCMOFGJG, float HMJHGLLAEOD, float BEKNMPHCGDF, float IGHBMEDILPG)
{
}
// Token: 0x060003FB RID: 1019 RVA: 0x00014670 File Offset: 0x00012870
[Token(Token = "0x60003FB")]
[Address(RVA = "0x1429C90", Offset = "0x1428690", VA = "0x181429C90")]
public Mirror()
{
Dictionary<Camera, Mirror.JLCKHJHHODA> dictionary = new Dictionary();
this.PIIJCKNCEDI = dictionary;
Plane[] array = new Plane[6];
this.FBNKCFNLOMK = array;
Camera[] array2 = new Camera[1];
this.NBBELLEFPLE = array2;
base..ctor();
}
// Token: 0x060003FC RID: 1020 RVA: 0x000146BC File Offset: 0x000128BC
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x60003FC")]
[Address(RVA = "0x1429A40", Offset = "0x1428440", VA = "0x181429A40")]
static Mirror()
{
Vector4[] array = new Vector4[4];
int num = 0;
int num2 = 0;
int num3 = 0;
array[0] = num;
int num4 = 0;
array[2] = num3;
int num5 = 0;
array[4] = num4;
array[6] = num5;
Mirror.FIGHNKJMIHL = array;
int num6 = 0;
Mirror.DKKLLPAMEAA = num2 != 0;
Mirror.HABLDGNCPBF = num6;
}
// Token: 0x04000367 RID: 871
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4000367")]
[SerializeField]
private Transform quad;
// Token: 0x04000368 RID: 872
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4000368")]
[SerializeField]
private bool disablePixelLights = true;
// Token: 0x04000369 RID: 873
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
[Token(Token = "0x4000369")]
[SerializeField]
[Tooltip("Mirror will use up to the anti-aliasing level specified in QualitySettings, without exceeding this value (1, 2, 4, or 8)")]
private int maxAntiAliasing = (int)((ulong)1L);
// Token: 0x0400036A RID: 874
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400036A")]
[SerializeField]
private Color simplifiedBackgroundColor;
// Token: 0x0400036B RID: 875
[Token(Token = "0x400036B")]
private static readonly Vector4[] FIGHNKJMIHL;
// Token: 0x0400036C RID: 876
[Token(Token = "0x400036C")]
private static float JMELGKOBPJB;
// Token: 0x0400036D RID: 877
[Token(Token = "0x400036D")]
private static float EFAMPFICNEA;
// Token: 0x0400036E RID: 878
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400036E")]
internal Dictionary<Camera, Mirror.JLCKHJHHODA> PIIJCKNCEDI;
// Token: 0x0400036F RID: 879
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400036F")]
private Camera NGOHFHFCGNB;
// Token: 0x04000370 RID: 880
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4000370")]
private Skybox FEOGHJOOHFB;
// Token: 0x04000371 RID: 881
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x4000371")]
private RenderTexture JCECBNIKBFF;
// Token: 0x04000372 RID: 882
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x4000372")]
private Renderer CHEJPOIMMCK;
// Token: 0x04000373 RID: 883
[Token(Token = "0x4000373")]
private static bool DKKLLPAMEAA;
// Token: 0x04000374 RID: 884
[Token(Token = "0x4000374")]
private static int DKOPDHJNIKB;
// Token: 0x04000375 RID: 885
[Token(Token = "0x4000375")]
private static int NFJNEEINLGI;
// Token: 0x04000376 RID: 886
[Token(Token = "0x4000376")]
private static int BJKLEKJADLO;
// Token: 0x04000377 RID: 887
[Token(Token = "0x4000377")]
private static int DGPCCDFOJNM;
// Token: 0x04000378 RID: 888
[Token(Token = "0x4000378")]
private static readonly Rect HABLDGNCPBF;
// Token: 0x04000379 RID: 889
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x4000379")]
private Vector3 HGGLIDNABHM;
// Token: 0x0400037A RID: 890
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x400037A")]
private Plane[] FBNKCFNLOMK;
// Token: 0x0400037B RID: 891
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x400037B")]
private Camera[] NBBELLEFPLE;
// Token: 0x02000090 RID: 144
[Token(Token = "0x2000090")]
internal class JLCKHJHHODA
{
// Token: 0x060003FD RID: 1021 RVA: 0x0001471C File Offset: 0x0001291C
[Token(Token = "0x60003FD")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public JLCKHJHHODA()
{
}
// Token: 0x0400037C RID: 892
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400037C")]
public RenderTexture DGCMJPECILI;
// Token: 0x0400037D RID: 893
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400037D")]
public RenderTexture NDLCIOBHILK;
// Token: 0x0400037E RID: 894
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400037E")]
public MaterialPropertyBlock NCCFFHJCCHB;
}
}