Ejemplo n.º 1
0
        public int GetLength()
        {
            var mainCam1Len = MainCamera1 == null ? 0 : MainCamera1.GetLength();
            var mainCam2Len = MainCamera2 == null ? 0 : MainCamera2.GetLength();

            return(CamTrigger.GetLength() + 115 + mainCam1Len + mainCam2Len);
        }
Ejemplo n.º 2
0
        public void Read(BinaryReader reader, int length)
        {
            CamTrigger.Header1 = reader.ReadUInt32();
            CamTrigger.Enabled = reader.ReadUInt32();
            CamTrigger.HeaderT = reader.ReadSingle();
            CamTrigger.Rotation.Read(reader, Constants.SIZE_VECTOR4);
            CamTrigger.Position.Read(reader, Constants.SIZE_VECTOR4);
            CamTrigger.Scale.Read(reader, Constants.SIZE_VECTOR4);
            reader.ReadUInt32();
            UInt32 instances_cnt = reader.ReadUInt32();

            CamTrigger.HeaderH = reader.ReadUInt32();
            CamTrigger.Instances.Clear();
            for (int i = 0; i < instances_cnt; ++i)
            {
                CamTrigger.Instances.Add(reader.ReadUInt16());
            }
            // Camera
            CameraHeader = reader.ReadUInt32();
            UnkShort     = reader.ReadUInt16();
            UnkFloat1    = reader.ReadSingle();
            UnkVector1.Read(reader, Constants.SIZE_VECTOR4);
            UnkVector2.Read(reader, Constants.SIZE_VECTOR4);
            UnkFloat2  = reader.ReadSingle();
            UnkFloat3  = reader.ReadSingle();
            UnkInt1    = reader.ReadUInt32();
            UnkInt2    = reader.ReadUInt32();
            UnkInt3    = reader.ReadUInt32();
            UnkInt4    = reader.ReadUInt32();
            UnkInt5    = reader.ReadUInt32();
            UnkInt6    = reader.ReadUInt32();
            UnkFloat4  = reader.ReadSingle();
            UnkFloat5  = reader.ReadSingle();
            UnkFloat6  = reader.ReadSingle();
            UnkFloat7  = reader.ReadSingle();
            UnkInt7    = reader.ReadUInt32();
            UnkInt8    = reader.ReadUInt32();
            UnkInt9    = reader.ReadUInt32();
            UnkFloat8  = reader.ReadSingle();
            TypeIndex1 = reader.ReadUInt32();
            TypeIndex2 = reader.ReadUInt32();
            UnkByte    = reader.ReadByte();
            if (TypeIndex1 != 3 && subCamIdToCamera.ContainsKey(TypeIndex1))
            {
                MainCamera1 = (CameraSubBase)Activator.CreateInstance(subCamIdToCamera[TypeIndex1]);
                MainCamera1.Read(reader, MainCamera1.GetLength());
            }
            if (TypeIndex2 != 3 && subCamIdToCamera.ContainsKey(TypeIndex2))
            {
                MainCamera2 = (CameraSubBase)Activator.CreateInstance(subCamIdToCamera[TypeIndex2]);
                MainCamera2.Read(reader, MainCamera2.GetLength());
            }
        }
Ejemplo n.º 3
0
 public void Write(BinaryWriter writer)
 {
     writer.Write(CamTrigger.Header1);
     writer.Write(CamTrigger.Enabled);
     writer.Write(CamTrigger.HeaderT);
     CamTrigger.Rotation.Write(writer);
     CamTrigger.Position.Write(writer);
     CamTrigger.Scale.Write(writer);
     writer.Write(CamTrigger.Instances.Count);
     writer.Write(CamTrigger.Instances.Count);
     writer.Write(CamTrigger.HeaderH);
     for (int i = 0; i < CamTrigger.Instances.Count; ++i)
     {
         writer.Write(CamTrigger.Instances[i]);
     }
     //
     writer.Write(CameraHeader);
     writer.Write(UnkShort);
     writer.Write(UnkFloat1);
     UnkVector1.Write(writer);
     UnkVector2.Write(writer);
     writer.Write(UnkFloat2);
     writer.Write(UnkFloat3);
     writer.Write(UnkInt1);
     writer.Write(UnkInt2);
     writer.Write(UnkInt3);
     writer.Write(UnkInt4);
     writer.Write(UnkInt5);
     writer.Write(UnkInt6);
     writer.Write(UnkFloat4);
     writer.Write(UnkFloat5);
     writer.Write(UnkFloat6);
     writer.Write(UnkFloat7);
     writer.Write(UnkInt7);
     writer.Write(UnkInt8);
     writer.Write(UnkInt9);
     writer.Write(UnkFloat8);
     writer.Write(TypeIndex1);
     writer.Write(TypeIndex2);
     writer.Write(UnkByte);
     if (MainCamera1 != null)
     {
         MainCamera1.Write(writer);
     }
     if (MainCamera2 != null)
     {
         MainCamera2.Write(writer);
     }
 }