@@ -25,7 +25,8 @@ public FoxEntity()
2525
2626 public ulong ClassNameHash { get ; set ; }
2727 public string ClassName { get ; set ; }
28- public short Unknown { get ; set ; }
28+ public short Unknown1 { get ; set ; }
29+ public int Unknown2 { get ; set ; }
2930 public short Version { get ; set ; }
3031 public uint Address { get ; set ; }
3132
@@ -52,7 +53,8 @@ public void ReadXml(XmlReader reader)
5253 Address = addr . StartsWith ( "0x" )
5354 ? uint . Parse ( addr . Substring ( 2 , addr . Length - 2 ) , NumberStyles . AllowHexSpecifier )
5455 : uint . Parse ( addr ) ;
55- Unknown = short . Parse ( reader . GetAttribute ( "unknown" ) ) ;
56+ Unknown1 = short . Parse ( reader . GetAttribute ( "unknown1" ) ) ;
57+ Unknown2 = int . Parse ( reader . GetAttribute ( "unknown2" ) ) ;
5658
5759 var isEmptyElement = reader . IsEmptyElement ;
5860 reader . ReadStartElement ( "entity" ) ;
@@ -94,7 +96,8 @@ public void WriteXml(XmlWriter writer)
9496 writer . WriteAttributeString ( "class" , ClassName ) ;
9597 writer . WriteAttributeString ( "classVersion" , Version . ToString ( ) ) ;
9698 writer . WriteAttributeString ( "addr" , String . Format ( "0x{0:X8}" , Address ) ) ;
97- writer . WriteAttributeString ( "unknown" , Unknown . ToString ( ) ) ;
99+ writer . WriteAttributeString ( "unknown1" , Unknown1 . ToString ( ) ) ;
100+ writer . WriteAttributeString ( "unknown2" , Unknown2 . ToString ( ) ) ;
98101
99102
100103 writer . WriteStartElement ( "staticProperties" ) ;
@@ -127,14 +130,13 @@ private void Read(Stream input)
127130 {
128131 BinaryReader reader = new BinaryReader ( input , Encoding . Default , true ) ;
129132 short headerSize = reader . ReadInt16 ( ) ;
130- Unknown = reader . ReadInt16 ( ) ;
133+ Unknown1 = reader . ReadInt16 ( ) ;
131134 short padding1 = reader . ReadInt16 ( ) ;
132135 uint magicNumber1 = reader . ReadUInt32 ( ) ;
133136 Address = reader . ReadUInt32 ( ) ;
134- ushort padding2 = reader . ReadUInt16 ( ) ;
135- int unknown4 = reader . ReadInt32 ( ) ;
137+ uint padding2 = reader . ReadUInt32 ( ) ;
138+ Unknown2 = reader . ReadInt32 ( ) ;
136139 int unknown5 = reader . ReadInt32 ( ) ;
137- int unknown6 = reader . ReadInt16 ( ) ;
138140 Version = reader . ReadInt16 ( ) ;
139141 ClassNameHash = reader . ReadUInt64 ( ) ;
140142 ushort staticPropertyCount = reader . ReadUInt16 ( ) ;
@@ -189,11 +191,13 @@ public void Write(Stream output)
189191 uint dataSize = ( uint ) ( endPosition - headerPosition ) ;
190192 output . Position = headerPosition ;
191193 writer . Write ( HeaderSize ) ;
192- writer . Write ( Unknown ) ;
193- writer . WriteZeros ( 2 ) ;
194+ writer . Write ( Unknown1 ) ;
195+ writer . WriteZeros ( 2 ) ; // padding1
194196 writer . Write ( MagicNumber ) ;
195197 writer . Write ( Address ) ;
196- writer . WriteZeros ( 12 ) ;
198+ writer . WriteZeros ( 4 ) ; // padding2
199+ writer . Write ( Unknown2 ) ;
200+ writer . WriteZeros ( 4 ) ;
197201 writer . Write ( Version ) ;
198202 writer . Write ( ClassNameHash ) ;
199203 writer . Write ( Convert . ToUInt16 ( StaticProperties . Count ( ) ) ) ;
0 commit comments