Exemplo n.º 1
0
        public void Deserialize(Stream stream)
        {
            using (var r = stream.ToBinaryReader(true))
            {
                Translation = new Vector3(r.ReadSingle(), r.ReadSingle(), r.ReadSingle());
                Rotation    = new Quaternion(r.ReadSingle(), r.ReadSingle(), r.ReadSingle(), r.ReadSingle());
                Scale       = new Vector3(r.ReadSingle(), r.ReadSingle(), r.ReadSingle());

                uint count = r.ReadUInt32();
                for (int n = 0; n < count; n++)
                {
                    Unk1.Add(Tuple.Create(r.ReadInt32(), new Vector3(r.ReadSingle(), r.ReadSingle(), r.ReadSingle())));
                }

                count = r.ReadUInt32();
                for (int n = 0; n < count; n++)
                {
                    Unk2.Add(Tuple.Create(r.ReadInt32(), new Quaternion(r.ReadSingle(), r.ReadSingle(), r.ReadSingle(), r.ReadSingle())));
                }

                count = r.ReadUInt32();
                for (int n = 0; n < count; n++)
                {
                    Unk3.Add(Tuple.Create(r.ReadInt32(), new Vector3(r.ReadSingle(), r.ReadSingle(), r.ReadSingle())));
                }
            }
        }
Exemplo n.º 2
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Name.Length != 0)
            {
                hash ^= Name.GetHashCode();
            }
            if (Unk2 != 0)
            {
                hash ^= Unk2.GetHashCode();
            }
            if (None.Length != 0)
            {
                hash ^= None.GetHashCode();
            }
            if (Lang.Length != 0)
            {
                hash ^= Lang.GetHashCode();
            }
            if (Unk5 != 0)
            {
                hash ^= Unk5.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Exemplo n.º 3
0
        public override void Write(BinaryWriter Writer)
        {
            base.Write(Writer);

            Writer.Write(Unk0);
            Position.WriteToFile(Writer);
            Direction.WriteToFile(Writer);
            Unk2.WriteToFile(Writer);
            Writer.Write(Unk3);
        }
Exemplo n.º 4
0
        public override void Write(BinaryWriter Writer)
        {
            base.Write(Writer);

            Writer.Write(Unk0);
            Unk1.WriteToFile(Writer);
            Unk2.WriteToFile(Writer);
            Unk3.WriteToFile(Writer);
            Writer.Write(Unk4);
        }
Exemplo n.º 5
0
        public override void DebugWrite(StreamWriter Writer)
        {
            base.DebugWrite(Writer);

            Writer.WriteLine("Type 7:");
            Writer.WriteLine("Unk0: {0}", Unk0);
            Writer.WriteLine("Position: {0}", Position.ToString());
            Writer.WriteLine("Direction: {0}", Direction.ToString());
            Writer.WriteLine("Unk2: {0}", Unk2.ToString());
            Writer.WriteLine("Unke3: {0}", Unk3);
        }
 //
 public byte[] ToByteArray()
 {
     using var ms = new MemoryStream();
     using var bw = new BinaryWriter(ms);
     bw.Write(Espn.ToCharArray());
     bw.Write(Unk0);
     bw.Write(Unk1);
     bw.Write(Unk2.ToArray());
     bw.Write(Checksum);
     bw.Write(NumberOfFiles);
     bw.Write(FilesTableOffset);
     bw.Write(FileNameHash);
     return(ms.ToArray());
 }
Exemplo n.º 7
0
 public void WriteXml(StringBuilder sb, int indent)
 {
     CacheDatXml.StringTag(sb, indent, "name", CacheDatXml.HashString(Name));
     CacheDatXml.StringTag(sb, indent, "parent", CacheDatXml.HashString(ParentName));
     CacheDatXml.ValueTag(sb, indent, "contentFlags", ContentFlags.ToString());
     CacheDatXml.SelfClosingTag(sb, indent, "streamingExtentsMin " + FloatUtil.GetVector3XmlString(streamingExtentsMin));
     CacheDatXml.SelfClosingTag(sb, indent, "streamingExtentsMax " + FloatUtil.GetVector3XmlString(streamingExtentsMax));
     CacheDatXml.SelfClosingTag(sb, indent, "entitiesExtentsMin " + FloatUtil.GetVector3XmlString(entitiesExtentsMin));
     CacheDatXml.SelfClosingTag(sb, indent, "entitiesExtentsMax " + FloatUtil.GetVector3XmlString(entitiesExtentsMax));
     CacheDatXml.ValueTag(sb, indent, "unk1", Unk1.ToString());
     CacheDatXml.ValueTag(sb, indent, "unk2", Unk2.ToString());
     CacheDatXml.ValueTag(sb, indent, "unk3", Unk3.ToString());
     CacheDatXml.ValueTag(sb, indent, "unk4", Unk4.ToString());
 }
Exemplo n.º 8
0
        public override void Write(BinaryWriter Writer)
        {
            base.Write(Writer);

            Writer.Write(Unk0);
            Writer.Write(Unk1);
            Unk2.WriteToFile(Writer);
            Writer.Write(Unk3);
            Writer.Write(Unk4);

            Writer.Write((ushort)Unk5.Length);
            foreach (uint Value in Unk5)
            {
                Writer.Write(Value);
            }
        }
Exemplo n.º 9
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Unk1 != 0UL)
            {
                hash ^= Unk1.GetHashCode();
            }
            if (Unk2 != 0UL)
            {
                hash ^= Unk2.GetHashCode();
            }
            if (Name.Length != 0)
            {
                hash ^= Name.GetHashCode();
            }
            if (Desc.Length != 0)
            {
                hash ^= Desc.GetHashCode();
            }
            if (Icon.Length != 0)
            {
                hash ^= Icon.GetHashCode();
            }
            if (Position.Length != 0)
            {
                hash ^= Position.GetHashCode();
            }
            if (Button.Length != 0)
            {
                hash ^= Button.GetHashCode();
            }
            if (Effect.Length != 0)
            {
                hash ^= Effect.GetHashCode();
            }
            if (Lbdat.Length != 0)
            {
                hash ^= Lbdat.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Exemplo n.º 10
0
        public override void DebugWrite(StreamWriter Writer)
        {
            base.DebugWrite(Writer);

            Writer.WriteLine("Type 9:");
            Writer.WriteLine("Unk0: {0}", Unk0);
            Writer.WriteLine("Unk1: {0}", Unk1);
            Writer.WriteLine("Unk2: {0}", Unk2.ToString());
            Writer.WriteLine("Unk3: {0}", Unk3);
            Writer.WriteLine("Unk4: {0}", Unk4);

            Writer.WriteLine("Unk5 Size: {0}", Unk5.Length);
            foreach (uint Value in Unk5)
            {
                Writer.WriteLine("Value: {0}", Value);
            }
        }
Exemplo n.º 11
0
 public override string ToString()
 {
     return(AdjAreaIDInd.ToString() + ", " + PolyID.ToString() + ", " + Unk2.ToString() + ", " + Unk3.ToString());
 }
Exemplo n.º 12
0
        public override string ToString()
        {
            string pid = (PolyID == 0x3FFF) ? "-" : PolyID.ToString();

            return(AreaIDInd.ToString() + ", " + pid + ", " + Unk2.ToString() + ", " + Unk3.ToString());
        }
Exemplo n.º 13
0
        }                                                                            //byte offset


        public override string ToString()
        {
            return(BlockID.ToString() + ", " + ItemOffset.ToString() + ", " + Unk2.ToString());
        }
