Ejemplo n.º 1
0
        /// <summary>
        /// Initialize a new shader.
        /// </summary>
        public Shader()
        {
            // Set UseDynamicLighting.
            UseDynamicLighting = false;

            // Set Unknown 2.
            Unknown2 = 0;

            // Set Unknown 3.
            Unknown3 = 0;

            // Set Tint.
            Tint = new Clr4();

            // Set Unknown 4. (Padding)
            Unknown4 = 0;

            // Set Material Indices array.
            MaterialIndices = new short[8] {
                -1, -1, -1, -1, -1, -1, -1, -1
            };

            // Set Unknown 5 array. (Indices?)
            Unknown5 = new short[8];
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Read array of Clr4s.
 /// </summary>
 /// <param name="count">Amount of Clr4s to read.</param>
 /// <returns>The read array of Clr4s.</returns>
 public Clr4[] ReadClr4s(int count)
 {
     Clr4[] data = new Clr4[count];
     for (int i = 0; i < count; i++)
     {
         data[i] = ReadClr4();
     }
     return(data);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Write Clr4.
        /// </summary>
        /// <param name="value">The Clr4 to write.</param>
        public void WriteClr4(Clr4 value)
        {
            uint data =
                (uint)(value.R * byte.MaxValue) << 24 |
                    (uint)(value.G * byte.MaxValue) << 16 |
                    (uint)(value.B * byte.MaxValue) << 8 |
                    (uint)(value.A * byte.MaxValue);

            WriteU32(data);
        }