示例#1
0
 public UpdateField(string name, long pos, long total, UpdateFieldType type, UpdatafieldFlags flags)
 {
     Name = name;
     Pos = pos;
     Total = total;
     Type = type;
     Flags = flags;
 }
示例#2
0
 public UpdateField(string name, long pos, long total, UpdateFieldType type, UpdatafieldFlags flags)
 {
     Name  = name;
     Pos   = pos;
     Total = total;
     Type  = type;
     Flags = flags;
 }
示例#3
0
		public static uint GetSizeof(UpdateFieldType type)
		{
			if (//type == UpdateFieldType.UInt64 || 
				type == UpdateFieldType.Guid)
			{
				return 2;
			}
			return 1;
		}
示例#4
0
        private static int FillList()
        {
            int i = 0;

            string old_s = String.Empty;
            string s     = String.Empty;

            gr.BaseStream.Position = start_ofs;

            do
            {
                uint p1 = gr.ReadUInt32();

                if (p1 < 0x9999)
                {
                    p1 = gr.ReadUInt32();
                }
                uint p2 = gr.ReadUInt32();
                uint p3 = gr.ReadUInt32();
                uint p4 = gr.ReadUInt32();
                uint p5 = gr.ReadUInt32();

                str_ofs = p1 - str_ofs_delta;

                long oldpos = gr.BaseStream.Position;
                gr.BaseStream.Position = str_ofs;

                s = gr.ReadStringNull();
                gr.BaseStream.Position = oldpos;

                StringBuilder sb = new StringBuilder();
                sb.Append("Size: ");
                sb.Append(p3);
                sb.Append(", Type: ");
                UpdateFieldType type = (UpdateFieldType)p4;
                sb.Append(type);
                sb.Append(", Flags: ");
                UpdatafieldFlags flags = (UpdatafieldFlags)p5;
                sb.Append(flags);

                UpdateField uf = new UpdateField(s, p2, p3, sb.ToString());
                list.Add(uf);

                if (!old_s.Equals("CORPSE_FIELD_PAD") && s.Equals("CORPSE_FIELD_PAD"))
                {
                    break;
                }

                old_s = s;

                i++;
            } while (true);

            return(i);
        }
        private void FieldTypeFinder(UpdateFieldType toSearch)
        {
            var query = from field in m_updateFieldList
                        where field.Type == toSearch
                        select field;

            Console.WriteLine("Type: {0}", toSearch);
            foreach (var field in query)
            {
                Console.WriteLine("{0}: {1} - {2}", field.Size, field.Name, field.Flags);
            }
        }
示例#6
0
        public FieldRenderInfo(object field, UpdateFieldType type)
        {
            Field = field;
            Type = type;
            Name = FieldRenderUtil.GetFriendlyName(field);

            FieldRenderUtil.CustomRenderers.TryGetValue(field, out Renderer);
            if (Renderer == null)
            {
                Renderer = FieldRenderUtil.TypeRenderers[(int)Type];
            }

            Index = Convert.ToUInt32(field);
        }
示例#7
0
        public FieldRenderInfo(object field, UpdateFieldType type)
        {
            Field = field;
            Type  = type;
            Name  = FieldRenderUtil.GetFriendlyName(field);

            FieldRenderUtil.CustomRenderers.TryGetValue(field, out Renderer);
            if (Renderer == null)
            {
                Renderer = FieldRenderUtil.TypeRenderers[(int)Type];
            }

            Index = Convert.ToUInt32(field);
        }
示例#8
0
        public FieldRenderer(ObjectTypeId enumType)
        {
            EnumType = enumType;

            var fields = FieldRenderUtil.GetValues(enumType);

            Fields = new FieldRenderInfo[fields.Length];

            uint i = 0;

            var fieldDefs = UpdateFieldMgr.Get(enumType);

            foreach (var e in fields)
            {
                var fieldDef = fieldDefs.Fields.Get((uint)((int)e));

                UpdateFieldType type = fieldDef == null ? UpdateFieldType.UInt32 : fieldDef.Type;
                Fields[i] = new FieldRenderInfo(e, type);
                i++;
            }
        }
示例#9
0
        void WriteFormat(StreamWriter sw, UpdateFieldType type, string name, long size)
        {
            if (type == UpdateFieldType.WGUID)
            {
                if (size == 2)
                {
                    sw.WriteLine("    {0} {1};", type, name);
                }
                else
                {
                    sw.WriteLine("    {0} {1}[{2}];", type, name, size / 2);
                }
            }
            else if (type == UpdateFieldType.WORD_char_2)
            {
                sw.WriteLine("    {0} {1}_LOW;", UpdateFieldType.WORD, name);
                sw.WriteLine("    {0} {1}_HIGH[{2}];", UpdateFieldType.@char, name, 2);
            }
            else
            {
                if (type == UpdateFieldType.WORD)
                {
                    size *= 2;
                }

                if (type == UpdateFieldType.@char)
                {
                    size *= 4;
                }

                if (size == 1)
                {
                    sw.WriteLine("    {0} {1};", type, name);
                }
                else
                {
                    sw.WriteLine("    {0} {1}[{2}];", type, name, size);
                }
            }
        }
		static void FieldTypeFinder(UpdateFieldType toSearch)
		{
			var query = from field in m_updateFieldList
						where field.Type == toSearch
						select field;

			Console.WriteLine("Type: {0}", toSearch);
			foreach (var field in query)
			{
				Console.WriteLine("{0}: {1} - {2}", field.Size, field.Name, field.Flags);
			}
		}
示例#11
0
        void WriteFormat(StreamWriter sw, UpdateFieldType type, string name, long size)
        {
            if (type == UpdateFieldType.WGUID)
            {
                if (size == 2)
                    sw.WriteLine("    {0} {1};", type, name);
                else
                    sw.WriteLine("    {0} {1}[{2}];", type, name, size / 2);
            }
            else if (type == UpdateFieldType.WORD_char_2)
            {
                sw.WriteLine("    {0} {1}_LOW;", UpdateFieldType.WORD, name);
                sw.WriteLine("    {0} {1}_HIGH[{2}];", UpdateFieldType.@char, name, 2);
            }
            else
            {
                if (type == UpdateFieldType.WORD)
                    size *= 2;

                if (type == UpdateFieldType.@char)
                    size *= 4;

                if (size == 1)
                {
                    sw.WriteLine("    {0} {1};", type, name);
                }
                else
                {
                    sw.WriteLine("    {0} {1}[{2}];", type, name, size);
                }
            }
        }
 public UpdateFieldAttribute(UpdateFieldType attrib, ClientVersionBuild fromVersion)
 {
     UFAttribute = attrib;
     Version     = fromVersion;
 }
 public UpdateFieldAttribute(UpdateFieldType attrib)
 {
     UFAttribute = attrib;
     Version     = ClientVersionBuild.Zero;
 }