Exemplo n.º 1
0
        protected override void SanitizeOnSave()
        {
            base.SanitizeOnSave();

            /* Start check regarding OM Flag */

            // Check if OM Texture is valid
            bool bIsOMTextureValid = (omTextureHash.Hash != 0);

            // Cache-Off flag
            bool bHasOMFlag = flags.HasFlag(SingleMeshFlags.OM_Flag);

            // If we have the flag but we it isn't valid
            if (bHasOMFlag && !bIsOMTextureValid)
            {
                // Remove flag
                flags &= ~SingleMeshFlags.OM_Flag;
            }

            // If we have a valid hash but don't have the flag.
            if (bIsOMTextureValid && !bHasOMFlag)
            {
                // Add flag
                flags |= SingleMeshFlags.OM_Flag;
            }
            /* End check regarding OM Flag */
        }
Exemplo n.º 2
0
 public override void ReadFromFile(BinaryReader reader)
 {
     base.ReadFromFile(reader);
     flags              = (SingleMeshFlags)reader.ReadInt32();
     bounds             = new BoundingBox(reader);
     unk_14_byte        = reader.ReadByte();
     meshIndex          = reader.ReadInt32();
     materialIndex      = reader.ReadInt32();
     unk_17_textureHash = new Hash(reader);
     unk_18_byte1       = reader.ReadByte();
     unk_18_byte2       = reader.ReadByte();
     unk_18_byte3       = reader.ReadByte();
 }
Exemplo n.º 3
0
 /// <summary>
 /// Build basic singleMesh data.
 /// </summary>
 public FrameObjectSingleMesh() : base()
 {
     flags              = SingleMeshFlags.Unk14_Flag | SingleMeshFlags.flag_32 | SingleMeshFlags.flag_67108864;
     bounds             = new BoundingBox();
     unk_14_byte        = 255;
     meshIndex          = 0;
     materialIndex      = 0;
     transformMatrix    = new TransformMatrix();
     unk_17_textureHash = new Hash();
     unk_18_byte1       = 0;
     unk_18_byte2       = 0;
     unk_18_byte3       = 0;
 }
 public FrameObjectSingleMesh() : base()
 {
     flags          = SingleMeshFlags.Unk14_Flag | SingleMeshFlags.flag_32 | SingleMeshFlags.flag_67108864;
     bounds         = new BoundingBox();
     unk14          = 255;
     meshIndex      = 0;
     materialIndex  = 0;
     localTransform = new Matrix();
     omTextureHash  = new HashName();
     unk18_1        = 0;
     unk18_2        = 0;
     unk18_3        = 0;
 }
 public override void ReadFromFile(MemoryStream reader, bool isBigEndian)
 {
     base.ReadFromFile(reader, isBigEndian);
     flags         = (SingleMeshFlags)reader.ReadInt32(isBigEndian);
     bounds        = BoundingBoxExtenders.ReadFromFile(reader, isBigEndian);
     unk14         = reader.ReadByte8();
     meshIndex     = reader.ReadInt32(isBigEndian);
     materialIndex = reader.ReadInt32(isBigEndian);
     omTextureHash = new HashName(reader, isBigEndian);
     unk18_1       = reader.ReadByte8();
     unk18_2       = reader.ReadByte8();
     unk18_3       = reader.ReadByte8();
 }
 public FrameObjectSingleMesh(FrameObjectSingleMesh other) : base(other)
 {
     flags         = other.flags;
     bounds        = other.bounds;
     unk14         = other.unk14;
     meshIndex     = other.meshIndex;
     materialIndex = other.materialIndex;
     omTextureHash = new HashName(other.omTextureHash.String);
     unk18_1       = other.unk18_1;
     unk18_2       = other.unk18_2;
     unk18_3       = other.unk18_3;
     material      = other.material;
     geometry      = other.geometry;
 }