using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using UnityEngine; using UnityEngine.Experimental.Rendering; namespace VRPanorama { // Token: 0x02000768 RID: 1896 [Token(Token = "0x2000768")] [RequireComponent(typeof(Camera))] [AddComponentMenu("FFmpegOut/Camera Capture")] [StructLayout(3)] public class CameraCapture : MonoBehaviour { // Token: 0x060036B2 RID: 14002 RVA: 0x000E599C File Offset: 0x000E3B9C [Token(Token = "0x60036B2")] [Address(RVA = "0x19FF630", Offset = "0x19FE030", VA = "0x1819FF630")] private void OnValidate() { float startTime = this._startTime; int num = 0; float num2 = Mathf.Max(startTime, (float)num); this._startTime = num2; float num3 = Mathf.Max(this._recordLength, 0.01f); this._recordLength = num3; } // Token: 0x060036B3 RID: 14003 RVA: 0x000E59DC File Offset: 0x000E3BDC [Token(Token = "0x60036B3")] [Address(RVA = "0x19FF320", Offset = "0x19FDD20", VA = "0x1819FF320")] private void OnEnable() { if (!NIDKJCCHGOI.KDDANBBDHFG) { Debug.LogError("ffmpeg isn't configured right, if you are using MAC OSX, please check your credentials"); int num = 0; base.enabled = num != 0; return; } } // Token: 0x060036B4 RID: 14004 RVA: 0x000E5A08 File Offset: 0x000E3C08 [Token(Token = "0x60036B4")] [Address(RVA = "0x19FF310", Offset = "0x19FDD10", VA = "0x1819FF310")] private void OnDisable() { if (this.KIKFDOLBKGN != (ulong)0L) { this.DMDEMGIEBBD(); return; } } // Token: 0x060036B5 RID: 14005 RVA: 0x000E5A28 File Offset: 0x000E3C28 [Token(Token = "0x60036B5")] [Address(RVA = "0x19FF310", Offset = "0x19FDD10", VA = "0x1819FF310")] private void OnDestroy() { if (this.KIKFDOLBKGN != (ulong)0L) { this.DMDEMGIEBBD(); return; } } // Token: 0x060036B6 RID: 14006 RVA: 0x000E5A48 File Offset: 0x000E3C48 [Token(Token = "0x60036B6")] [Address(RVA = "0x19FF6C0", Offset = "0x19FE0C0", VA = "0x1819FF6C0")] private void Start() { Material material = new Material(this._shader); this.ABINOGPBGOE = material; } // Token: 0x060036B7 RID: 14007 RVA: 0x000E5A68 File Offset: 0x000E3C68 [Token(Token = "0x60036B7")] [Address(RVA = "0x19FF730", Offset = "0x19FE130", VA = "0x1819FF730")] private void Update() { float deltaTime = Time.deltaTime; float startTime = this._startTime; this.IIPKIEFLBDD = deltaTime; if (startTime > deltaTime) { if (this.KIKFDOLBKGN == (ulong)0L) { this.LEICMJMGNKI(); return; } } else if (this.KIKFDOLBKGN != (ulong)0L) { this.DMDEMGIEBBD(); } } // Token: 0x060036B8 RID: 14008 RVA: 0x000E5AB4 File Offset: 0x000E3CB4 [Token(Token = "0x60036B8")] [Address(RVA = "0x19FF3A0", Offset = "0x19FDDA0", VA = "0x1819FF3A0")] private void OnRenderImage(RenderTexture DIEPOPNJNCO, RenderTexture IKAFBCDJOCL) { if (this.KIKFDOLBKGN != (ulong)0L) { GraphicsFormat graphicsFormat = DIEPOPNJNCO.graphicsFormat; int num = (int)graphicsFormat; int num2 = (int)graphicsFormat; RenderTexture temporary = RenderTexture.GetTemporary(num, num2); Material abinogpbgoe = this.ABINOGPBGOE; int num3 = 0; int num4 = 0; Graphics.Blit(DIEPOPNJNCO, temporary, abinogpbgoe, num4); GraphicsFormat graphicsFormat2 = DIEPOPNJNCO.graphicsFormat; int num5 = (int)graphicsFormat2; int num6 = (int)graphicsFormat2; Texture2D texture2D = new Texture2D(num5, num6, TextureFormat.RGBA32, num3 != 0); texture2D.name = "CameraCaptureTemp"; GraphicsFormat graphicsFormat3 = DIEPOPNJNCO.graphicsFormat; int num7 = 0; int num8 = 0; int num9 = 0; texture2D.ReadPixels(num7, num9, num8, num3 != 0); texture2D.Apply(); DOCPGIDFFDO kikfdolbkgn = this.KIKFDOLBKGN; byte[] rawTextureData = texture2D.GetRawTextureData(); kikfdolbkgn.EAOKIOGMEEO(rawTextureData); global::UnityEngine.Object.Destroy(texture2D); RenderTexture.ReleaseTemporary(temporary); } Graphics.Blit(DIEPOPNJNCO, IKAFBCDJOCL); } // Token: 0x060036B9 RID: 14009 RVA: 0x000E5B80 File Offset: 0x000E3D80 [Token(Token = "0x60036B9")] [Address(RVA = "0x19FF030", Offset = "0x19FDA30", VA = "0x1819FF030")] private void LEICMJMGNKI() { if (this.KIKFDOLBKGN == (ulong)0L) { Camera component = base.GetComponent(); int num = this._width; int num2 = this._height; if (!this._setResolution) { num = component.pixelWidth; num2 = component.pixelHeight; } RenderTexture temporary = RenderTexture.GetTemporary(num, num2, 24); this.DOEGCJPKLCH = temporary; component.targetTexture = temporary; Type[] padahclgbke = Blitter.PADAHCLGBKE; GameObject gameObject = new GameObject("Blitter", padahclgbke); gameObject.hideFlags = HideFlags.HideInHierarchy; Camera component2 = gameObject.GetComponent(); int num3 = 0; component2.cullingMask = num3; int targetDisplay = component.targetDisplay; component2.targetDisplay = targetDisplay; Blitter component3 = gameObject.GetComponent(); RenderTexture targetTexture = component.targetTexture; component3.DCCHGLDOEKG = targetTexture; this.GGKEMNLPEBM = gameObject; string name = base.name; int frameRate = this._frameRate; DOCPGIDFFDO.CAICLJMGOBH preset = this._preset; DOCPGIDFFDO docpgidffdo = new DOCPGIDFFDO(name, num, num2, frameRate, preset); this.KIKFDOLBKGN = docpgidffdo; int frameRate2 = this._frameRate; int num4 = 0; if ((this._allowSlowDown ? 1 : 0) == num4) { Application.targetFrameRate = frameRate2; } Time.captureFramerate = frameRate2; string k__BackingField = this.KIKFDOLBKGN.k__BackingField; Debug.Log("Capture started (" + k__BackingField + ")"); } } // Token: 0x060036BA RID: 14010 RVA: 0x000E5CC0 File Offset: 0x000E3EC0 [Token(Token = "0x60036BA")] [Address(RVA = "0x19FEDB0", Offset = "0x19FD7B0", VA = "0x1819FEDB0")] private void DMDEMGIEBBD() { Camera component = base.GetComponent(); GameObject ggkemnlpebm = this.GGKEMNLPEBM; int num = 0; if (ggkemnlpebm != num) { global::UnityEngine.Object.Destroy(this.GGKEMNLPEBM); this.GGKEMNLPEBM = (ulong)0L; } RenderTexture doegcjpklch = this.DOEGCJPKLCH; int num2 = 0; if (doegcjpklch != num2) { RenderTexture doegcjpklch2 = this.DOEGCJPKLCH; RenderTexture targetTexture = component.targetTexture; if (doegcjpklch2 == targetTexture) { int num3 = 0; component.targetTexture = num3; RenderTexture.ReleaseTemporary(this.DOEGCJPKLCH); this.DOEGCJPKLCH = (ulong)0L; } } DOCPGIDFFDO kikfdolbkgn = this.KIKFDOLBKGN; if (kikfdolbkgn != 0) { string k__BackingField = kikfdolbkgn.k__BackingField; Debug.Log("Capture ended (" + k__BackingField + ")"); this.KIKFDOLBKGN.IKBEAIHJLPP(); string k__BackingField = this.KIKFDOLBKGN.k__BackingField; if (typeof(CameraCapture).TypeHandle == 0) { string k__BackingField2 = this.KIKFDOLBKGN.k__BackingField; Debug.LogWarning("ffmpeg returned with a warning or an error message. See the following lines for details:\n" + k__BackingField2); } this.KIKFDOLBKGN = (ulong)0L; int num4 = 0; if ((this._allowSlowDown ? 1 : 0) != num4) { Time.captureFramerate = 0; return; } Application.targetFrameRate = -1; } } // Token: 0x060036BB RID: 14011 RVA: 0x000E5DE0 File Offset: 0x000E3FE0 [Token(Token = "0x60036BB")] [Address(RVA = "0x19FF7A0", Offset = "0x19FE1A0", VA = "0x1819FF7A0")] public CameraCapture() { } // Token: 0x04002EDA RID: 11994 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4002EDA")] public bool _setResolution = true; // Token: 0x04002EDB RID: 11995 [global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")] [Token(Token = "0x4002EDB")] public int _width = (int)((ulong)1280L); // Token: 0x04002EDC RID: 11996 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4002EDC")] public int _height = (int)((ulong)720L); // Token: 0x04002EDD RID: 11997 [global::Cpp2IlInjected.FieldOffset(Offset = "0x24")] [Token(Token = "0x4002EDD")] public int _frameRate = (int)((ulong)30L); // Token: 0x04002EDE RID: 11998 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4002EDE")] public bool _allowSlowDown = true; // Token: 0x04002EDF RID: 11999 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x4002EDF")] public DOCPGIDFFDO.CAICLJMGOBH _preset; // Token: 0x04002EE0 RID: 12000 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4002EE0")] public float _startTime; // Token: 0x04002EE1 RID: 12001 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x4002EE1")] public float _recordLength = 5f; // Token: 0x04002EE2 RID: 12002 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4002EE2")] [HideInInspector] [SerializeField] private Shader _shader; // Token: 0x04002EE3 RID: 12003 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4002EE3")] private Material ABINOGPBGOE; // Token: 0x04002EE4 RID: 12004 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4002EE4")] private DOCPGIDFFDO KIKFDOLBKGN; // Token: 0x04002EE5 RID: 12005 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4002EE5")] private float IIPKIEFLBDD; // Token: 0x04002EE6 RID: 12006 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x4002EE6")] private RenderTexture DOEGCJPKLCH; // Token: 0x04002EE7 RID: 12007 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x4002EE7")] private GameObject GGKEMNLPEBM; // Token: 0x04002EE8 RID: 12008 [Token(Token = "0x4002EE8")] private static int HBCKGDCDNDC; } }