public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteInt64(NetTime); return(buffer.GetMessageBuffer()); }
protected byte[] CompressMap() { int uncompressedSize = DynaBuffer.GetBytesUsed(); MemoryStream ms = new MemoryStream(); Ionic.Zlib.ZlibStream ws = new Ionic.Zlib.ZlibStream(ms, Ionic.Zlib.CompressionMode.Compress, Ionic.Zlib.CompressionLevel.BestCompression, true); ws.Write(DynaBuffer.GetRawBuffer(), 0, uncompressedSize); ws.Flush(); ws.Close(); int len = (int)ms.Length; byte[] compressedData = ms.GetBuffer(); // ms.Length(); Array.Resize(ref compressedData, (int)ms.Length); DynamicOutputBuffer header = DynamicOutputBuffer.GetTempBuffer(64); header.WriteUInt16(Constants.WorldCodeHeaderSize); header.WriteUInt16(Constants.WorldCodeHeader); header.WriteUInt16(1); header.WriteUInt32(uncompressedSize); header.WriteUInt32(compressedData.Length); header.WriteBytes(compressedData); header.WriteUInt16(Constants.WorldCodeEndSize); header.WriteUInt16(Constants.WorldCodeEnd); return(header.GetFinalBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerID); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(VictimID); buffer.WriteByte(KillerID); int r = (int)Reason; if (Reason == BlowedUpReasons.DeathTouch) { r = Constants.PhysicsDriverDeath; } buffer.WriteInt16(r); buffer.WriteInt16(ShotID); buffer.WriteFixedSizeString(FlagAbreviation, 2); if (Reason == BlowedUpReasons.DeathTouch) { buffer.WriteInt32(PhysicsDriverID); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteUInt16(SequenceNumber); return(buffer.GetMessageBuffer()); }
public void Pack(DynamicOutputBuffer buffer) { buffer.WriteByte(PlayerID); buffer.WriteUInt16(Wins); buffer.WriteUInt16(Losses); buffer.WriteUInt16(TeamKills); }
protected void PackHeader(DynamicOutputBuffer buffer) { buffer.WriteFloat(TimeStamp); buffer.WriteByte((byte)PlayerID); buffer.WriteInt32(Order); buffer.WriteInt16((Int16)Status); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteNullTermString(URL); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteUInt16((UInt16)ReasonCode); buffer.WriteNullTermString(ReasonMessage); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerID); buffer.WriteUInt16((UInt16)FlagID); buffer.WriteInt16((Int16)Team); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerID); buffer.WriteInt16((UInt16)ShotID); buffer.WriteUInt16((UInt16)(Exploded ? 0 : 1)); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (!IsOnServer) { buffer.WriteByte((byte)PlayerID); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); foreach (var f in FlagAbrevs) { buffer.WriteFixedSizeString(f, 2); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (NetworkMessage.IsOnServer) { buffer.WriteNullTermString((IsRandomMap ? "t" : string.Empty) + WorldHash); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteUInt16(FlagUpdates.Count); foreach (FlagUpdateData f in FlagUpdates) { buffer.WriteFlagUpdateData(f, HideType); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteUInt32(Offset); if (Data.Length > 0) { buffer.WriteBytes(Data); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerUpdates.Count); foreach (var p in PlayerUpdates) { buffer.WriteByte(p.PlayerID); buffer.WriteByte((int)p.Attributes); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (!IsSpawn) { buffer.WriteByte(PlayerID); buffer.WriteVector3F(Position); buffer.WriteFloat(Azimuth); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteUInt16(BZDBVariables.Count); foreach (var v in BZDBVariables) { buffer.WritePascalString(v.Key); buffer.WritePascalString(v.Value); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerID); buffer.WriteUInt16((UInt16)ShotID); buffer.WriteVector3F(Position); buffer.WriteVector3F(Velocity); buffer.WriteFloat(DeltaTime); buffer.WriteInt16((Int16)Team); buffer.WriteByte(TargetID); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteUInt16((UInt16)PlayerType); buffer.WriteInt16((Int16)PlayerTeam); buffer.WriteFixedSizeString(Callsign, Constants.CallsignLen); buffer.WriteFixedSizeString(Motto, Constants.MottoLen); buffer.WriteFixedSizeString(Token, Constants.TokenLen); buffer.WriteFixedSizeString(Version, Constants.VersionLen); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(FromID); buffer.WriteByte(ToID); if (IsServer()) { buffer.WriteUInt16((UInt16)FlagID); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(PlayerID); buffer.WriteUInt16((int)PlayerType); buffer.WriteUInt16((int)Team); buffer.WriteUInt16((int)Wins); buffer.WriteUInt16((int)Losses); buffer.WriteUInt16((int)TeamKills); buffer.WriteFixedSizeString(Callsign, Constants.CallsignLen); buffer.WriteFixedSizeString(Motto, Constants.MottoLen); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); PackHeader(buffer); buffer.WriteSmallVector3F(Position); buffer.WriteSmallVelVector3F(Velocity); buffer.WriteSmallAngle(Azimuth); buffer.WriteSmallAngVel(AngularVelocity); PackFooter(buffer); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(TeamUpdates.Count); foreach (TeamUpdate upd in TeamUpdates) { buffer.WriteUInt16((int)upd.TeamID); buffer.WriteUInt16((int)upd.Size); buffer.WriteUInt16((int)upd.Wins); buffer.WriteUInt16((int)upd.Losses); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (IsServer()) { buffer.WriteByte(PlayerID); buffer.WriteFlagUpdateData(FlagData, false); } else { buffer.WriteUInt16(FlagData.FlagID); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (IsServer()) { buffer.WriteByte(PlayerID); buffer.WriteFlagUpdateData(Data, true); } else { buffer.WriteVector3F(Postion); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { if (Scores.Count == 0) { return(null); } var buffer = DynamicOutputBuffer.Get(Code); buffer.WriteByte(Scores.Count); foreach (var score in Scores) { score.Pack(buffer); } return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); if (!IsServer()) { buffer.WriteByte((byte)To); buffer.WriteFixedSizeString(MessageText, BZFlag.Data.Types.Constants.ChatMessageLenght); } else { buffer.WriteByte((byte)From); buffer.WriteByte((byte)To); buffer.WriteByte((byte)MessageType); } buffer.WriteFixedSizeString(MessageText, BZFlag.Data.Types.Constants.ChatMessageLenght); return(buffer.GetMessageBuffer()); }
public override byte[] Pack() { DynamicOutputBuffer buffer = DynamicOutputBuffer.Get(Code); buffer.WriteFloat(TimeSent); buffer.WriteByte(PlayerID); buffer.WriteInt16(ShotID); buffer.WriteVector3F(Position); buffer.WriteVector3F(Velocity); buffer.WriteFloat(DeltaTime); buffer.WriteInt16((UInt16)Team); buffer.WriteFixedSizeString(Flag, 2); buffer.WriteFloat(Lifetime); return(buffer.GetMessageBuffer()); }