using System; using Cpp2IlInjected; using UnityEngine; using UnityEngine.Experimental.Rendering; namespace VRPanorama { // Token: 0x0200074F RID: 1871 [Token(Token = "0x200074F")] [RequireComponent(typeof(Camera))] [AddComponentMenu("FFmpegOut/Camera Capture")] public class CameraCapture : MonoBehaviour { // Token: 0x0600361F RID: 13855 RVA: 0x000DFDB8 File Offset: 0x000DDFB8 [Token(Token = "0x600361F")] [Address(RVA = "0x83A6B0", Offset = "0x8394B0", VA = "0x18083A6B0")] 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: 0x06003620 RID: 13856 RVA: 0x000DFDF8 File Offset: 0x000DDFF8 [Token(Token = "0x6003620")] [Address(RVA = "0x83A3A0", Offset = "0x8391A0", VA = "0x18083A3A0")] 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: 0x06003621 RID: 13857 RVA: 0x000DFE24 File Offset: 0x000DE024 [Token(Token = "0x6003621")] [Address(RVA = "0x83A390", Offset = "0x839190", VA = "0x18083A390")] private void OnDisable() { if (this.KIKFDOLBKGN != (ulong)0L) { this.DMDEMGIEBBD(); return; } } // Token: 0x06003622 RID: 13858 RVA: 0x000DFE44 File Offset: 0x000DE044 [Token(Token = "0x6003622")] [Address(RVA = "0x83A390", Offset = "0x839190", VA = "0x18083A390")] private void OnDestroy() { if (this.KIKFDOLBKGN != (ulong)0L) { this.DMDEMGIEBBD(); return; } } // Token: 0x06003623 RID: 13859 RVA: 0x000DFE64 File Offset: 0x000DE064 [Token(Token = "0x6003623")] [Address(RVA = "0x83A740", Offset = "0x839540", VA = "0x18083A740")] private void Start() { Material material = new Material(this._shader); this.ABINOGPBGOE = material; } // Token: 0x06003624 RID: 13860 RVA: 0x000DFE84 File Offset: 0x000DE084 [Token(Token = "0x6003624")] [Address(RVA = "0x83A7B0", Offset = "0x8395B0", VA = "0x18083A7B0")] 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: 0x06003625 RID: 13861 RVA: 0x000DFED0 File Offset: 0x000DE0D0 [Token(Token = "0x6003625")] [Address(RVA = "0x83A420", Offset = "0x839220", VA = "0x18083A420")] 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: 0x06003626 RID: 13862 RVA: 0x000DFF9C File Offset: 0x000DE19C [Token(Token = "0x6003626")] [Address(RVA = "0x83A0B0", Offset = "0x838EB0", VA = "0x18083A0B0")] 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: 0x06003627 RID: 13863 RVA: 0x000E00DC File Offset: 0x000DE2DC [Token(Token = "0x6003627")] [Address(RVA = "0x839E30", Offset = "0x838C30", VA = "0x180839E30")] 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: 0x06003628 RID: 13864 RVA: 0x000E01FC File Offset: 0x000DE3FC [Token(Token = "0x6003628")] [Address(RVA = "0x83A820", Offset = "0x839620", VA = "0x18083A820")] public CameraCapture() { } // Token: 0x04002D01 RID: 11521 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4002D01")] public bool _setResolution = true; // Token: 0x04002D02 RID: 11522 [FieldOffset(Offset = "0x1C")] [Token(Token = "0x4002D02")] public int _width = (int)((ulong)1280L); // Token: 0x04002D03 RID: 11523 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4002D03")] public int _height = (int)((ulong)720L); // Token: 0x04002D04 RID: 11524 [FieldOffset(Offset = "0x24")] [Token(Token = "0x4002D04")] public int _frameRate = (int)((ulong)30L); // Token: 0x04002D05 RID: 11525 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4002D05")] public bool _allowSlowDown = true; // Token: 0x04002D06 RID: 11526 [FieldOffset(Offset = "0x2C")] [Token(Token = "0x4002D06")] public DOCPGIDFFDO.CAICLJMGOBH _preset; // Token: 0x04002D07 RID: 11527 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4002D07")] public float _startTime; // Token: 0x04002D08 RID: 11528 [FieldOffset(Offset = "0x34")] [Token(Token = "0x4002D08")] public float _recordLength = 5f; // Token: 0x04002D09 RID: 11529 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4002D09")] [HideInInspector] [SerializeField] private Shader _shader; // Token: 0x04002D0A RID: 11530 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4002D0A")] private Material ABINOGPBGOE; // Token: 0x04002D0B RID: 11531 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4002D0B")] private DOCPGIDFFDO KIKFDOLBKGN; // Token: 0x04002D0C RID: 11532 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4002D0C")] private float IIPKIEFLBDD; // Token: 0x04002D0D RID: 11533 [FieldOffset(Offset = "0x58")] [Token(Token = "0x4002D0D")] private RenderTexture DOEGCJPKLCH; // Token: 0x04002D0E RID: 11534 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4002D0E")] private GameObject GGKEMNLPEBM; // Token: 0x04002D0F RID: 11535 [Token(Token = "0x4002D0F")] private static int HBCKGDCDNDC; } }