Ejemplo n.º 1
0
 public override void Serialize(IoBuffer output, ISerializationContext context)
 {
     output.PutUInt32(AvatarId);
     output.PutUInt32(ReplaceId);
     output.PutInt32(LotId);
     output.PutEnum(Change);
 }
Ejemplo n.º 2
0
        public override void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.Skip(37);

            output.PutPascalVLCString(Name);
            output.PutPascalVLCString(Description);
            output.Put(Gender == Gender.FEMALE ? (byte)0x01 : (byte)0x00);

            switch (SkinTone)
            {
            case SkinTone.LIGHT:
                output.Put(0x00);
                break;

            case SkinTone.MEDIUM:
                output.Put(0x01);
                break;

            case SkinTone.DARK:
                output.Put(0x02);
                break;
            }

            output.PutUInt32(HeadOutfitId);
            output.Skip(4);//Unknown
            output.PutUInt32(BodyOutfitId);
        }
Ejemplo n.º 3
0
 public void Serialize(IoBuffer output, ISerializationContext context)
 {
     output.PutUInt32(AvatarId);
     output.PutUInt32(Unknown1);
     output.Skip(32);
     output.PutUInt32(Unknown2);
 }
Ejemplo n.º 4
0
 public override void Serialize(IoBuffer output, ISerializationContext context)
 {
     //var result = Allocate(8 + 4 + ReasonText.Length);
     output.PutUInt32(StatusCode);
     output.PutPascalString(this.ReasonText);
     output.PutUInt32(MaxNumberOfIgnored);
     //return result;
 }
Ejemplo n.º 5
0
        public override void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutEnum(Type);
            output.PutUInt32(TargetAvatar);
            output.PutUInt32(TargetNHood);

            output.PutPascalString(Message);
            output.PutUInt32(Value);
        }
Ejemplo n.º 6
0
 public override void Serialize(IoBuffer output, ISerializationContext context)
 {
     output.PutEnum(Type);
     output.PutEnum(Action);
     output.PutInt32(EntityId);
     output.PutUInt32(ClaimId);
     output.PutUInt32(SpecialId);
     output.PutPascalString(FromOwner);
 }
Ejemplo n.º 7
0
 public override void Serialize(IoBuffer output, ISerializationContext context)
 {
     output.PutEnum(FromType);
     output.PutUInt32(From);
     output.PutUInt32(To);
     output.PutEnum(Type);
     output.PutPascalVLCString(Message);
     output.PutPascalVLCString(AckID);
     output.PutEnum(Reason);
 }
Ejemplo n.º 8
0
        public void Serialize(IoBuffer output, object value, ISerializationContext serializer)
        {
            var list = (IList <uint>)value;

            output.PutUInt32((uint)list.Count);
            for (int i = 0; i < list.Count; i++)
            {
                output.PutUInt32(list[i]);
            }
        }
Ejemplo n.º 9
0
        public void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutUInt32(Unknown1);  //Update counter
            output.PutUInt32(MessageId); //Message id
            output.PutUInt32(Unknown2);  //Unknown

            if (DotPath != null)
            {
                output.PutUInt32((uint)DotPath.Length);
                foreach (var component in DotPath)
                {
                    output.PutUInt32(component);
                }
            }
            else
            {
                //Vector size
                output.PutUInt32(3);
                output.PutUInt32(StructType);
                output.PutUInt32(StructId);
                output.PutUInt32(StructField);
            }

            //Write value
            context.ModelSerializer.Serialize(output, Value, context, true);

            output.PutPascalVLCString(ReasonText);
        }
Ejemplo n.º 10
0
 public void Serialize(IoBuffer output, ISerializationContext context)
 {
     output.PutUInt32(outfit_id);
     output.PutUInt64(asset_id);
     output.PutInt32(sale_price);
     output.PutInt32(purchase_price);
     output.PutEnum(owner_type);
     output.PutUInt32(owner_id);
     output.Put(outfit_type);
     output.PutEnum(outfit_source);
 }
Ejemplo n.º 11
0
        public void Serialize(IoBuffer output, object value, ISerializationContext serializer)
        {
            var dict = (ImmutableDictionary <uint, bool>)value;

            output.PutUInt32((uint)dict.Count);
            foreach (var elem in dict)
            {
                output.PutUInt32(elem.Key);
                output.Put((byte)(elem.Value ? 1 : 0));
            }
        }
Ejemplo n.º 12
0
        public void Serialize(IoBuffer output, object value, ISerializationContext serializer)
        {
            var dat = (cTSOGenericData)value;

            output.PutUInt32(0x0A2C6585);
            output.PutUInt32((uint)dat.Data.Length);
            for (int i = 0; i < dat.Data.Length; i++)
            {
                output.Put(dat.Data[i]);
            }
        }
Ejemplo n.º 13
0
        public void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutUInt32(0x89739A79);
            output.PutUInt32(StructType);
            output.PutUInt32((uint)StructFields.Count);

            foreach (var item in StructFields)
            {
                output.PutUInt32(item.StructFieldID);
                context.ModelSerializer.Serialize(output, item.Value, context, true);
            }
        }
