public void WriteInt16(short value) { _newBaseStream.WriteInt16(value); if (_baseStream != null && value == _baseStream.ReadInt16()) { _bitStream.WriteBool(false); } else { _bitStream.WriteBool(true); _bitStream.WriteInt16(value); } }
public void Deserialize(BitStream message, UserCommand?old) { if (old == null) { ServerTime = message.ReadUInt32(); Buttons = (ClientButtons)message.ReadInt16(); } else { var oldCommand = old.Value; // read server time if (message.ReadBool()) { // is delta time ServerTime = oldCommand.ServerTime + message.ReadByte(); } else { // is absolute time ServerTime = message.ReadUInt32(); } // read buttons Buttons = (ClientButtons)message.ReadDeltaInt16((short)oldCommand.Buttons); } }
public short ReadInt16() { short value = (_baseStream == null) ? (short)0 : _baseStream.ReadInt16(); if (_bitStream.ReadBool()) { value = _bitStream.ReadInt16(); } _newBaseStream.WriteInt16(value); return(value); }
/// <summary> /// The main entry point for the application. /// </summary> static void Main(string[] args) { if (args.Length >= 1) { if (args[0] == "exportMap") { ExportMap.ExportMain(args); return; } if (args[0] == "exportStyle") { ExportStyle.ExportMain(args); return; } if (args[0] == "sty2mat") { Sty2Mat.ToolMain(args); return; } } var outStream = new BitStream(); outStream.WriteBool(true); outStream.WriteByte(125); outStream.WriteInt16(32766); outStream.WriteInt32(300000); outStream.WriteInt32(300000, 20); outStream.WriteSingle(0.1f); var inStream = new BitStream(outStream.Bytes); Console.WriteLine(inStream.ReadBool()); Console.WriteLine(inStream.ReadByte()); Console.WriteLine(inStream.ReadInt16()); Console.WriteLine(inStream.ReadInt32()); Console.WriteLine(inStream.ReadInt32(20)); Console.WriteLine(inStream.ReadSingle()); Game.Initialize(); while (true) { Game.Process(); } }