Ejemplo n.º 1
0
        public DemoMessageItem(SourceParser.DemoMessage msg)
        {
            Msg = msg;

            BackColor = GetTypeColor(msg.Type);
            Text      = Msg.Tick.ToString();
            SubItems.Add(Msg.Type.ToString());
            SubItems.Add(Msg.Data.Length.ToString());
        }
Ejemplo n.º 2
0
        private void ParseIntoTree(SourceParser.DemoMessage msg)
        {
            var node = new TreeNode($"{msg.Type}, tick {msg.Tick}, {msg.Data.Length} bytes");

            node.Expand();
            node.BackColor = DemoMessageItem.GetTypeColor(msg.Type);
            switch (msg.Type)
            {
            case SourceParser.MessageType.ConsoleCmd:
                node.Nodes.Add(Encoding.ASCII.GetString(msg.Data));
                break;

            case SourceParser.MessageType.UserCmd:
                UserCmd.ParseIntoTreeNode(msg.Data, node);
                break;

            case SourceParser.MessageType.Signon:
            case SourceParser.MessageType.Packet:
                Packet.Parse(msg.Data, node);
                break;

            case SourceParser.MessageType.DataTables:
                DataTables.Parse(msg.Data, node);
                break;

            case SourceParser.MessageType.SyncTick:
                node.Nodes.Add("Sync client clock to demo tick");
                break;

            case SourceParser.MessageType.StringTables:
                StringTable.ParsePacket(msg.Data, node);
                break;

            default:
                node.Nodes.Add($"Unhandled demo message type - [{msg.Data}] - [{msg.Type}] - [{msg.Tick}tick]");

                break;
            }

            messageTree.Nodes.Add(node);
        }