236 lines
12 KiB
C#
236 lines
12 KiB
C#
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 <DCPCMEAPAKJ>k__BackingField = KJAFOCJMDIH.<DCPCMEAPAKJ>k__BackingField;
|
|
string <CMKJKMJIGEL>k__BackingField = KJAFOCJMDIH.<CMKJKMJIGEL>k__BackingField;
|
|
string <BFMHMHLLEGF>k__BackingField = KJAFOCJMDIH.<BFMHMHLLEGF>k__BackingField;
|
|
string <PNBGCBDOILI>k__BackingField = KJAFOCJMDIH.<PNBGCBDOILI>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.<DCPCMEAPAKJ>k__BackingField) && !string.IsNullOrEmpty(KJAFOCJMDIH.<CMKJKMJIGEL>k__BackingField) && !string.IsNullOrEmpty(KJAFOCJMDIH.<BFMHMHLLEGF>k__BackingField))
|
|
{
|
|
return !string.IsNullOrEmpty(KJAFOCJMDIH.<PNBGCBDOILI>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<ISchedule> GMEMDHPGMKG()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0600ED18)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1<RecRoom.Core.ISchedule> 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 <CompletedPromise>k__BackingField;
|
|
do
|
|
{
|
|
<CompletedPromise>k__BackingField = Promise.<CompletedPromise>k__BackingField;
|
|
if (<CompletedPromise>k__BackingField == 0)
|
|
{
|
|
}
|
|
}
|
|
while (<CompletedPromise>k__BackingField == 0);
|
|
this.NGNBPMOEKFJ = <CompletedPromise>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;
|
|
}
|
|
}
|