Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

456 lines
17 KiB
C#

using System;
using Cpp2IlInjected;
using RecRoom.Audio;
using RecRoom.Core.Rendering;
using RecRoom.Players.Puppet;
using UnityEngine;
namespace RecRoom.Core.Creation.Holotars
{
// Token: 0x020033CF RID: 13263
[Token(Token = "0x20033CF")]
public class HolotarPlaybackPuppet : PlayerPuppet
{
// Token: 0x17003EBC RID: 16060
// (get) Token: 0x06016BAA RID: 93098 RVA: 0x0054790C File Offset: 0x00545B0C
[Token(Token = "0x17003EBC")]
protected override PBFNANEPIFO PDOJHGJMNPH
{
[Token(Token = "0x6016BAA")]
[Address(RVA = "0x4177B0", Offset = "0x4167B0", VA = "0x1804177B0", Slot = "5")]
get
{
/*
An exception occurred when decompiling this method (06016BAA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling PBFNANEPIFO RecRoom.Core.Creation.Holotars.HolotarPlaybackPuppet::APDMDPBGDPL()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:GHEIBIAPJMB(var_0_06, ldfld:GHEIBIAPJMB(HolotarPlaybackPuppet::DIEPOPNJNCO, ldloc:HolotarPlaybackPuppet(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: 0x17003EBD RID: 16061
// (get) Token: 0x06016BAB RID: 93099 RVA: 0x00547920 File Offset: 0x00545B20
[Token(Token = "0x17003EBD")]
public bool MDAHDIHLCHC
{
[Token(Token = "0x6016BAB")]
[Address(RVA = "0x192D020", Offset = "0x192C020", VA = "0x18192D020")]
get
{
/*
An exception occurred when decompiling this method (06016BAB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean RecRoom.Core.Creation.Holotars.HolotarPlaybackPuppet::get_IsPlaying()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_1:
stloc:float32(var_2_25, ldfld:float32(GHEIBIAPJMB::IDOPEKABJJC, ldloc:GHEIBIAPJMB(var_1_11)))
}
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: 0x17003EBE RID: 16062
// (get) Token: 0x06016BAC RID: 93100 RVA: 0x00547954 File Offset: 0x00545B54
[Token(Token = "0x17003EBE")]
public float LGCEDPDLCKG
{
[Token(Token = "0x6016BAC")]
[Address(RVA = "0x192D080", Offset = "0x192C080", VA = "0x18192D080")]
get
{
GHEIBIAPJMB diepopnjnco;
do
{
diepopnjnco = this.DIEPOPNJNCO;
}
while (diepopnjnco == 0 || diepopnjnco.IIBGOBJLAEH == 0);
return diepopnjnco.IDOPEKABJJC;
}
}
// Token: 0x17003EBF RID: 16063
// (get) Token: 0x06016BAD RID: 93101 RVA: 0x0054797C File Offset: 0x00545B7C
[Token(Token = "0x17003EBF")]
private bool FBBGNNOCLOH
{
[Token(Token = "0x6016BAD")]
[Address(RVA = "0x192C790", Offset = "0x192B790", VA = "0x18192C790")]
get
{
float avgPeakAmp = this.levelMeter.DHOJEBFIIEG;
throw new NullReferenceException();
}
}
// Token: 0x06016BAE RID: 93102 RVA: 0x0054799C File Offset: 0x00545B9C
[Token(Token = "0x6016BAE")]
[Address(RVA = "0x192C440", Offset = "0x192B440", VA = "0x18192C440")]
protected void Awake()
{
this.FELNBMICNMF = false;
this.audioSource.Stop();
GHEIBIAPJMB diepopnjnco = this.DIEPOPNJNCO;
if (diepopnjnco.IIBGOBJLAEH != (ulong)0L)
{
int num = 0;
diepopnjnco.IJHPPDNPBNP((float)num);
}
AudioSource audioSource = this.audioSource;
int num2 = 0;
audioSource.time = (float)num2;
if (this.FELNBMICNMF)
{
this.audioSource.Play();
}
int num3 = 0;
this.DLODOPBJAPF(num3);
}
// Token: 0x06016BAF RID: 93103 RVA: 0x00547A0C File Offset: 0x00545C0C
[Token(Token = "0x6016BAF")]
[Address(RVA = "0x192C900", Offset = "0x192B900", VA = "0x18192C900", Slot = "9")]
protected override void LateUpdate()
{
base.LateUpdate();
if (this.ToString() != 0 && this.FELNBMICNMF)
{
GHEIBIAPJMB diepopnjnco = this.DIEPOPNJNCO;
float deltaTime = Time.deltaTime;
diepopnjnco.OPEMIFENIJM(deltaTime);
GHEIBIAPJMB diepopnjnco2 = this.DIEPOPNJNCO;
if (diepopnjnco2.IIBGOBJLAEH != 0)
{
float idopekabjjc = diepopnjnco2.IDOPEKABJJC;
if (!this.Loop)
{
Action onPlaybackComplete = this.OnPlaybackComplete;
if (onPlaybackComplete == 0)
{
goto IL_74;
}
onPlaybackComplete();
}
int num = 0;
this.SetTime((float)num);
}
IL_74:
if (this.PlayHolographicOverlayEffect)
{
SkinnedMeshRenderer[] currentDefaultSkinnedMeshRenderers = this.playerAvatarDisplay.CurrentDefaultSkinnedMeshRenderers;
if (currentDefaultSkinnedMeshRenderers != 0 && currentDefaultSkinnedMeshRenderers.Length != 0)
{
SkinnedMeshRenderer skinnedMeshRenderer = currentDefaultSkinnedMeshRenderers[0];
int num2 = 0;
if (skinnedMeshRenderer != num2)
{
Mesh sharedMesh = skinnedMeshRenderer.sharedMesh;
int num3 = 0;
if (sharedMesh != num3)
{
int subMeshCount = skinnedMeshRenderer.sharedMesh.subMeshCount;
HolographicOverlayRendererEffect.RenderHolographicOverlay(skinnedMeshRenderer, subMeshCount);
}
}
}
}
}
}
// Token: 0x06016BB0 RID: 93104 RVA: 0x00547B00 File Offset: 0x00545D00
[Token(Token = "0x6016BB0")]
[Address(RVA = "0x192CB00", Offset = "0x192BB00", VA = "0x18192CB00")]
private void OnDestroy()
{
int num = 0;
this.DLODOPBJAPF(num);
this.DIEPOPNJNCO.Dispose();
}
// Token: 0x06016BB1 RID: 93105 RVA: 0x00547B28 File Offset: 0x00545D28
[Token(Token = "0x6016BB1")]
[Address(RVA = "0x192C7C0", Offset = "0x192B7C0", VA = "0x18192C7C0")]
public void Initialize(KLFOBEKJDKL ABADFLCBFIJ)
{
this.FELNBMICNMF = false;
this.audioSource.Stop();
GHEIBIAPJMB diepopnjnco = this.DIEPOPNJNCO;
if (diepopnjnco.IIBGOBJLAEH != (ulong)0L)
{
int num = 0;
diepopnjnco.IJHPPDNPBNP((float)num);
}
AudioSource audioSource = this.audioSource;
int num2 = 0;
audioSource.time = (float)num2;
if (this.FELNBMICNMF)
{
this.audioSource.Play();
}
int num3 = 0;
this.DLODOPBJAPF(num3);
this.DIEPOPNJNCO.PBPPCMNHODC = ABADFLCBFIJ;
AudioManager instance = SingletonMonoBehaviour.ONCPNMDGGKG;
PBFNANEPIFO pbfnanepifo = base.PDOJHGJMNPH;
}
// Token: 0x06016BB2 RID: 93106 RVA: 0x00547BB4 File Offset: 0x00545DB4
[Token(Token = "0x6016BB2")]
[Address(RVA = "0x192CE70", Offset = "0x192BE70", VA = "0x18192CE70")]
public void RefreshFromData()
{
this.DIEPOPNJNCO.NAKBNIBLPKP();
PBFNANEPIFO pbfnanepifo = base.PDOJHGJMNPH;
}
// Token: 0x06016BB3 RID: 93107 RVA: 0x00547BDC File Offset: 0x00545DDC
[Token(Token = "0x6016BB3")]
[Address(RVA = "0x192CC90", Offset = "0x192BC90", VA = "0x18192CC90")]
public void Play()
{
GHEIBIAPJMB diepopnjnco = this.DIEPOPNJNCO;
if (diepopnjnco.IIBGOBJLAEH == 0)
{
Debug.LogWarning("Unable to play a Holotar with no assigned data.");
return;
}
if (diepopnjnco != 0 && diepopnjnco == 0)
{
AudioSource audioSource = this.audioSource;
this.FELNBMICNMF = false;
audioSource.Stop();
GHEIBIAPJMB diepopnjnco2 = this.DIEPOPNJNCO;
if (diepopnjnco2.IIBGOBJLAEH != (ulong)0L)
{
int num = 0;
diepopnjnco2.IJHPPDNPBNP((float)num);
}
AudioSource audioSource2 = this.audioSource;
int num2 = 0;
audioSource2.time = (float)num2;
if (this.FELNBMICNMF)
{
this.audioSource.Play();
}
}
AudioClip liebgliajia = this.LIEBGLIAJIA;
int num3 = 0;
if (liebgliajia == num3)
{
KHJKOGJKJNA kbfcblklmep = this.DIEPOPNJNCO.IIBGOBJLAEH.KBFCBLKLMEP;
int num4 = 0;
AudioClip audioClip = HNNCAGBOFHB.PKMDHIHNKOH(kbfcblklmep, num4);
this.DLODOPBJAPF(audioClip);
}
this.audioSource.Play();
this.FELNBMICNMF = true;
}
// Token: 0x06016BB4 RID: 93108 RVA: 0x00547CBC File Offset: 0x00545EBC
[Token(Token = "0x6016BB4")]
[Address(RVA = "0x192CC60", Offset = "0x192BC60", VA = "0x18192CC60")]
public void Pause()
{
this.FELNBMICNMF = false;
this.audioSource.Pause();
}
// Token: 0x06016BB5 RID: 93109 RVA: 0x00547CE4 File Offset: 0x00545EE4
[Token(Token = "0x6016BB5")]
[Address(RVA = "0x192CF20", Offset = "0x192BF20", VA = "0x18192CF20")]
public void Stop(bool COLKCDAABDF = true)
{
this.FELNBMICNMF = false;
this.audioSource.Stop();
GHEIBIAPJMB diepopnjnco = this.DIEPOPNJNCO;
if (diepopnjnco.IIBGOBJLAEH != (ulong)0L)
{
int num = 0;
diepopnjnco.IJHPPDNPBNP((float)num);
}
AudioSource audioSource = this.audioSource;
int num2 = 0;
audioSource.time = (float)num2;
if (this.FELNBMICNMF)
{
this.audioSource.Play();
}
if (COLKCDAABDF)
{
int num3 = 0;
this.DLODOPBJAPF(num3);
}
}
// Token: 0x06016BB6 RID: 93110 RVA: 0x00547D58 File Offset: 0x00545F58
[Token(Token = "0x6016BB6")]
[Address(RVA = "0x192CC00", Offset = "0x192BC00", VA = "0x18192CC00", Slot = "14")]
protected override void PHBDLHMLHHJ()
{
GHEIBIAPJMB diepopnjnco = this.DIEPOPNJNCO;
float avgPeakAmp = this.levelMeter.DHOJEBFIIEG;
base.PHBDLHMLHHJ();
}
// Token: 0x06016BB7 RID: 93111 RVA: 0x00547D84 File Offset: 0x00545F84
[Token(Token = "0x6016BB7")]
[Address(RVA = "0x192CB40", Offset = "0x192BB40", VA = "0x18192CB40")]
private void PDEDDMDMNFE()
{
AudioClip liebgliajia = this.LIEBGLIAJIA;
int num = 0;
if (liebgliajia == num)
{
KHJKOGJKJNA kbfcblklmep = this.DIEPOPNJNCO.IIBGOBJLAEH.KBFCBLKLMEP;
int num2 = 0;
AudioClip audioClip = HNNCAGBOFHB.PKMDHIHNKOH(kbfcblklmep, num2);
this.DLODOPBJAPF(audioClip);
}
}
// Token: 0x06016BB8 RID: 93112 RVA: 0x00547DD0 File Offset: 0x00545FD0
[Token(Token = "0x6016BB8")]
[Address(RVA = "0x192C6A0", Offset = "0x192B6A0", VA = "0x18192C6A0")]
private void DLODOPBJAPF(AudioClip OAMCCIEIHAP)
{
AudioClip liebgliajia = this.LIEBGLIAJIA;
int num = 0;
if (liebgliajia != num)
{
bool flag = this.LIEBGLIAJIA.KBBHAOLANEK();
global::UnityEngine.Object.DestroyImmediate(this.LIEBGLIAJIA);
}
AudioSource audioSource = this.audioSource;
this.LIEBGLIAJIA = OAMCCIEIHAP;
audioSource.clip = OAMCCIEIHAP;
}
// Token: 0x06016BB9 RID: 93113 RVA: 0x00547E24 File Offset: 0x00546024
[Token(Token = "0x6016BB9")]
[Address(RVA = "0x192CEB0", Offset = "0x192BEB0", VA = "0x18192CEB0")]
public void SetTime(float MOPKOPOKKEE)
{
GHEIBIAPJMB diepopnjnco = this.DIEPOPNJNCO;
if (diepopnjnco.IIBGOBJLAEH != (ulong)0L)
{
diepopnjnco.IJHPPDNPBNP(MOPKOPOKKEE);
}
this.audioSource.time = MOPKOPOKKEE;
if (this.FELNBMICNMF)
{
this.audioSource.Play();
}
}
// Token: 0x06016BBA RID: 93114 RVA: 0x00547E70 File Offset: 0x00546070
[Token(Token = "0x6016BBA")]
[Address(RVA = "0x192C620", Offset = "0x192B620", VA = "0x18192C620")]
private void BNEHHBABOOI(AudioManager.FGICFGKJOFE LMAJKCLDDIF)
{
AudioManager instance = SingletonMonoBehaviour.ONCPNMDGGKG;
}
// Token: 0x06016BBB RID: 93115 RVA: 0x00547E8C File Offset: 0x0054608C
[Token(Token = "0x6016BBB")]
[Address(RVA = "0x192C4D0", Offset = "0x192B4D0", VA = "0x18192C4D0")]
private void BDGAIMGJDGA()
{
SkinnedMeshRenderer[] currentDefaultSkinnedMeshRenderers = this.playerAvatarDisplay.CurrentDefaultSkinnedMeshRenderers;
if (currentDefaultSkinnedMeshRenderers != 0 && currentDefaultSkinnedMeshRenderers.Length != 0)
{
SkinnedMeshRenderer skinnedMeshRenderer = currentDefaultSkinnedMeshRenderers[0];
int num = 0;
if (skinnedMeshRenderer != num)
{
Mesh sharedMesh = skinnedMeshRenderer.sharedMesh;
int num2 = 0;
if (sharedMesh != num2)
{
int subMeshCount = skinnedMeshRenderer.sharedMesh.subMeshCount;
HolographicOverlayRendererEffect.RenderHolographicOverlay(skinnedMeshRenderer, subMeshCount);
}
}
}
}
// Token: 0x06016BBC RID: 93116 RVA: 0x00547EF8 File Offset: 0x005460F8
[Token(Token = "0x6016BBC")]
[Address(RVA = "0x192CFC0", Offset = "0x192BFC0", VA = "0x18192CFC0")]
public HolotarPlaybackPuppet()
{
GHEIBIAPJMB gheibiapjmb = new GHEIBIAPJMB();
this.DIEPOPNJNCO = gheibiapjmb;
base..ctor();
}
// Token: 0x0400ECEB RID: 60651
[Token(Token = "0x400ECEB")]
private const float EBAGDCGDAHI = 0.01f;
// Token: 0x0400ECEC RID: 60652
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x400ECEC")]
[SerializeField]
private AudioSource audioSource;
// Token: 0x0400ECED RID: 60653
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400ECED")]
[SerializeField]
private AudioSourceSimpleLevelMeter levelMeter;
// Token: 0x0400ECEE RID: 60654
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x400ECEE")]
public bool Loop;
// Token: 0x0400ECEF RID: 60655
[FieldOffset(Offset = "0x69")]
[Token(Token = "0x400ECEF")]
public bool PlayHolographicOverlayEffect;
// Token: 0x0400ECF0 RID: 60656
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x400ECF0")]
public Action OnPlaybackComplete;
// Token: 0x0400ECF1 RID: 60657
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x400ECF1")]
private AudioClip LIEBGLIAJIA;
// Token: 0x0400ECF2 RID: 60658
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x400ECF2")]
protected GHEIBIAPJMB DIEPOPNJNCO;
// Token: 0x0400ECF3 RID: 60659
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x400ECF3")]
private bool FELNBMICNMF;
}
}