314 lines
9.9 KiB
C#
314 lines
9.9 KiB
C#
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<Camera>();
|
|
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<Camera>();
|
|
int num3 = 0;
|
|
component2.cullingMask = num3;
|
|
int targetDisplay = component.targetDisplay;
|
|
component2.targetDisplay = targetDisplay;
|
|
Blitter component3 = gameObject.GetComponent<Blitter>();
|
|
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 <AFOGDDCAJFC>k__BackingField = this.KIKFDOLBKGN.<AFOGDDCAJFC>k__BackingField;
|
|
Debug.Log("Capture started (" + <AFOGDDCAJFC>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<Camera>();
|
|
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 <AFOGDDCAJFC>k__BackingField = kikfdolbkgn.<AFOGDDCAJFC>k__BackingField;
|
|
Debug.Log("Capture ended (" + <AFOGDDCAJFC>k__BackingField + ")");
|
|
this.KIKFDOLBKGN.IKBEAIHJLPP();
|
|
string <ILNFIBHJENP>k__BackingField = this.KIKFDOLBKGN.<ILNFIBHJENP>k__BackingField;
|
|
if (typeof(CameraCapture).TypeHandle == 0)
|
|
{
|
|
string <ILNFIBHJENP>k__BackingField2 = this.KIKFDOLBKGN.<ILNFIBHJENP>k__BackingField;
|
|
Debug.LogWarning("ffmpeg returned with a warning or an error message. See the following lines for details:\n" + <ILNFIBHJENP>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;
|
|
}
|
|
}
|