public Client(UInt64 SteamID, bool chatClient = false) { m_hostSteamID = new CSteamID(SteamID); m_P2PSessionRequest = Callback <P2PSessionRequest_t> .Create(OnP2PSessionRequest); m_isChatClientOnly = chatClient; GUID = 2; Position = new CWTNet.Vector3Int64(23540680, 117517965, 7672954); }
public void Deserialize(ref BinaryReader rdr) { var size = rdr.ReadUInt32(); var compressedData = rdr.ReadBytes((int)size); var data = Util.Zlib.Decompress(compressedData); var ms = new MemoryStream(data); var br = new BinaryReader(ms); var guid = br.ReadUInt64(); var bitfield = br.ReadUInt64(); if (bitfield.IsBitSet(0)) { Position = new Vector3Int64(ref br); } else if (bitfield.IsBitSet(1)) { Rotation = new Vector3Float32(ref br); } else if (bitfield.IsBitSet(2)) { Velocity = new Vector3Float32(ref br); } else if (bitfield.IsBitSet(3)) { Accel = new Vector3Float32(ref br); } else if (bitfield.IsBitSet(4)) { Retreat = new Vector3Float32(ref br); } else if (bitfield.IsBitSet(5)) { HeadRotation = br.ReadSingle(); } else if (bitfield.IsBitSet(6)) { PhysicsFlags = br.ReadUInt32(); } else if (bitfield.IsBitSet(7)) { HostilityOrAIType = br.ReadByte(); } else if (bitfield.IsBitSet(8)) { Race = br.ReadUInt32(); } else if (bitfield.IsBitSet(9)) { ActionID = br.ReadByte(); } else if (bitfield.IsBitSet(10)) { ActionTimer = br.ReadSingle(); } else if (bitfield.IsBitSet(11)) { ComboHits = br.ReadUInt32(); } else if (bitfield.IsBitSet(12)) { TimeSinceLastComboHit = br.ReadSingle(); } else if (bitfield.IsBitSet(13)) { Console.WriteLine("GOT APPEARANCE DATA!!!!!!!!!!!"); AppearanceData = br.ReadBytes(176); } else if (bitfield.IsBitSet(14)) { BinaryToggles = br.ReadUInt16(); } else if (bitfield.IsBitSet(15)) { RollTime = br.ReadSingle(); } else if (bitfield.IsBitSet(16)) { StunTime = br.ReadSingle(); } else if (bitfield.IsBitSet(17)) { SomeAnimationTime = br.ReadSingle(); } else if (bitfield.IsBitSet(18)) { SpeedSlowedForTime = br.ReadSingle(); } else if (bitfield.IsBitSet(19)) { SpeedBoostedForTime = br.ReadSingle(); } else if (bitfield.IsBitSet(20)) { UnkFloat_0 = br.ReadSingle(); } else if (bitfield.IsBitSet(21)) { Level = br.ReadInt32(); } else if (bitfield.IsBitSet(22)) { Exp = br.ReadInt32(); } else if (bitfield.IsBitSet(23)) { Class = br.ReadByte(); } else if (bitfield.IsBitSet(24)) { Specialization = br.ReadByte(); } else if (bitfield.IsBitSet(25)) { SomeFloat0to1MPCostPinkBarBackgroundFill = br.ReadSingle(); } else if (bitfield.IsBitSet(26)) { UnkVector3Float32_0 = new Vector3Float32(ref br); } else if (bitfield.IsBitSet(27)) { UnkVector3Float32_1 = new Vector3Float32(ref br); } else if (bitfield.IsBitSet(28)) { CameraLookingAtBlockOffset = new Vector3Float32(ref br); } else if (bitfield.IsBitSet(29)) { HP = br.ReadSingle(); } else if (bitfield.IsBitSet(30)) { MP = br.ReadSingle(); } else if (bitfield.IsBitSet(31)) { Stealth = br.ReadSingle(); } else if (bitfield.IsBitSet(32)) { UnkFloat_1 = br.ReadSingle(); } else if (bitfield.IsBitSet(33)) { CurrentMovementTypeSpeed = br.ReadSingle(); } else if (bitfield.IsBitSet(34)) { LightDiameter = br.ReadSingle(); } else if (bitfield.IsBitSet(35)) { UnkByte_0_ForCampfireParticles = br.ReadByte(); } else if (bitfield.IsBitSet(36)) { UnkByte_1 = br.ReadByte(); } else if (bitfield.IsBitSet(37)) { UnkUint64_0 = br.ReadUInt64(); } else if (bitfield.IsBitSet(38)) { UnkUint64_1 = br.ReadUInt64(); } else if (bitfield.IsBitSet(39)) { EagleFlyingToZonePos = new Vector2Int32(ref br); } else if (bitfield.IsBitSet(40)) { SomeZonePos = new Vector2Int32(ref br); } else if (bitfield.IsBitSet(41)) { EagleFlyingFromCoords = new Vector3Int64(ref br); } else if (bitfield.IsBitSet(42)) { UnkItem = br.ReadBytes(0xA0); } else if (bitfield.IsBitSet(43)) { WornEquipment = br.ReadBytes(0xA0 * 11); } else if (bitfield.IsBitSet(44)) { name = br.ReadBytes(16); } else if (bitfield.IsBitSet(45)) { ClientSteamID = br.ReadUInt64(); } else if (bitfield.IsBitSet(46)) { UnkByte_2 = br.ReadByte(); } else if (bitfield.IsBitSet(47)) { UnkInt32_0 = br.ReadInt32(); } else if (bitfield.IsBitSet(48)) { UnkUint64_2 = br.ReadUInt64(); } }