Ejemplo n.º 1
0
        public static TurbineChat read(BinaryReader binaryReader)
        {
            TurbineChat newObj = new TurbineChat();

            newObj.size            = binaryReader.ReadUInt32();
            newObj.TurbineChatType = binaryReader.ReadUInt32();
            newObj.Unk1            = binaryReader.ReadUInt32();
            newObj.Unk2            = binaryReader.ReadUInt32();
            newObj.Unk3            = binaryReader.ReadUInt32();
            newObj.Unk4            = binaryReader.ReadUInt32();
            newObj.Unk5            = binaryReader.ReadUInt32();
            newObj.Unk6            = binaryReader.ReadUInt32();
            newObj.payload_size    = binaryReader.ReadUInt32();

            if (newObj.TurbineChatType == 0x01) // inbound
            {
                newObj.channel       = binaryReader.ReadUInt32();
                newObj.sendernameLen = binaryReader.ReadByte();
                newObj.senderName    = System.Text.Encoding.Unicode.GetString(binaryReader.ReadBytes((newObj.sendernameLen * 2)));

                newObj.msgLen  = binaryReader.ReadByte();
                newObj.msgText = System.Text.Encoding.Unicode.GetString(binaryReader.ReadBytes((newObj.msgLen * 2)));

                newObj.unk1_1 = binaryReader.ReadUInt32();
                newObj.unk1_2 = binaryReader.ReadUInt32();
                newObj.unk1_3 = binaryReader.ReadUInt32();
                newObj.unk1_4 = binaryReader.ReadUInt32();
                //newObj.senderName = binaryReader.ReadString();
            }
            else if (newObj.TurbineChatType == 0x3) // outbound
            {
                newObj.unk3_1      = binaryReader.ReadUInt32();
                newObj.unk3_2      = binaryReader.ReadUInt32();
                newObj.unk3_3      = binaryReader.ReadUInt32();
                newObj.out_channel = binaryReader.ReadUInt32();

                newObj.ob_msgLen  = binaryReader.ReadByte();
                newObj.ob_msgText = System.Text.Encoding.Unicode.GetString(binaryReader.ReadBytes((newObj.ob_msgLen * 2)));

                newObj.unk3_4    = binaryReader.ReadUInt32();
                newObj.sender_id = binaryReader.ReadUInt32();
                newObj.unk3_5    = binaryReader.ReadUInt32();
                newObj.unk3_6    = binaryReader.ReadUInt32();
            }

            else if (newObj.TurbineChatType == 0x5) // ack
            {
                newObj.unk5_1 = binaryReader.ReadUInt32();
                newObj.unk5_2 = binaryReader.ReadUInt32();
                newObj.unk5_3 = binaryReader.ReadUInt32();
                newObj.unk5_4 = binaryReader.ReadUInt32();
            }

            return(newObj);
        }
Ejemplo n.º 2
0
    public override bool acceptMessageData(BinaryReader messageDataReader, TreeView outputTreeView)
    {
        bool handled = true;

        PacketOpcode opcode = Util.readOpcode(messageDataReader);

        switch (opcode)
        {
        case PacketOpcode.Evt_Admin__ChatServerData_ID:
        {
            TurbineChat message = TurbineChat.read(messageDataReader);
            message.contributeToTreeView(outputTreeView);
            break;
        }

        default:
        {
            handled = false;
            break;
        }
        }

        return(handled);
    }