Ejemplo n.º 14
0
        public override void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutEnum(Type);
            output.PutUInt32(TargetNHood);

            if (Type == BulletinRequestType.POST_MESSAGE || Type == BulletinRequestType.POST_SYSTEM_MESSAGE)
            {
                output.PutPascalString(Title);
                output.PutPascalString(Message);
                output.PutUInt32(LotID);
            }
            output.PutUInt32(Value);
        }
Ejemplo n.º 15
0
        /**cTSOValue<class cRZAutoRefCount<class cITSOProperty> > body:
         * dword Body clsid (iid=896E3E90 or "GZIID_cITSOProperty"; clsid should be 0x89739A79 for cTSOProperty)
         * dword Body
         * dword Struct type (e.g. 0x3B0430BF for AvatarAppearance)
         * dword Field count
         * Fields - for each field:
         * dword Field name (e.g. 0x1D530275 for AvatarAppearance_BodyOutfitID)
         * dword cTSOValue clsid
         * cTSOValue body**/

        public void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutUInt32(0x89739A79);
            output.PutUInt32(StructType);
            output.PutUInt32((uint)StructFields.Count);

            foreach (var item in StructFields)
            {
                output.PutUInt32(item.ID);
                output.PutUInt32(item.Value.Type);
                output.PutSerializable(item.Value.Value, context);
            }
        }
Ejemplo n.º 16
0
        public override void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutUInt32(SendingAvatarID);
            PutSender(output, Sender);
            output.Put(Badge);
            output.Put(IsAlertable);

            if (Body != null)
            {
                var bodyBytes = context.ModelSerializer.SerializeBuffer(Body, context, true);
                output.PutUInt32((uint)bodyBytes.Remaining);
                output.Put(bodyBytes);
            }
        }
Ejemplo n.º 17
0
        public override void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutUInt32(SendingAvatarID);
            output.PutUInt32(RequestTypeID);

            if (Body != null)
            {
                var bodyBytes = context.ModelSerializer.SerializeBuffer(Body, context, true);
                output.PutUInt32((uint)bodyBytes.Remaining);
                output.Put(bodyBytes);
            }

            //output.PutUInt32(RequestTypeID);
            //output.PutUInt32(0);
        }
Ejemplo n.º 18
0
        public void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutPascalVLCString(Query);
            output.PutUInt32((byte)Type);
            output.PutUInt32(Unknown);
            output.PutUInt32((uint)Items.Count);

            foreach (var item in Items)
            {
                output.PutUInt32(item.EntityId);
                output.PutPascalVLCString(item.Name);
            }

            output.Skip(36);
        }
Ejemplo n.º 19
0
 public override void Serialize(IoBuffer output, ISerializationContext context)
 {
     output.PutEnum <PurchaseLotStatus>(Status);
     output.PutEnum <PurchaseLotFailureReason>(Reason);
     output.PutUInt32(NewLotId);
     output.PutInt32(NewFunds);
 }
Ejemplo n.º 20
0
 public override void Serialize(IoBuffer output, ISerializationContext context)
 {
     output.PutEnum(Status);
     output.PutUInt32(LotId);
     output.PutPascalVLCString(LotServerTicket);
     output.PutPascalVLCString(Address);
     output.PutPascalVLCString(User);
 }
Ejemplo n.º 21
0
 public override void Serialize(IoBuffer output, ISerializationContext context)
 {
     output.PutEnum(Status);
     output.PutEnum(Type);
     output.PutInt32(EntityId);
     output.PutUInt32(ClaimId);
     output.PutPascalString(NewOwner);
 }
Ejemplo n.º 22
0
        private void EncodeVoltronStylePackets(IoSession session, IProtocolEncoderOutput output, AriesPacketType ariesType, ushort packetType, IoBufferSerializable message)
        {
            var payload = IoBuffer.Allocate(512);

            payload.Order      = ByteOrder.BigEndian;
            payload.AutoExpand = true;
            message.Serialize(payload, Context);
            payload.Flip();

            int      payloadSize = payload.Remaining;
            IoBuffer headers     = IoBuffer.Allocate(18);

            headers.Order = ByteOrder.LittleEndian;

            /**
             * Aries header
             *  uint32	type
             *  uint32	timestamp
             *  uint32	payloadSize
             */
            uint timestamp = (uint)TimeSpan.FromTicks(DateTime.Now.Ticks - session.CreationTime.Ticks).TotalMilliseconds;

            headers.PutUInt32(ariesType.GetPacketCode());
            headers.PutUInt32(timestamp);
            headers.PutUInt32((uint)payloadSize + 6);

            /**
             * Voltron header
             *  uint16	type
             *  uint32	payloadSize
             */
            headers.Order = ByteOrder.BigEndian;
            headers.PutUInt16(packetType);
            headers.PutUInt32((uint)payloadSize + 6);

            if (payloadSize > 0)
            {
                headers.AutoExpand = true;
                headers.Put(payload);
            }

            headers.Flip();
            output.Write(headers);
            //output.Flush();
        }
