using System; using System.Collections.Generic; using System.Runtime.InteropServices; using Cpp2IlInjected; using Google.Protobuf; using Google.Protobuf.Collections; using RecRoom.Networking; using UnityEngine; namespace RecRoom.Core.Creation.Shapes { // Token: 0x02002DA1 RID: 11681 [Token(Token = "0x2002DA1")] [StructLayout(3)] public class ShapeContainerDataBitPacker { // Token: 0x06014BFE RID: 84990 RVA: 0x004F9D30 File Offset: 0x004F7F30 [Token(Token = "0x6014BFE")] [Address(RVA = "0x153ED20", Offset = "0x153D720", VA = "0x18153ED20")] [BBKEDJMCLLL] private static void RegisterRpcSerializationHandlers() { PMDMLFNOIDA pmdmlfnoida = PMDMLFNOIDA.ONCPNMDGGKG; int num; Action action = new Action(num.CompressShapeContainer); num = 0; int num2; Func func = new Func(num2.DecompressShapeContainer); num2 = 0; pmdmlfnoida.PAKHKCPLNMC(action, func); PMDMLFNOIDA pmdmlfnoida2 = PMDMLFNOIDA.ONCPNMDGGKG; int num3; Action action2 = new Action(num3.CompressShapeContainerCollection); num3 = 0; int num4; Func func2 = new Func(num4.DecompressShapeContainerCollection); num4 = 0; pmdmlfnoida2.PAKHKCPLNMC(action2, func2); PMDMLFNOIDA pmdmlfnoida3 = PMDMLFNOIDA.ONCPNMDGGKG; int num5; Action action3 = new Action(num5.CompressShapeCollection); num5 = 0; int num6; Func func3 = new Func(num6.DecompressShapeCollection); num6 = 0; pmdmlfnoida3.PAKHKCPLNMC(action3, func3); } // Token: 0x06014BFF RID: 84991 RVA: 0x004F9DE8 File Offset: 0x004F7FE8 [Token(Token = "0x6014BFF")] [Address(RVA = "0x153EEE0", Offset = "0x153D8E0", VA = "0x18153EEE0")] [AGKGJGBOJEI] private static void UnregisterRpcSerializationHandlers() { PMDMLFNOIDA.ONCPNMDGGKG.NFJKPKDIFKP(); PMDMLFNOIDA.ONCPNMDGGKG.NFJKPKDIFKP(); PMDMLFNOIDA.ONCPNMDGGKG.NFJKPKDIFKP(); } // Token: 0x06014C00 RID: 84992 RVA: 0x004F9E20 File Offset: 0x004F8020 [Token(Token = "0x6014C00")] [Address(RVA = "0x153D270", Offset = "0x153BC70", VA = "0x18153D270")] private static void CompressShapeContainerCollection(BitPacker bitPacker, PPOLCGCAKLF collection) { RepeatedField aeopdkhjpif = collection.AEOPDKHJPIF; int num; Action action = new Action(num.CompressShapeContainer); num = 0; bitPacker.WriteList(aeopdkhjpif, action); } // Token: 0x06014C01 RID: 84993 RVA: 0x004F9E54 File Offset: 0x004F8054 [Token(Token = "0x6014C01")] [Address(RVA = "0x153DE60", Offset = "0x153C860", VA = "0x18153DE60")] private static PPOLCGCAKLF DecompressShapeContainerCollection(BitPacker bitPacker) { PPOLCGCAKLF ppolcgcaklf = new PPOLCGCAKLF(); RepeatedField aeopdkhjpif = ppolcgcaklf.AEOPDKHJPIF; int num; Func func = new Func(num.DecompressShapeContainer); num = 0; List list = bitPacker.ReadList(func); aeopdkhjpif.AddRange(list); return ppolcgcaklf; } // Token: 0x06014C02 RID: 84994 RVA: 0x004F9E98 File Offset: 0x004F8098 [Token(Token = "0x6014C02")] [Address(RVA = "0x153D300", Offset = "0x153BD00", VA = "0x18153D300")] 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; Bounds bounds; Vector3 minExtent; minExtent.z = bounds; Vector3 maxExtent; maxExtent.z = bounds; } while (bitPacker == 0); float z = CS$<>8__locals1.minExtent.z; float z2 = CS$<>8__locals1.maxExtent.z; RepeatedField blhogddjnlb2 = blhogddjnlb.BLHOGDDJNLB; Action action = delegate(BitPacker bp, LAKMDOLHIBI s) { float z3 = CS$<>8__locals1.maxExtent.z; float z4 = CS$<>8__locals1.minExtent.z; }; bitPacker.WriteList(blhogddjnlb2, action); } // Token: 0x06014C03 RID: 84995 RVA: 0x004F9F40 File Offset: 0x004F8140 [Token(Token = "0x6014C03")] [Address(RVA = "0x153DF30", Offset = "0x153C930", VA = "0x18153DF30")] 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 blhogddjnlb = enmkbcnagic.BLHOGDDJNLB; Func func = delegate(BitPacker bp) { float z3 = CS$<>8__locals1.maxExtent.z; float z4 = CS$<>8__locals1.minExtent.z; LAKMDOLHIBI lakmdolhibi; return lakmdolhibi; }; List list = bitPacker.ReadList(func); blhogddjnlb.AddRange(list); ceaiainmicd.BLHOGDDJNLB = enmkbcnagic; return ceaiainmicd; } // Token: 0x06014C04 RID: 84996 RVA: 0x004F9FF0 File Offset: 0x004F81F0 [Token(Token = "0x6014C04")] [Address(RVA = "0x153D0A0", Offset = "0x153BAA0", VA = "0x18153D0A0")] private static void CompressShapeCollection(BitPacker bitPackerBase, ENMKBCNAGIC collection) { do { Bounds bounds; Vector3 minExtent; minExtent.z = bounds; Vector3 maxExtent; maxExtent.z = bounds; } while (bitPackerBase == 0); float z = CS$<>8__locals1.minExtent.z; float z2 = CS$<>8__locals1.maxExtent.z; RepeatedField blhogddjnlb = collection.BLHOGDDJNLB; Action action = delegate(BitPacker bp, LAKMDOLHIBI s) { float z3 = CS$<>8__locals1.maxExtent.z; float z4 = CS$<>8__locals1.minExtent.z; }; bitPackerBase.WriteList(blhogddjnlb, action); } // Token: 0x06014C05 RID: 84997 RVA: 0x004FA064 File Offset: 0x004F8264 [Token(Token = "0x6014C05")] [Address(RVA = "0x153DCD0", Offset = "0x153C6D0", VA = "0x18153DCD0")] 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 blhogddjnlb = enmkbcnagic.BLHOGDDJNLB; Func func = delegate(BitPacker bp) { float z3 = CS$<>8__locals1.maxExtent.z; float z4 = CS$<>8__locals1.minExtent.z; LAKMDOLHIBI lakmdolhibi; return lakmdolhibi; }; List list = bitPackerBase.ReadList(func); blhogddjnlb.AddRange(list); return enmkbcnagic; } // Token: 0x06014C06 RID: 84998 RVA: 0x004FA0E0 File Offset: 0x004F82E0 [Token(Token = "0x6014C06")] [Address(RVA = "0x153D510", Offset = "0x153BF10", VA = "0x18153D510")] 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, 16); 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); int mgjcejapfpi2 = shape.MGJCEJAPFPI; int mgjcejapfpi3 = shape.MGJCEJAPFPI; float aefmfcnonnn = shape.IDGDGOFNHPG.KMIBIFIFMEF.AEFMFCNONNN; float mcjaimhjkba = shape.IDGDGOFNHPG.KMIBIFIFMEF.MCJAIMHJKBA; float haoccmehaek = shape.IDGDGOFNHPG.KMIBIFIFMEF.HAOCCMEHAEK; } // Token: 0x06014C07 RID: 84999 RVA: 0x004FA238 File Offset: 0x004F8438 [Token(Token = "0x6014C07")] [Address(RVA = "0x153E120", Offset = "0x153CB20", VA = "0x18153E120")] 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, 16); 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; float z = maxPositionExtent.z; float z2 = minPositionExtent.z; Vector3 vector; float z3 = vector.z; MLLDBGNOBLL mlldbgnobll; lakmdolhibi.CPPHBOGGGNF = mlldbgnobll; MLLDBGNOBLL mlldbgnobll2; lakmdolhibi.GBAKPJJFCLK = mlldbgnobll2; bool flag; lakmdolhibi.ILGFEHFHFIB = flag; float num6; lakmdolhibi.JHDCABHKLOO = num6; float num7 = bitPackerBase.ReadUncompressedFloat(); int mgjcejapfpi = lakmdolhibi.MGJCEJAPFPI; lakmdolhibi.IFKAFHKFCAJ = num7; int mgjcejapfpi2 = lakmdolhibi.MGJCEJAPFPI; ENJMDBGOOND enjmdbgoond = new ENJMDBGOOND(); lakmdolhibi.IDGDGOFNHPG = enjmdbgoond; ENJMDBGOOND enjmdbgoond2 = lakmdolhibi.IDGDGOFNHPG; MLLDBGNOBLL mlldbgnobll3 = new MLLDBGNOBLL(); enjmdbgoond2.KMIBIFIFMEF = mlldbgnobll3; float num8; lakmdolhibi.IDGDGOFNHPG.KMIBIFIFMEF.AEFMFCNONNN = num8; float num9; lakmdolhibi.IDGDGOFNHPG.KMIBIFIFMEF.MCJAIMHJKBA = num9; float num10; lakmdolhibi.IDGDGOFNHPG.KMIBIFIFMEF.HAOCCMEHAEK = num10; int num11 = bitPackerBase.ReadInt(4, 20); int radiusRequiredBits = num11; Vector3 vector2; float z4 = vector2.z; Vector3 minExtent; minExtent.z = z4; Vector3 vector3; float z5 = vector3.z; Vector3 maxExtent; maxExtent.z = z5; JJHOJPEIKCM jjhojpeikcm = new JJHOJPEIKCM(); lakmdolhibi.PPGHMGEIBMN = jjhojpeikcm; RepeatedField jihnbkmliaf = lakmdolhibi.PPGHMGEIBMN.JIHNBKMLIAF; Func func = delegate(BitPacker bp) { float z6 = maxExtent.z; float z7 = minExtent.z; DIEPKHGNMAG diepkhgnmag; return diepkhgnmag; }; List list = bitPackerBase.ReadList(func); jihnbkmliaf.AddRange(list); JJHOJPEIKCM jjhojpeikcm2 = lakmdolhibi.PPGHMGEIBMN; bool flag2 = bitPackerBase.ReadBool(); jjhojpeikcm2.FEEHBNMBEBL = flag2; JJHOJPEIKCM jjhojpeikcm3 = lakmdolhibi.PPGHMGEIBMN; int num12 = bitPackerBase.ReadInt(1, 10); jjhojpeikcm3.IAAJELGPLJP = num12; JJHOJPEIKCM jjhojpeikcm4 = lakmdolhibi.PPGHMGEIBMN; int num13 = 0; float num14 = bitPackerBase.ReadFloat((float)num13, 1f, 5); jjhojpeikcm4.PCMDFBEIPEL = num14; return lakmdolhibi; } // Token: 0x06014C08 RID: 85000 RVA: 0x004FA438 File Offset: 0x004F8638 [Token(Token = "0x6014C08")] [Address(RVA = "0x153EAA0", Offset = "0x153D4A0", VA = "0x18153EAA0")] private static Bounds GetShapePositionBounds(IList 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_68; } num3++; } int num4 = 0; uint num5; if (num5 >= (uint)z) { goto IL_8A; } if (num3 < num4) { num3 += num3; if (num3 == num4) { goto IL_79; } num3++; } Vector3 vector2; float num6 = vector2.z; num5 += (uint)1; IL_68: num5 += num5; num6 += 2.7E-44f; IL_79: num5 += num5; num6 += 2.7E-44f; } IL_8A: throw new NullReferenceException(); } // Token: 0x06014C09 RID: 85001 RVA: 0x004FA4D4 File Offset: 0x004F86D4 [Token(Token = "0x6014C09")] [Address(RVA = "0x153E820", Offset = "0x153D220", VA = "0x18153E820")] private static Bounds GetControlPointPositionBounds(IList 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_68; } num3++; } int num4 = 0; uint num5; if (num5 >= (uint)z) { goto IL_8A; } if (num3 < num4) { num3 += num3; if (num3 == num4) { goto IL_79; } num3++; } Vector3 vector2; float num6 = vector2.z; num5 += (uint)1; IL_68: num5 += num5; num6 += 2.7E-44f; IL_79: num5 += num5; num6 += 2.7E-44f; } IL_8A: throw new NullReferenceException(); } // Token: 0x06014C0A RID: 85002 RVA: 0x004FA570 File Offset: 0x004F8770 [Token(Token = "0x6014C0A")] [Address(RVA = "0x153DAC0", Offset = "0x153C4C0", VA = "0x18153DAC0")] 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: 0x06014C0B RID: 85003 RVA: 0x004FA5C0 File Offset: 0x004F87C0 [Token(Token = "0x6014C0B")] [Address(RVA = "0x153E610", Offset = "0x153D010", VA = "0x18153E610")] 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: 0x06014C0C RID: 85004 RVA: 0x004FA630 File Offset: 0x004F8830 [Token(Token = "0x6014C0C")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public ShapeContainerDataBitPacker() { } // Token: 0x0400DD9F RID: 56735 [Token(Token = "0x400DD9F")] private const float TubeControlPointRadiusCompressionErrorTolerance = 0.005f; // Token: 0x0400DDA0 RID: 56736 [Token(Token = "0x400DDA0")] private const int TubeControlPointRadiusCompressionMinBits = 4; // Token: 0x0400DDA1 RID: 56737 [Token(Token = "0x400DDA1")] private const int TubeControlPointRadiusCompressionMaxBits = 20; // Token: 0x0400DDA2 RID: 56738 [Token(Token = "0x400DDA2")] public const int TubeMaxPointsOnRing = 10; // Token: 0x0400DDA3 RID: 56739 [Token(Token = "0x400DDA3")] public const int NumShapeRotationBitsPerAxis = 12; } }