Exemplo n.º 14
0
        public void LoadFile(string targetFile)
        {
            using var reader = new BinaryReader(File.OpenRead(targetFile));

            reader.BaseStream.Seek(6, SeekOrigin.Begin);

            {
                var count = reader.ReadUInt32();
                var arr   = new DateTime[count];
                for (var i = 0; i < count; i++)
                {
                    var timeT = reader.ReadInt64();
                    arr[i] = new DateTime(1970, 1, 1).AddSeconds(timeT);
                }
                times = arr.ToList();
            }

            reader.BaseStream.Seek(1, SeekOrigin.Current);

            {
                var count = reader.ReadUInt32();
                var arr   = new Weapon[count];
                for (var i = 0; i < count; i++)
                {
                    arr[i] = new Weapon {
                        Index          = (ulong)i,
                        unlockTime     = times[reader.ReadByte()],
                        weaponCategory = (WeaponType)reader.ReadByte(),
                        weaponId       = reader.ReadUInt32()
                    };
                }
                weapons = arr.ToList();
            }

            reader.BaseStream.Seek(1, SeekOrigin.Current);

            {
                var count = reader.ReadUInt32();
                var arr   = new Armor[count];
                for (var i = 0; i < count; i++)
                {
                    arr[i] = new Armor {
                        Index      = (ulong)i,
                        unlockTime = times[reader.ReadByte()],
                        armorType  = (ArmorType)reader.ReadByte(),
                        armorId    = reader.ReadUInt32()
                    };
                }
                armors = arr.ToList();
            }

            reader.BaseStream.Seek(1, SeekOrigin.Current);

            {
                var count = reader.ReadUInt32();
                var arr   = new Unk1[count];
                for (var i = 0; i < count; i++)
                {
                    arr[i] = new Unk1 {
                        Index      = (ulong)i,
                        unlockTime = times[reader.ReadByte()],
                        unk1       = reader.ReadUInt32()
                    };
                }
                unk1 = arr.ToList();
            }

            reader.BaseStream.Seek(1, SeekOrigin.Current);

            {
                var count = reader.ReadUInt32();
                var arr   = new Unk2[count];
                for (var i = 0; i < count; i++)
                {
                    arr[i] = new Unk2 {
                        Index      = (ulong)i,
                        unlockTime = times[reader.ReadByte()],
                        unk1       = reader.ReadByte(),
                        unk2       = reader.ReadUInt32()
                    };
                }
                unk2 = arr.ToList();
            }

            reader.BaseStream.Seek(1, SeekOrigin.Current);

            {
                var count = reader.ReadUInt32();
                var arr   = new Pendant[count];
                for (var i = 0; i < count; i++)
                {
                    arr[i] = new Pendant {
                        Index      = (ulong)i,
                        unlockTime = times[reader.ReadByte()],
                        pendantId  = reader.ReadUInt32()
                    };
                }
                pendants = arr.ToList();
            }

            reader.BaseStream.Seek(1, SeekOrigin.Current);

            {
                var count = reader.ReadUInt32();
                var arr   = new ItemTg[count];
                for (var i = 0; i < count; i++)
                {
                    arr[i] = new ItemTg {
                        Index      = (ulong)i,
                        unlockTime = times[reader.ReadByte()],
                        itemId     = reader.ReadUInt32()
                    };
                }
                items = arr.ToList();
            }

            reader.BaseStream.Seek(1, SeekOrigin.Current);

            {
                var count = reader.ReadUInt32();
                var arr   = new Unk3[count];
                for (var i = 0; i < count; i++)
                {
                    arr[i] = new Unk3 {
                        Index      = (ulong)i,
                        unlockTime = times[reader.ReadByte()],
                        unk1       = reader.ReadByte(),
                        unk2       = reader.ReadUInt32()
                    };
                }
                unk3 = arr.ToList();
            }
        }