public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = new IVector2D(); Field1.Parse(buffer); arSnoLevelAreas = new int /* sno */[4]; for (int i = 0; i < arSnoLevelAreas.Length; i++) arSnoLevelAreas[i] = buffer.ReadInt(32); snoPrevWorld = buffer.ReadInt(32); Field4 = buffer.ReadInt(32); snoPrevLevelArea = buffer.ReadInt(32); snoNextWorld = buffer.ReadInt(32); Field7 = buffer.ReadInt(32); snoNextLevelArea = buffer.ReadInt(32); snoMusic = buffer.ReadInt(32); snoCombatMusic = buffer.ReadInt(32); snoAmbient = buffer.ReadInt(32); snoReverb = buffer.ReadInt(32); snoWeather = buffer.ReadInt(32); snoPresetWorld = buffer.ReadInt(32); Field15 = buffer.ReadInt(32); Field16 = buffer.ReadInt(32); Field17 = buffer.ReadInt(32); Field18 = buffer.ReadInt(32); tCachedValues = new SceneCachedValues(); tCachedValues.Parse(buffer); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(2); Field1 = buffer.ReadInt(32); Field2 = buffer.ReadInt(7); Field3 = buffer.ReadInt(32); Field4 = buffer.ReadBool(); Field5 = buffer.ReadInt(32); Field6 = buffer.ReadInt(32); Field7 = buffer.ReadInt(32); Field8 = buffer.ReadInt(32); }
public override void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { Power = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); Field2 = buffer.ReadInt(4); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); m_snoLoreLearned = new int /* sno */[256]; for (int i = 0; i < m_snoLoreLearned.Length; i++) m_snoLoreLearned[i] = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { snoQuest = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); Field2 = (eField2)buffer.ReadInt(2); }
public override void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(3); Field1 = buffer.ReadCharArray(128); Field2 = buffer.ReadCharArray(101); Field3 = buffer.ReadInt(5) + (-1); Field4 = buffer.ReadInt(3) + (-1); snoActorPortrait = buffer.ReadInt(32); Field6 = buffer.ReadInt(7); Field7 = new HeroStateData(); Field7.Parse(buffer); Field8 = buffer.ReadBool(); Field9 = buffer.ReadInt(32); Field10 = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { if (buffer.ReadBool()) { Field0 = buffer.ReadInt(20); } int index = buffer.ReadInt(10) & 0xFFF; Attribute = GameAttribute.Attributes[index]; }
public void ParseValue(GameBitBuffer buffer) { switch (Attribute.EncodingType) { case GameAttributeEncoding.Int: Int = buffer.ReadInt(Attribute.BitCount); break; case GameAttributeEncoding.IntMinMax: Int = buffer.ReadInt(Attribute.BitCount) + Attribute.Min; break; case GameAttributeEncoding.Float16: Float = buffer.ReadFloat16(); break; case GameAttributeEncoding.Float16Or32: Float = buffer.ReadBool() ? buffer.ReadFloat16() : buffer.ReadFloat32(); break; default: throw new Exception("bad voodoo"); } }
public void Parse(GameBitBuffer buffer) { snoWorld = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); snoDestLevelArea = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadBool(); snoAffixStringList = buffer.ReadInt(32); Field2 = buffer.ReadInt(32); Field3 = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(6) + (-2); Field1 = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = buffer.ReadInt(5) + (-1); Field2 = new IVector2D(); Field2.Parse(buffer); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadFloat32(); Field1 = new PRTransform(); Field1.Parse(buffer); Field2 = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { Field0 = (byte)buffer.ReadInt(8); Field1 = (byte)buffer.ReadInt(8); Field2 = (byte)buffer.ReadInt(8); Field3 = (byte)buffer.ReadInt(8); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); Field2 = buffer.ReadInt(32); Field3 = buffer.ReadFloat32(); }
public void Parse(GameBitBuffer buffer) { Field0 = new HotbarButtonData[9]; for (int i = 0; i < Field0.Length; i++) { Field0[i] = new HotbarButtonData(); Field0[i].Parse(buffer); } Field1 = new SkillKeyMapping[15]; for (int i = 0; i < Field1.Length; i++) { Field1[i] = new SkillKeyMapping(); Field1[i].Parse(buffer); } Field2 = buffer.ReadInt(32); Field3 = buffer.ReadInt(32); Field4 = new HirelingSavedData(); Field4.Parse(buffer); Field5 = buffer.ReadInt(32); Field6 = new LearnedLore(); Field6.Parse(buffer); snoActiveSkills = new int /* sno */[6]; for (int i = 0; i < snoActiveSkills.Length; i++) snoActiveSkills[i] = buffer.ReadInt(32); snoTraits = new int /* sno */[3]; for (int i = 0; i < snoTraits.Length; i++) snoTraits[i] = buffer.ReadInt(32); Field9 = new SavePointData(); Field9.Parse(buffer); m_SeenTutorials = new int /* sno */[64]; for (int i = 0; i < m_SeenTutorials.Length; i++) m_SeenTutorials[i] = buffer.ReadInt(32); }
public override void Parse(GameBitBuffer buffer) { SNOPackHash = buffer.ReadInt(32); ProtocolHash = buffer.ReadInt(32); Version = buffer.ReadCharArray(32); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); Field2 = buffer.ReadInt(32); Field3 = new AABB(); Field3.Parse(buffer); Field4 = new AABB(); Field4.Parse(buffer); Field5 = new int[4]; for (int i = 0; i < Field5.Length; i++) Field5[i] = buffer.ReadInt(32); Field6 = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadBool(); Field1 = buffer.ReadInt(32); Field2 = buffer.ReadInt(32); Field3 = buffer.ReadInt(32); Field4 = buffer.ReadInt(32); Field5 = buffer.ReadInt(32); Field6 = new int[2]; for (int i = 0; i < Field6.Length; i++) Field6[i] = buffer.ReadInt(32); Field7 = new int[2]; for (int i = 0; i < Field7.Length; i++) Field7[i] = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = buffer.ReadInt(5); Field2 = buffer.ReadInt(4); Field3 = buffer.ReadInt(5) + (-1); }
public void Parse(GameBitBuffer buffer) { m_snoPower = buffer.ReadInt(32); m_gbidItem = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { Field0 = new HirelingInfo[4]; for (int i = 0; i < Field0.Length; i++) { Field0[i] = new HirelingInfo(); Field0[i].Parse(buffer); } Field1 = buffer.ReadInt(2); Field2 = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { snoConversation = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); Field2 = buffer.ReadBool(); Field3 = buffer.ReadInt(32); Field4 = buffer.ReadInt(32); Field5 = buffer.ReadInt(32); Field6 = buffer.ReadInt(32); Field7 = buffer.ReadInt(32); Field8 = buffer.ReadInt(32); snoSpeakerActor = buffer.ReadInt(32); Field10 = buffer.ReadCharArray(49); Field11 = buffer.ReadInt(32); Field12 = buffer.ReadInt(32); Field13 = buffer.ReadInt(32); Field14 = buffer.ReadInt(32); Field15 = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { snoWorld = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); }
public override void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(4) + (-1); }
public override void Parse(GameBitBuffer buffer) { Field0 = new Vector3D(); Field0.Parse(buffer); Field1 = buffer.ReadInt(32); Field2 = buffer.ReadInt(32); }
public void Parse(GameBitBuffer buffer) { snoTimedEvent = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); Field2 = buffer.ReadInt(32); }
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 void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); Field2 = buffer.ReadInt(32); Field3 = buffer.ReadInt(29); Field4 = new PlayerSavedData(); Field4.Parse(buffer); Field5 = buffer.ReadInt(32); tQuestRewardHistory = new PlayerQuestRewardHistoryEntry[buffer.ReadInt(7)]; for (int i = 0; i < tQuestRewardHistory.Length; i++) { tQuestRewardHistory[i] = new PlayerQuestRewardHistoryEntry(); tQuestRewardHistory[i].Parse(buffer); } }