public override void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Field0); buffer.WriteInt(32, Field1); buffer.WriteInt(32, Field2); Field3.Encode(buffer); Field4.Encode(buffer); buffer.WriteFloat32(Field5); buffer.WriteFloat32(Field6); buffer.WriteInt(32, Field7); Field8.Encode(buffer); buffer.WriteCharArray(128, Field9); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, snoWorld); buffer.WriteInt(32, Field1); }
public override void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Field0); buffer.WriteInt(32, Field1); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Power); buffer.WriteInt(32, Field1); buffer.WriteInt(4, Field2); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Field0); for (int i = 0; i < m_snoLoreLearned.Length; i++) buffer.WriteInt(32, m_snoLoreLearned[i]); }
public void Encode(GameBitBuffer buffer) { for (int i = 0; i < Field0.Length; i++) { Field0[i].Encode(buffer); } for (int i = 0; i < Field1.Length; i++) { Field1[i].Encode(buffer); } buffer.WriteInt(32, Field2); buffer.WriteInt(32, Field3); Field4.Encode(buffer); buffer.WriteInt(32, Field5); Field6.Encode(buffer); for (int i = 0; i < snoActiveSkills.Length; i++) buffer.WriteInt(32, snoActiveSkills[i]); for (int i = 0; i < snoTraits.Length; i++) buffer.WriteInt(32, snoTraits[i]); Field9.Encode(buffer); for (int i = 0; i < m_SeenTutorials.Length; i++) buffer.WriteInt(32, m_SeenTutorials[i]); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Field0); buffer.WriteInt(32, Field1); buffer.WriteInt(32, Field2); Field3.Encode(buffer); Field4.Encode(buffer); for (int i = 0; i < Field5.Length; i++) buffer.WriteInt(32, Field5[i]); buffer.WriteInt(32, Field6); }
public void Encode(GameBitBuffer buffer) { buffer.WriteBool(Field0.HasValue); if (Field0.HasValue) { buffer.WriteInt(20, Field0.Value); } buffer.WriteInt(10, Attribute.Id); }
public void EncodeValue(GameBitBuffer buffer) { switch (Attribute.EncodingType) { case GameAttributeEncoding.Int: buffer.WriteInt(Attribute.BitCount, Int); break; case GameAttributeEncoding.IntMinMax: buffer.WriteInt(Attribute.BitCount, Int - Attribute.Min); break; case GameAttributeEncoding.Float16: buffer.WriteFloat16(Float); break; case GameAttributeEncoding.Float16Or32: if (Float >= 65536.0f || -65536.0f >= Float) { buffer.WriteBool(false); buffer.WriteFloat32(Float); } else { buffer.WriteBool(true); buffer.WriteFloat16(Float); } break; default: throw new Exception("bad voodoo"); } }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(6, Field0 - (-2)); buffer.WriteInt(32, Field1); }
public void Encode(GameBitBuffer buffer) { buffer.WriteBool(Field0); buffer.WriteInt(32, snoAffixStringList); buffer.WriteInt(32, Field2); buffer.WriteInt(32, Field3); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Field0); buffer.WriteInt(5, Field1 - (-1)); Field2.Encode(buffer); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Field0); Field1.Encode(buffer); for (int i = 0; i < arSnoLevelAreas.Length; i++) buffer.WriteInt(32, arSnoLevelAreas[i]); buffer.WriteInt(32, snoPrevWorld); buffer.WriteInt(32, Field4); buffer.WriteInt(32, snoPrevLevelArea); buffer.WriteInt(32, snoNextWorld); buffer.WriteInt(32, Field7); buffer.WriteInt(32, snoNextLevelArea); buffer.WriteInt(32, snoMusic); buffer.WriteInt(32, snoCombatMusic); buffer.WriteInt(32, snoAmbient); buffer.WriteInt(32, snoReverb); buffer.WriteInt(32, snoWeather); buffer.WriteInt(32, snoPresetWorld); buffer.WriteInt(32, Field15); buffer.WriteInt(32, Field16); buffer.WriteInt(32, Field17); buffer.WriteInt(32, Field18); tCachedValues.Encode(buffer); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Field0); buffer.WriteInt(32, Field1); buffer.WriteInt(32, Field2); buffer.WriteInt(29, Field3); Field4.Encode(buffer); buffer.WriteInt(32, Field5); buffer.WriteInt(7, tQuestRewardHistory.Length); for (int i = 0; i < tQuestRewardHistory.Length; i++) { tQuestRewardHistory[i].Encode(buffer); } }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, snoTimedEvent); buffer.WriteInt(32, Field1); buffer.WriteInt(32, Field2); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Field0); buffer.WriteInt(32, Field1); buffer.WriteInt(32, Field2); buffer.WriteFloat32(Field3); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(8, Field0); buffer.WriteInt(8, Field1); buffer.WriteInt(8, Field2); buffer.WriteInt(8, Field3); }
public void Encode(GameBitBuffer buffer) { Field0.Encode(buffer); buffer.WriteInt(32, Field1); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, snoQuest); buffer.WriteInt(32, Field1); buffer.WriteInt(2, (int)Field2); }
public override void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, SNOPackHash); buffer.WriteInt(32, ProtocolHash); buffer.WriteCharArray(32, Version); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Field0); buffer.WriteInt(5, Field1); buffer.WriteInt(4, Field2); buffer.WriteInt(5, Field3 - (-1)); }
public void Encode(GameBitBuffer buffer) { buffer.WriteBool(Field0); buffer.WriteInt(32, Field1); buffer.WriteInt(32, Field2); buffer.WriteInt(32, Field3); buffer.WriteInt(32, Field4); buffer.WriteInt(32, Field5); for (int i = 0; i < Field6.Length; i++) buffer.WriteInt(32, Field6[i]); for (int i = 0; i < Field7.Length; i++) buffer.WriteInt(32, Field7[i]); }
public void Encode(GameBitBuffer buffer) { for (int i = 0; i < Field0.Length; i++) { Field0[i].Encode(buffer); } buffer.WriteInt(2, Field1); buffer.WriteInt(32, Field2); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, m_snoPower); buffer.WriteInt(32, m_gbidItem); }
public override void Encode(GameBitBuffer buffer) { buffer.WriteInt(3, Field0); buffer.WriteCharArray(128, Field1); buffer.WriteCharArray(101, Field2); buffer.WriteInt(5, Field3 - (-1)); buffer.WriteInt(3, Field4 - (-1)); buffer.WriteInt(32, snoActorPortrait); buffer.WriteInt(7, Field6); Field7.Encode(buffer); buffer.WriteBool(Field8); buffer.WriteInt(32, Field9); buffer.WriteInt(32, Field10); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, snoConversation); buffer.WriteInt(32, Field1); buffer.WriteBool(Field2); buffer.WriteInt(32, Field3); buffer.WriteInt(32, Field4); buffer.WriteInt(32, Field5); buffer.WriteInt(32, Field6); buffer.WriteInt(32, Field7); buffer.WriteInt(32, Field8); buffer.WriteInt(32, snoSpeakerActor); buffer.WriteCharArray(49, Field10); buffer.WriteInt(32, Field11); buffer.WriteInt(32, Field12); buffer.WriteInt(32, Field13); buffer.WriteInt(32, Field14); buffer.WriteInt(32, Field15); }
public void Encode(GameBitBuffer buffer) { buffer.WriteInt(2, Field0); buffer.WriteInt(32, Field1); buffer.WriteInt(7, Field2); buffer.WriteInt(32, Field3); buffer.WriteBool(Field4); buffer.WriteInt(32, Field5); buffer.WriteInt(32, Field6); buffer.WriteInt(32, Field7); buffer.WriteInt(32, Field8); }
public override void Encode(GameBitBuffer buffer) { buffer.WriteInt(4, Field0 - (-1)); }
public static void Identify(IConnection connection, MemoryStream stream) { //We Should move this part to a more central position if (gameMessages == null) { gameMessages = new Dictionary<Type, Action<GameMessage, GameBitBuffer, IConnection>>(); var actionInfos = typeof(GameRouter).GetMethods().Where(o => o.GetParameters().Where(a => a.ParameterType == typeof(GameMessage)).Count() == 1 && o.GetParameters().Where(a => a.ParameterType == typeof(IConnection)).Count() == 1 && o.GetParameters().Where(a => a.ParameterType == typeof(GameBitBuffer)).Count() == 1 ).ToList(); foreach (var actionInfo in actionInfos) { Action<GameMessage, GameBitBuffer, IConnection> action = (Action<GameMessage, GameBitBuffer, IConnection>)Delegate.CreateDelegate(typeof(Action<GameMessage, GameBitBuffer, IConnection>), actionInfo); Type typ = Type.GetType("D3Sharp.Net.Game.Packets." + actionInfo.Name); gameMessages.Add(typ, action); } } // GameBitBuffer _incomingBuffer = new GameBitBuffer(512); GameBitBuffer _outgoingBuffer = new GameBitBuffer(ushort.MaxValue); _outgoingBuffer.WriteInt(32, 0); var header = new GameHeader(stream); var payload = new byte[header.Length - 6]; stream.Read(payload, 0, (int)header.Length - 6); _incomingBuffer.AppendData(header.Data); _incomingBuffer.AppendData(payload); while (_incomingBuffer.IsPacketAvailable()) { int end = _incomingBuffer.Position; end += _incomingBuffer.ReadInt(32) * 8; while ((end - _incomingBuffer.Position) >= 9) { GameMessage msg = _incomingBuffer.ParseMessage(); Logger.LogIncoming(msg); try { if (gameMessages.ContainsKey(GetMessageType(msg.Id))) gameMessages[GetMessageType(msg.Id)](msg, _outgoingBuffer, connection); else Logger.Debug("Unhandled game message: 0x{0:X4} {1}", msg.Id, msg.GetType().Name); } catch (NotImplementedException) { Logger.Debug("Unhandled game message: 0x{0:X4} {1}", msg.Id, msg.GetType().Name); } } _incomingBuffer.Position = end; } }
public override void Encode(GameBitBuffer buffer) { buffer.WriteInt(32, Field0); buffer.WriteBool(Field1); buffer.WriteFloat32(Field2); }