553 lines
18 KiB
C#
553 lines
18 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cpp2IlInjected;
|
|
using Google.Protobuf;
|
|
using Google.Protobuf.Collections;
|
|
using RecRoom.Networking;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Core.Creation.Shapes
|
|
{
|
|
// Token: 0x02003366 RID: 13158
|
|
[Token(Token = "0x2003366")]
|
|
public class ShapeContainerDataBitPacker
|
|
{
|
|
// Token: 0x06016D09 RID: 93449 RVA: 0x00552D2C File Offset: 0x00550F2C
|
|
[Token(Token = "0x6016D09")]
|
|
[Address(RVA = "0x16845A0", Offset = "0x16833A0", VA = "0x1816845A0")]
|
|
[CBEAKPMNJOL(LGFJHLDANJN.Unity_AfterSceneLoad)]
|
|
private static void RegisterRpcSerializationHandlers()
|
|
{
|
|
PMDMLFNOIDA pmdmlfnoida = PMDMLFNOIDA.ONCPNMDGGKG;
|
|
int num;
|
|
Action<BitPacker, PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD> action = new Action(num.CompressShapeContainer);
|
|
num = 0;
|
|
int num2;
|
|
Func<BitPacker, PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD> func = new Func(num2.DecompressShapeContainer);
|
|
num2 = 0;
|
|
pmdmlfnoida.PAKHKCPLNMC<PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD>(action, func);
|
|
PMDMLFNOIDA pmdmlfnoida2 = PMDMLFNOIDA.ONCPNMDGGKG;
|
|
int num3;
|
|
Action<BitPacker, PPOLCGCAKLF> action2 = new Action(num3.CompressShapeContainerCollection);
|
|
num3 = 0;
|
|
int num4;
|
|
Func<BitPacker, PPOLCGCAKLF> func2 = new Func(num4.DecompressShapeContainerCollection);
|
|
num4 = 0;
|
|
pmdmlfnoida2.PAKHKCPLNMC<PPOLCGCAKLF>(action2, func2);
|
|
PMDMLFNOIDA pmdmlfnoida3 = PMDMLFNOIDA.ONCPNMDGGKG;
|
|
int num5;
|
|
Action<BitPacker, ENMKBCNAGIC> action3 = new Action(num5.CompressShapeCollection);
|
|
num5 = 0;
|
|
int num6;
|
|
Func<BitPacker, ENMKBCNAGIC> func3 = new Func(num6.DecompressShapeCollection);
|
|
num6 = 0;
|
|
pmdmlfnoida3.PAKHKCPLNMC<ENMKBCNAGIC>(action3, func3);
|
|
}
|
|
|
|
// Token: 0x06016D0A RID: 93450 RVA: 0x00552DE4 File Offset: 0x00550FE4
|
|
[Token(Token = "0x6016D0A")]
|
|
[Address(RVA = "0x1684760", Offset = "0x1683560", VA = "0x181684760")]
|
|
[CALLMFDLAPD(IFJNJDOONNL.ExitingPlayMode, 0)]
|
|
private static void UnregisterRpcSerializationHandlers()
|
|
{
|
|
PMDMLFNOIDA.ONCPNMDGGKG.NFJKPKDIFKP<PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD>();
|
|
PMDMLFNOIDA.ONCPNMDGGKG.NFJKPKDIFKP<PPOLCGCAKLF>();
|
|
PMDMLFNOIDA.ONCPNMDGGKG.NFJKPKDIFKP<ENMKBCNAGIC>();
|
|
}
|
|
|
|
// Token: 0x06016D0B RID: 93451 RVA: 0x00552E1C File Offset: 0x0055101C
|
|
[Token(Token = "0x6016D0B")]
|
|
[Address(RVA = "0x16828F0", Offset = "0x16816F0", VA = "0x1816828F0")]
|
|
private static void CompressShapeContainerCollection(BitPacker bitPacker, PPOLCGCAKLF collection)
|
|
{
|
|
RepeatedField<PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD> aeopdkhjpif = collection.AEOPDKHJPIF;
|
|
int num;
|
|
Action<BitPacker, PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD> action = new Action(num.CompressShapeContainer);
|
|
num = 0;
|
|
bitPacker.WriteList<PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD>(aeopdkhjpif, action);
|
|
}
|
|
|
|
// Token: 0x06016D0C RID: 93452 RVA: 0x00552E50 File Offset: 0x00551050
|
|
[Token(Token = "0x6016D0C")]
|
|
[Address(RVA = "0x16835C0", Offset = "0x16823C0", VA = "0x1816835C0")]
|
|
private static PPOLCGCAKLF DecompressShapeContainerCollection(BitPacker bitPacker)
|
|
{
|
|
PPOLCGCAKLF ppolcgcaklf = new PPOLCGCAKLF();
|
|
RepeatedField<PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD> aeopdkhjpif = ppolcgcaklf.AEOPDKHJPIF;
|
|
int num;
|
|
Func<BitPacker, PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD> func = new Func(num.DecompressShapeContainer);
|
|
num = 0;
|
|
List<PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD> list = bitPacker.ReadList<PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD>(func);
|
|
aeopdkhjpif.AddRange(list);
|
|
return ppolcgcaklf;
|
|
}
|
|
|
|
// Token: 0x06016D0D RID: 93453 RVA: 0x00552E94 File Offset: 0x00551094
|
|
[Token(Token = "0x6016D0D")]
|
|
[Address(RVA = "0x1682980", Offset = "0x1681780", VA = "0x181682980")]
|
|
private static void CompressShapeContainer(BitPacker bitPacker, PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD entry)
|
|
{
|
|
ENMKBCNAGIC blhogddjnlb;
|
|
do
|
|
{
|
|
int nnngllgcggd = entry.NNNGLLGCGGD;
|
|
bitPacker.WriteVarUInt((uint)nnngllgcggd);
|
|
bool kejibjkbcpc = entry.KEJIBJKBCPC;
|
|
bitPacker.WriteBool(kejibjkbcpc);
|
|
if (entry.KEJIBJKBCPC)
|
|
{
|
|
return;
|
|
}
|
|
blhogddjnlb = entry.BLHOGDDJNLB;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Vector3 minExtent;
|
|
minExtent.z = z;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
Vector3 maxExtent;
|
|
maxExtent.z = z2;
|
|
}
|
|
while (bitPacker == 0);
|
|
float z3 = CS$<>8__locals1.minExtent.z;
|
|
float z4 = CS$<>8__locals1.maxExtent.z;
|
|
RepeatedField<LAKMDOLHIBI> blhogddjnlb2 = blhogddjnlb.BLHOGDDJNLB;
|
|
Action<BitPacker, LAKMDOLHIBI> action = delegate(BitPacker bp, LAKMDOLHIBI s)
|
|
{
|
|
float z5 = CS$<>8__locals1.maxExtent.z;
|
|
float z6 = CS$<>8__locals1.minExtent.z;
|
|
};
|
|
bitPacker.WriteList<LAKMDOLHIBI>(blhogddjnlb2, action);
|
|
}
|
|
|
|
// Token: 0x06016D0E RID: 93454 RVA: 0x00552F54 File Offset: 0x00551154
|
|
[Token(Token = "0x6016D0E")]
|
|
[Address(RVA = "0x1683690", Offset = "0x1682490", VA = "0x181683690")]
|
|
private static PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD DecompressShapeContainer(BitPacker bitPacker)
|
|
{
|
|
PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD ceaiainmicd;
|
|
do
|
|
{
|
|
ceaiainmicd = new PPOLCGCAKLF.FIFELKAAAPH.CEAIAINMICD();
|
|
uint num = bitPacker.ReadVarUInt();
|
|
ceaiainmicd.NNNGLLGCGGD = (int)num;
|
|
bool flag = bitPacker.ReadBool();
|
|
ceaiainmicd.KEJIBJKBCPC = flag;
|
|
if (flag)
|
|
{
|
|
return ceaiainmicd;
|
|
}
|
|
}
|
|
while (bitPacker == 0);
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
CS$<>8__locals1.minExtent.z = z;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
CS$<>8__locals1.maxExtent.z = z2;
|
|
ENMKBCNAGIC enmkbcnagic = new ENMKBCNAGIC();
|
|
RepeatedField<LAKMDOLHIBI> blhogddjnlb = enmkbcnagic.BLHOGDDJNLB;
|
|
Func<BitPacker, LAKMDOLHIBI> func = delegate(BitPacker bp)
|
|
{
|
|
float z3 = CS$<>8__locals1.maxExtent.z;
|
|
float z4 = CS$<>8__locals1.minExtent.z;
|
|
LAKMDOLHIBI lakmdolhibi;
|
|
return lakmdolhibi;
|
|
};
|
|
List<LAKMDOLHIBI> list = bitPacker.ReadList<LAKMDOLHIBI>(func);
|
|
blhogddjnlb.AddRange(list);
|
|
ceaiainmicd.BLHOGDDJNLB = enmkbcnagic;
|
|
return ceaiainmicd;
|
|
}
|
|
|
|
// Token: 0x06016D0F RID: 93455 RVA: 0x00553004 File Offset: 0x00551204
|
|
[Token(Token = "0x6016D0F")]
|
|
[Address(RVA = "0x1682720", Offset = "0x1681520", VA = "0x181682720")]
|
|
private static void CompressShapeCollection(BitPacker bitPackerBase, ENMKBCNAGIC collection)
|
|
{
|
|
do
|
|
{
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Vector3 minExtent;
|
|
minExtent.z = z;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
Vector3 maxExtent;
|
|
maxExtent.z = z2;
|
|
}
|
|
while (bitPackerBase == 0);
|
|
float z3 = CS$<>8__locals1.minExtent.z;
|
|
float z4 = CS$<>8__locals1.maxExtent.z;
|
|
RepeatedField<LAKMDOLHIBI> blhogddjnlb = collection.BLHOGDDJNLB;
|
|
Action<BitPacker, LAKMDOLHIBI> action = delegate(BitPacker bp, LAKMDOLHIBI s)
|
|
{
|
|
float z5 = CS$<>8__locals1.maxExtent.z;
|
|
float z6 = CS$<>8__locals1.minExtent.z;
|
|
};
|
|
bitPackerBase.WriteList<LAKMDOLHIBI>(blhogddjnlb, action);
|
|
}
|
|
|
|
// Token: 0x06016D10 RID: 93456 RVA: 0x0055308C File Offset: 0x0055128C
|
|
[Token(Token = "0x6016D10")]
|
|
[Address(RVA = "0x1683430", Offset = "0x1682230", VA = "0x181683430")]
|
|
private static ENMKBCNAGIC DecompressShapeCollection(BitPacker bitPackerBase)
|
|
{
|
|
do
|
|
{
|
|
}
|
|
while (bitPackerBase == 0);
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
CS$<>8__locals1.minExtent.z = z;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
CS$<>8__locals1.maxExtent.z = z2;
|
|
ENMKBCNAGIC enmkbcnagic = new ENMKBCNAGIC();
|
|
RepeatedField<LAKMDOLHIBI> blhogddjnlb = enmkbcnagic.BLHOGDDJNLB;
|
|
Func<BitPacker, LAKMDOLHIBI> func = delegate(BitPacker bp)
|
|
{
|
|
float z3 = CS$<>8__locals1.maxExtent.z;
|
|
float z4 = CS$<>8__locals1.minExtent.z;
|
|
LAKMDOLHIBI lakmdolhibi;
|
|
return lakmdolhibi;
|
|
};
|
|
List<LAKMDOLHIBI> list = bitPackerBase.ReadList<LAKMDOLHIBI>(func);
|
|
blhogddjnlb.AddRange(list);
|
|
return enmkbcnagic;
|
|
}
|
|
|
|
// Token: 0x06016D11 RID: 93457 RVA: 0x00553108 File Offset: 0x00551308
|
|
[Token(Token = "0x6016D11")]
|
|
[Address(RVA = "0x1682B90", Offset = "0x1681990", VA = "0x181682B90")]
|
|
private static void CompressShape(BitPacker bitPackerBase, LAKMDOLHIBI shape, Vector3 minPositionExtent, Vector3 maxPositionExtent)
|
|
{
|
|
do
|
|
{
|
|
if (bitPackerBase == 0)
|
|
{
|
|
}
|
|
}
|
|
while (bitPackerBase == 0);
|
|
int num = 0;
|
|
int mgjcejapfpi = shape.MGJCEJAPFPI;
|
|
bitPackerBase.WriteInt(mgjcejapfpi, num, 18);
|
|
int bpcfmhdhebp = shape.BPCFMHDHEBP;
|
|
int num2 = 0;
|
|
bitPackerBase.WriteInt(bpcfmhdhebp, num2, 60);
|
|
int jaejnaiigcn = shape.JAEJNAIIGCN;
|
|
int num3 = 0;
|
|
bitPackerBase.WriteInt(jaejnaiigcn, num3, 31);
|
|
float jhdcabhkloo = shape.JHDCABHKLOO;
|
|
float ifkafhkfcaj = shape.IFKAFHKFCAJ;
|
|
bitPackerBase.WriteUncompressedFloat(ifkafhkfcaj);
|
|
float cmppkafhkac = shape.CMPPKAFHKAC;
|
|
bitPackerBase.WriteUncompressedFloat(cmppkafhkac);
|
|
MLLDBGNOBLL mghpabcfkjj = shape.MGHPABCFKJJ;
|
|
int num4 = 0;
|
|
float aefmfcnonnn = mghpabcfkjj.AEFMFCNONNN;
|
|
ulong num5;
|
|
bitPackerBase.WriteFloat(aefmfcnonnn, (float)num4, 16f, (int)num5);
|
|
MLLDBGNOBLL mghpabcfkjj2 = shape.MGHPABCFKJJ;
|
|
int num6 = 0;
|
|
float mcjaimhjkba = mghpabcfkjj2.MCJAIMHJKBA;
|
|
ulong num7;
|
|
bitPackerBase.WriteFloat(mcjaimhjkba, (float)num6, 16f, (int)num7);
|
|
MLLDBGNOBLL mghpabcfkjj3 = shape.MGHPABCFKJJ;
|
|
int num8 = 0;
|
|
float haoccmehaek = mghpabcfkjj3.HAOCCMEHAEK;
|
|
ulong num9;
|
|
bitPackerBase.WriteFloat(haoccmehaek, (float)num8, 16f, (int)num9);
|
|
int nkmhcdblepo = shape.NKMHCDBLEPO;
|
|
int num10 = 0;
|
|
bitPackerBase.WriteInt(nkmhcdblepo, num10, 1);
|
|
int mgjcejapfpi2 = shape.MGJCEJAPFPI;
|
|
int mgjcejapfpi3 = shape.MGJCEJAPFPI;
|
|
float aefmfcnonnn2 = shape.IDGDGOFNHPG.KMIBIFIFMEF.AEFMFCNONNN;
|
|
float mcjaimhjkba2 = shape.IDGDGOFNHPG.KMIBIFIFMEF.MCJAIMHJKBA;
|
|
float haoccmehaek2 = shape.IDGDGOFNHPG.KMIBIFIFMEF.HAOCCMEHAEK;
|
|
}
|
|
|
|
// Token: 0x06016D12 RID: 93458 RVA: 0x00553314 File Offset: 0x00551514
|
|
[Token(Token = "0x6016D12")]
|
|
[Address(RVA = "0x1683880", Offset = "0x1682680", VA = "0x181683880")]
|
|
private static LAKMDOLHIBI DecompressShape(BitPacker bitPackerBase, Vector3 minPositionExtent, Vector3 maxPositionExtent)
|
|
{
|
|
do
|
|
{
|
|
if (bitPackerBase == 0)
|
|
{
|
|
}
|
|
}
|
|
while (bitPackerBase == 0);
|
|
LAKMDOLHIBI lakmdolhibi = new LAKMDOLHIBI();
|
|
ByteString byteString;
|
|
lakmdolhibi.JPOHGBCEJEJ = byteString;
|
|
int num = bitPackerBase.ReadInt(-1, 18);
|
|
lakmdolhibi.MGJCEJAPFPI = num;
|
|
int num2 = 0;
|
|
int num3 = bitPackerBase.ReadInt(num2, 60);
|
|
lakmdolhibi.BPCFMHDHEBP = num3;
|
|
int num4 = 0;
|
|
int num5 = bitPackerBase.ReadInt(num4, 31);
|
|
lakmdolhibi.JAEJNAIIGCN = num5;
|
|
MLLDBGNOBLL mlldbgnobll;
|
|
lakmdolhibi.CPPHBOGGGNF = mlldbgnobll;
|
|
MLLDBGNOBLL mlldbgnobll2;
|
|
lakmdolhibi.GBAKPJJFCLK = mlldbgnobll2;
|
|
bool flag = "{il2cpp field on {'constant1' (constant value of type Cpp2IL.Core.Analysis.ResultModels.StackPointer)}, offset 0x67}" == (ulong)0L;
|
|
lakmdolhibi.ILGFEHFHFIB = flag;
|
|
float num6;
|
|
lakmdolhibi.JHDCABHKLOO = num6;
|
|
float num7 = bitPackerBase.ReadUncompressedFloat();
|
|
lakmdolhibi.IFKAFHKFCAJ = num7;
|
|
float num8 = bitPackerBase.ReadUncompressedFloat();
|
|
int num9 = 0;
|
|
lakmdolhibi.CMPPKAFHKAC = num8;
|
|
float num10 = bitPackerBase.ReadFloat((float)num9, 16f, 10);
|
|
int num11 = 0;
|
|
float num12 = bitPackerBase.ReadFloat((float)num11, 16f, 10);
|
|
int num13 = 0;
|
|
float num14 = bitPackerBase.ReadFloat((float)num13, 16f, 10);
|
|
MLLDBGNOBLL mlldbgnobll3;
|
|
lakmdolhibi.MGHPABCFKJJ = mlldbgnobll3;
|
|
int num15 = 0;
|
|
int num16 = bitPackerBase.ReadInt(num15, 1);
|
|
int mgjcejapfpi = lakmdolhibi.MGJCEJAPFPI;
|
|
lakmdolhibi.NKMHCDBLEPO = num16;
|
|
int mgjcejapfpi2 = lakmdolhibi.MGJCEJAPFPI;
|
|
ENJMDBGOOND enjmdbgoond = new ENJMDBGOOND();
|
|
lakmdolhibi.IDGDGOFNHPG = enjmdbgoond;
|
|
ENJMDBGOOND enjmdbgoond2 = lakmdolhibi.IDGDGOFNHPG;
|
|
MLLDBGNOBLL mlldbgnobll4 = new MLLDBGNOBLL();
|
|
enjmdbgoond2.KMIBIFIFMEF = mlldbgnobll4;
|
|
float num17;
|
|
lakmdolhibi.IDGDGOFNHPG.KMIBIFIFMEF.AEFMFCNONNN = num17;
|
|
float num18;
|
|
lakmdolhibi.IDGDGOFNHPG.KMIBIFIFMEF.MCJAIMHJKBA = num18;
|
|
float num19;
|
|
lakmdolhibi.IDGDGOFNHPG.KMIBIFIFMEF.HAOCCMEHAEK = num19;
|
|
int num20 = bitPackerBase.ReadInt(4, 20);
|
|
int radiusRequiredBits = num20;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Vector3 minExtent;
|
|
minExtent.z = z;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
Vector3 maxExtent;
|
|
maxExtent.z = z2;
|
|
JJHOJPEIKCM jjhojpeikcm = new JJHOJPEIKCM();
|
|
lakmdolhibi.PPGHMGEIBMN = jjhojpeikcm;
|
|
RepeatedField<DIEPKHGNMAG> jihnbkmliaf = lakmdolhibi.PPGHMGEIBMN.JIHNBKMLIAF;
|
|
Func<BitPacker, DIEPKHGNMAG> func = delegate(BitPacker bp)
|
|
{
|
|
float z3 = maxExtent.z;
|
|
float z4 = minExtent.z;
|
|
DIEPKHGNMAG diepkhgnmag;
|
|
return diepkhgnmag;
|
|
};
|
|
List<DIEPKHGNMAG> list = bitPackerBase.ReadList<DIEPKHGNMAG>(func);
|
|
jihnbkmliaf.AddRange(list);
|
|
JJHOJPEIKCM jjhojpeikcm2 = lakmdolhibi.PPGHMGEIBMN;
|
|
bool flag2 = bitPackerBase.ReadBool();
|
|
jjhojpeikcm2.FEEHBNMBEBL = flag2;
|
|
JJHOJPEIKCM jjhojpeikcm3 = lakmdolhibi.PPGHMGEIBMN;
|
|
int num21 = bitPackerBase.ReadInt(1, 10);
|
|
jjhojpeikcm3.IAAJELGPLJP = num21;
|
|
JJHOJPEIKCM jjhojpeikcm4 = lakmdolhibi.PPGHMGEIBMN;
|
|
int num22 = 0;
|
|
float num23 = bitPackerBase.ReadFloat((float)num22, 1f, 5);
|
|
jjhojpeikcm4.PCMDFBEIPEL = num23;
|
|
JJHOJPEIKCM jjhojpeikcm5 = lakmdolhibi.PPGHMGEIBMN;
|
|
bool flag3 = bitPackerBase.ReadBool();
|
|
jjhojpeikcm5.KMEJODNODEF = flag3;
|
|
return lakmdolhibi;
|
|
}
|
|
|
|
// Token: 0x06016D13 RID: 93459 RVA: 0x0055358C File Offset: 0x0055178C
|
|
[Token(Token = "0x6016D13")]
|
|
[Address(RVA = "0x1684320", Offset = "0x1683120", VA = "0x181684320")]
|
|
private static Bounds GetShapePositionBounds(IList<LAKMDOLHIBI> shapes)
|
|
{
|
|
if (0 != 0)
|
|
{
|
|
int num = 0;
|
|
int num2 = 0;
|
|
Vector3 vector = num.DEEKJHMMLDF();
|
|
float z = Vector3.zero.z;
|
|
int num3 = 0;
|
|
if (num3 < num2)
|
|
{
|
|
num3 += num3;
|
|
if (num3 == num2)
|
|
{
|
|
goto IL_6C;
|
|
}
|
|
num3++;
|
|
}
|
|
int num4 = 0;
|
|
uint num5;
|
|
if (num5 >= (uint)z)
|
|
{
|
|
goto IL_8E;
|
|
}
|
|
if (num3 < num4)
|
|
{
|
|
num3 += num3;
|
|
if (num3 == num4)
|
|
{
|
|
goto IL_7D;
|
|
}
|
|
num3++;
|
|
}
|
|
Vector3 vector2;
|
|
float num6 = vector2.z;
|
|
num5 += (uint)1;
|
|
IL_6C:
|
|
num5 += num5;
|
|
num6 += 2.7E-44f;
|
|
IL_7D:
|
|
num5 += num5;
|
|
num6 += 2.7E-44f;
|
|
}
|
|
IL_8E:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06016D14 RID: 93460 RVA: 0x0055362C File Offset: 0x0055182C
|
|
[Token(Token = "0x6016D14")]
|
|
[Address(RVA = "0x16840A0", Offset = "0x1682EA0", VA = "0x1816840A0")]
|
|
private static Bounds GetControlPointPositionBounds(IList<DIEPKHGNMAG> controlPoints)
|
|
{
|
|
if (0 != 0)
|
|
{
|
|
int num = 0;
|
|
int num2 = 0;
|
|
Vector3 vector = num.DEEKJHMMLDF();
|
|
float z = Vector3.zero.z;
|
|
int num3 = 0;
|
|
if (num3 < num2)
|
|
{
|
|
num3 += num3;
|
|
if (num3 == num2)
|
|
{
|
|
goto IL_6C;
|
|
}
|
|
num3++;
|
|
}
|
|
int num4 = 0;
|
|
uint num5;
|
|
if (num5 >= (uint)z)
|
|
{
|
|
goto IL_8E;
|
|
}
|
|
if (num3 < num4)
|
|
{
|
|
num3 += num3;
|
|
if (num3 == num4)
|
|
{
|
|
goto IL_7D;
|
|
}
|
|
num3++;
|
|
}
|
|
Vector3 vector2;
|
|
float num6 = vector2.z;
|
|
num5 += (uint)1;
|
|
IL_6C:
|
|
num5 += num5;
|
|
num6 += 2.7E-44f;
|
|
IL_7D:
|
|
num5 += num5;
|
|
num6 += 2.7E-44f;
|
|
}
|
|
IL_8E:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06016D15 RID: 93461 RVA: 0x005536CC File Offset: 0x005518CC
|
|
[Token(Token = "0x6016D15")]
|
|
[Address(RVA = "0x1683220", Offset = "0x1682020", VA = "0x181683220")]
|
|
private static void CompressTubeControlPoint(BitPacker bitPackerBase, DIEPKHGNMAG controlPoint, int radiusRequiredBits, Vector3 minPositionExtent, Vector3 maxPositionExtent)
|
|
{
|
|
do
|
|
{
|
|
if (bitPackerBase == 0)
|
|
{
|
|
}
|
|
}
|
|
while (bitPackerBase == 0);
|
|
float z = minPositionExtent.z;
|
|
Vector3 vector;
|
|
float z2 = vector.z;
|
|
Vector3 vector2;
|
|
float z3 = vector2.z;
|
|
float kemaajnjagk = controlPoint.KEMAAJNJAGK;
|
|
int num = 0;
|
|
float bpfkhneigpj = ShapeContainer.NKHMHPMBBPA.BPFKHNEIGPJ;
|
|
bitPackerBase.WriteFloat(kemaajnjagk, (float)num, bpfkhneigpj, radiusRequiredBits);
|
|
}
|
|
|
|
// Token: 0x06016D16 RID: 93462 RVA: 0x0055371C File Offset: 0x0055191C
|
|
[Token(Token = "0x6016D16")]
|
|
[Address(RVA = "0x1683E90", Offset = "0x1682C90", VA = "0x181683E90")]
|
|
private static DIEPKHGNMAG DecompressTubeControlPoint(BitPacker bitPackerBase, int radiusRequiredBits, Vector3 minPositionExtent, Vector3 maxPositionExtent)
|
|
{
|
|
do
|
|
{
|
|
if (bitPackerBase == 0)
|
|
{
|
|
}
|
|
}
|
|
while (bitPackerBase == 0);
|
|
DIEPKHGNMAG diepkhgnmag = new DIEPKHGNMAG();
|
|
float z = maxPositionExtent.z;
|
|
float z2 = minPositionExtent.z;
|
|
Vector3 vector;
|
|
float z3 = vector.z;
|
|
MLLDBGNOBLL mlldbgnobll;
|
|
diepkhgnmag.NGPBAHHNNIJ = mlldbgnobll;
|
|
Vector3 vector2;
|
|
float z4 = vector2.z;
|
|
MLLDBGNOBLL mlldbgnobll2;
|
|
diepkhgnmag.JFLPDLFGEML = mlldbgnobll2;
|
|
int num = 0;
|
|
float bpfkhneigpj = ShapeContainer.NKHMHPMBBPA.BPFKHNEIGPJ;
|
|
float num2 = bitPackerBase.ReadFloat((float)num, bpfkhneigpj, radiusRequiredBits);
|
|
diepkhgnmag.KEMAAJNJAGK = num2;
|
|
return diepkhgnmag;
|
|
}
|
|
|
|
// Token: 0x06016D17 RID: 93463 RVA: 0x0055378C File Offset: 0x0055198C
|
|
[Token(Token = "0x6016D17")]
|
|
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
|
public ShapeContainerDataBitPacker()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400EE10 RID: 60944
|
|
[Token(Token = "0x400EE10")]
|
|
private const float TubeControlPointRadiusCompressionErrorTolerance = 0.005f;
|
|
|
|
// Token: 0x0400EE11 RID: 60945
|
|
[Token(Token = "0x400EE11")]
|
|
private const int TubeControlPointRadiusCompressionMinBits = 4;
|
|
|
|
// Token: 0x0400EE12 RID: 60946
|
|
[Token(Token = "0x400EE12")]
|
|
private const int TubeControlPointRadiusCompressionMaxBits = 20;
|
|
|
|
// Token: 0x0400EE13 RID: 60947
|
|
[Token(Token = "0x400EE13")]
|
|
public const int TubeMaxPointsOnRing = 10;
|
|
|
|
// Token: 0x0400EE14 RID: 60948
|
|
[Token(Token = "0x400EE14")]
|
|
public const int NumShapeRotationBitsPerAxis = 12;
|
|
|
|
// Token: 0x0400EE15 RID: 60949
|
|
[Token(Token = "0x400EE15")]
|
|
private const int UV_OFFSET_BITS = 10;
|
|
}
|
|
}
|