using System; using System.Collections.Generic; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom.Async; using RecRoom.Avatar.Face; using RecRoom.Core; using RecRoom.Players; using RecRoom.Players.Puppet; namespace RecRoom.Avatar.Poseable { // Token: 0x0200219D RID: 8605 [Token(Token = "0x200219D")] [StructLayout(3)] public class PoseableAvatarPuppet : PlayerPuppet { // Token: 0x170027AD RID: 10157 // (get) Token: 0x0600ED10 RID: 60688 RVA: 0x00383108 File Offset: 0x00381308 [Token(Token = "0x170027AD")] protected override PBFNANEPIFO PDOJHGJMNPH { [Token(Token = "0x600ED10")] [Address(RVA = "0x462740", Offset = "0x461140", VA = "0x180462740", Slot = "5")] get { /* An exception occurred when decompiling this method (0600ED10) ICSharpCode.Decompiler.DecompilerException: Error decompiling PBFNANEPIFO RecRoom.Avatar.Poseable.PoseableAvatarPuppet::APDMDPBGDPL() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:KDEHDEIFOIN(var_0_06, ldfld:KDEHDEIFOIN(PoseableAvatarPuppet::FOCJEOOAOMF, ldloc:PoseableAvatarPuppet(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: 0x170027AE RID: 10158 // (get) Token: 0x0600ED11 RID: 60689 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x170027AE")] protected override PlayerAvatarDisplay.OHNJHKNLAHC CFJPDKKNGEE { [Token(Token = "0x600ED11")] [Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0", Slot = "8")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x0600ED12 RID: 60690 RVA: 0x0038311C File Offset: 0x0038131C [Token(Token = "0x600ED12")] [Address(RVA = "0x173D320", Offset = "0x173BD20", VA = "0x18173D320")] private void Awake() { PlayerAvatarDisplay playerAvatarDisplay = this.playerAvatarDisplay; Action action = new Action(this.MJDLJPJCGBL); playerAvatarDisplay.HKEGDMNCKHM += action; } // Token: 0x0600ED13 RID: 60691 RVA: 0x0038314C File Offset: 0x0038134C [Token(Token = "0x600ED13")] [Address(RVA = "0x173D910", Offset = "0x173C310", VA = "0x18173D910")] protected void OnDestroy() { PlayerAvatarDisplay playerAvatarDisplay = this.playerAvatarDisplay; int num = 0; if (playerAvatarDisplay != num) { PlayerAvatarDisplay playerAvatarDisplay2 = this.playerAvatarDisplay; Action action = new Action(this.MJDLJPJCGBL); playerAvatarDisplay2.HKEGDMNCKHM -= action; } KDEHDEIFOIN focjeooaomf = this.FOCJEOOAOMF; if (focjeooaomf != 0) { focjeooaomf.Dispose(); } this.FOCJEOOAOMF = (ulong)0L; } // Token: 0x0600ED14 RID: 60692 RVA: 0x003831AC File Offset: 0x003813AC [Token(Token = "0x600ED14")] [Address(RVA = "0x173D400", Offset = "0x173BE00", VA = "0x18173D400")] public IPromise InitializeAsync(GGMFNEALJGL KJAFOCJMDIH, PoseableAvatarAsset ABADFLCBFIJ) { if (KJAFOCJMDIH != 0) { string k__BackingField = KJAFOCJMDIH.k__BackingField; string k__BackingField = KJAFOCJMDIH.k__BackingField; string k__BackingField = KJAFOCJMDIH.k__BackingField; string k__BackingField = KJAFOCJMDIH.k__BackingField; Promise promise = new Promise(); this.NGNBPMOEKFJ = promise; KDEHDEIFOIN kdehdeifoin = KDEHDEIFOIN.KGPKEFGANCP(KJAFOCJMDIH); this.FOCJEOOAOMF = kdehdeifoin; if (kdehdeifoin != 0) { ACHNJMAHALI achnjmahali; float codofndjlnp = achnjmahali.CODOFNDJLNP; float w = achnjmahali.FJPMMIIMNJG.Rotation.w; ABADFLCBFIJ.PoseData.LeftHandThumbUp = w; PlayerAnimationFrameTransform enoneadfacp = achnjmahali.ENONEADFACP; ABADFLCBFIJ.PoseData.RightHand.Rotation = enoneadfacp; float y = achnjmahali.ENONEADFACP.Rotation.y; ABADFLCBFIJ.PoseData.RightHandTrigger = y; float z = achnjmahali.EAFCPPAEHJA.Rotation.z; ABADFLCBFIJ.PoseData.Head.Rotation.z = z; float w2 = achnjmahali.CPBIELIDPBI.Rotation.w; ABADFLCBFIJ.PoseData.Body.Rotation.w = w2; this.PHBDLHMLHHJ(); PlayerEmotes.MGIGFNJOGEM emote = ABADFLCBFIJ.Emote; PlayerFacialAnimator facialAnimator = base.MFMOOOFDFHJ; PlayerFacialAnimator facialAnimator2 = base.MFMOOOFDFHJ; int num = 0; facialAnimator2.IALAFCJLAJM = (float)num; } bool flag = kdehdeifoin.EPDBCAOKNHF; } IPromise promise2 = Promise.FromError("Poseable Avatar Pupper Source cannot be generated from an invalid avatar"); throw new NullReferenceException(); } // Token: 0x0600ED15 RID: 60693 RVA: 0x00383324 File Offset: 0x00381524 [Token(Token = "0x600ED15")] [Address(RVA = "0x173D740", Offset = "0x173C140", VA = "0x18173D740")] public static bool IsAvatarValidForPoseGeneration(GGMFNEALJGL KJAFOCJMDIH) { if (KJAFOCJMDIH != 0 && !string.IsNullOrEmpty(KJAFOCJMDIH.k__BackingField) && !string.IsNullOrEmpty(KJAFOCJMDIH.k__BackingField) && !string.IsNullOrEmpty(KJAFOCJMDIH.k__BackingField)) { return !string.IsNullOrEmpty(KJAFOCJMDIH.k__BackingField); } } // Token: 0x0600ED16 RID: 60694 RVA: 0x00383370 File Offset: 0x00381570 [Token(Token = "0x600ED16")] [Address(RVA = "0x173D7A0", Offset = "0x173C1A0", VA = "0x18173D7A0")] private void JMELEEJNCIL(PlayerEmotes.MGIGFNJOGEM HCPNGDMELND, float DIJKHBILKOM) { PlayerFacialAnimator facialAnimator = base.MFMOOOFDFHJ; PlayerFacialAnimator facialAnimator2 = base.MFMOOOFDFHJ; int num = 0; facialAnimator2.IALAFCJLAJM = (float)num; } // Token: 0x0600ED17 RID: 60695 RVA: 0x0038339C File Offset: 0x0038159C [Token(Token = "0x600ED17")] [Address(RVA = "0x173D810", Offset = "0x173C210", VA = "0x18173D810")] private void MJDLJPJCGBL() { Scheduler instance = SingletonMonoBehaviour.Instance; PoseableAvatarPuppet.IJPPBJPGMNK ijppbjpgmnk; ijppbjpgmnk.System.IDisposable.Dispose(); ijppbjpgmnk.<>1__state = (int)((ulong)0L); ijppbjpgmnk.<>4__this = this; ISchedulerPromise schedulerPromise = instance.Run(this, ijppbjpgmnk); } // Token: 0x0600ED18 RID: 60696 RVA: 0x003833D4 File Offset: 0x003815D4 [Token(Token = "0x600ED18")] [Address(RVA = "0x173D3A0", Offset = "0x173BDA0", VA = "0x18173D3A0")] private IEnumerator GMEMDHPGMKG() { /* An exception occurred when decompiling this method (0600ED18) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.Avatar.Poseable.PoseableAvatarPuppet::GMEMDHPGMKG() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(IJPPBJPGMNK::System.IDisposable.Dispose, ldloc:IJPPBJPGMNK(var_0)) stfld:int32(IJPPBJPGMNK::<>1__state, ldloc:IJPPBJPGMNK(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:PoseableAvatarPuppet(IJPPBJPGMNK::<>4__this, ldloc:IJPPBJPGMNK(var_0), ldloc:PoseableAvatarPuppet(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: 0x0600ED19 RID: 60697 RVA: 0x003833F8 File Offset: 0x003815F8 [Token(Token = "0x600ED19")] [Address(RVA = "0x173D8E0", Offset = "0x173C2E0", VA = "0x18173D8E0", Slot = "15")] protected override void NIDCJDKOAIJ() { base.NIDCJDKOAIJ(); this.playerAvatarDisplay.ForceUpdateHandsVisualState(); } // Token: 0x0600ED1A RID: 60698 RVA: 0x0038341C File Offset: 0x0038161C [Token(Token = "0x600ED1A")] [Address(RVA = "0x173D9E0", Offset = "0x173C3E0", VA = "0x18173D9E0")] public PoseableAvatarPuppet() { IPromise k__BackingField; do { k__BackingField = Promise.k__BackingField; if (k__BackingField == 0) { } } while (k__BackingField == 0); this.NGNBPMOEKFJ = k__BackingField; base..ctor(); } // Token: 0x04009D79 RID: 40313 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4009D79")] private KDEHDEIFOIN FOCJEOOAOMF; // Token: 0x04009D7A RID: 40314 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x4009D7A")] private Promise NGNBPMOEKFJ; } }