Ejemplo n.º 23
0
        public void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutUInt32((uint)Items.Count);
            foreach (var item in Items)
            {
                output.Put(item.Rank);

                if (item.TargetId != null && item.TargetId.HasValue)
                {
                    output.PutBool(true);
                    output.PutUInt32(item.TargetId.Value);
                    output.PutPascalVLCString(item.TargetName);
                }
                else
                {
                    output.PutBool(false);
                }
            }
        }
Ejemplo n.º 24
0
        public void Serialize(IoBuffer output, object value, ISerializationContext serializer)
        {
            IList <String> list = (IList <String>)value;

            output.PutUInt32((uint)list.Count);
            for (int i = 0; i < list.Count; i++)
            {
                output.PutPascalVLCString(list[i]);
            }
        }
Ejemplo n.º 25
0
        public override void Serialize(IoBuffer output, ISerializationContext context)
        {
            output.PutBool(NominationMode);
            output.PutInt32(Candidates.Count);

            foreach (var candidate in Candidates)
            {
                output.PutUInt32(candidate.ID);
                output.PutPascalVLCString(candidate.Name);
                output.PutUInt32(candidate.Rating);

                if (!NominationMode)
                {
                    output.PutPascalVLCString(candidate.LastNhoodName);
                    output.PutUInt32(candidate.LastNhoodID);
                    output.PutUInt32(candidate.TermNumber);
                    output.PutPascalVLCString(candidate.Message);
                }
            }
        }
Ejemplo n.º 26
0
        public override void Serialize(IoBuffer output, ISerializationContext context)
        {
            var text = ReasonText;

            if (text == null)
            {
                text = "";
            }

            output.PutUInt32(ReasonCode);
            output.PutPascalString(text);
            output.PutPascalString(Ticket);
        }
Ejemplo n.º 27
0
        private void EncodeAries(IoSession session, object message, IProtocolEncoderOutput output)
        {
            IAriesPacket    ariesPacket     = (IAriesPacket)message;
            AriesPacketType ariesPacketType = ariesPacket.GetPacketType();

            var payload = IoBuffer.Allocate(128);

            payload.Order      = ByteOrder.LittleEndian;
            payload.AutoExpand = true;
            ariesPacket.Serialize(payload, Context);
            payload.Flip();

            int      payloadSize = payload.Remaining;
            IoBuffer headers     = IoBuffer.Allocate(12);

            headers.Order = ByteOrder.LittleEndian;

            /**
             * Aries header
             *  uint32	type
             *  uint32	timestamp
             *  uint32	payloadSize
             */
            uint timestamp = (uint)TimeSpan.FromTicks(DateTime.Now.Ticks - session.CreationTime.Ticks).TotalMilliseconds;

            headers.PutUInt32(ariesPacketType.GetPacketCode());
            headers.PutUInt32(timestamp);
            headers.PutUInt32((uint)payloadSize);

            if (payloadSize > 0)
            {
                headers.AutoExpand = true;
                headers.Put(payload);
            }

            headers.Flip();
            output.Write(headers);
            //output.Flush();
        }
Ejemplo n.º 28
0
        public static void PutSerializable(this IoBuffer buffer, ISerializationContext context, object obj, bool writeLength)
        {
            if (obj is IoBuffer)
            {
                var ioBuffer = (IoBuffer)obj;
                if (writeLength)
                {
                    buffer.PutUInt32((uint)ioBuffer.Remaining);
                }
                buffer.Put(ioBuffer);
            }
            else if (obj is byte[])
            {
                var byteArray = (byte[])obj;
                if (writeLength)
                {
                    buffer.PutUInt32((uint)byteArray.Length);
                }
                buffer.Put(byteArray);
            }
            else if (obj is IoBufferSerializable)
            {
                var ioBuffer = IoBuffer.Allocate(0);
                ioBuffer.AutoExpand = true;
                ioBuffer.Order      = ByteOrder.BigEndian;

                var serializable = (IoBufferSerializable)obj;
                serializable.Serialize(ioBuffer, context);
                ioBuffer.Flip();

                if (writeLength)
                {
                    buffer.PutUInt32((uint)ioBuffer.Remaining);
                }
                buffer.Put(ioBuffer);
            }
        }
Ejemplo n.º 29
0
        public override void Serialize(IoBuffer output, ISerializationContext context)
        {
            var len = 0;

            if (PlayerIds != null)
            {
                len = PlayerIds.Count;
            }

            output.PutUInt16((ushort)len);

            for (int i = 0; i < len; i++)
            {
                output.PutUInt32(PlayerIds[i]);
            }
        }
Ejemplo n.º 30
0
        public void Serialize(IoBuffer output, object value, ISerializationContext context, bool clsIdPrefix)
        {
            if (value == null)
            {
                return;
            }
            var serializer = GetSerializer(value.GetType());

            if (serializer == null)
            {
                return;
            }

            if (clsIdPrefix)
            {
                output.PutUInt32(serializer.GetClsid(value).Value);
            }
            serializer.Serialize(output, value, context);
        }