WriteString() public method

public WriteString ( string str ) : void
str string
return void
Example #1
0
        public void Write(BrgBinaryWriter writer)
        {
            writer.Write(this.Id);
            writer.Write((int)this.Flags);

            writer.Write(this.unknown01b);
            writer.Write(Encoding.UTF8.GetByteCount(this.DiffuseMap));

            writer.WriteColor3D(this.DiffuseColor);
            writer.WriteColor3D(this.AmbientColor);
            writer.WriteColor3D(this.SpecularColor);
            writer.WriteColor3D(this.EmissiveColor);

            writer.WriteString(this.DiffuseMap, 0);

            if (this.Flags.HasFlag(BrgMatFlag.SpecularExponent))
            {
                writer.Write(this.SpecularExponent);
            }
            if (this.Flags.HasFlag(BrgMatFlag.BumpMap))
            {
                writer.WriteString(this.BumpMap, 4);
            }
            if (this.Flags.HasFlag(BrgMatFlag.Alpha))
            {
                writer.Write(this.Opacity);
            }

            if (this.Flags.HasFlag(BrgMatFlag.REFLECTIONTEXTURE))
            {
                writer.Write((byte)this.sfx.Count);
                for (int i = 0; i < this.sfx.Count; i++)
                {
                    writer.Write(this.sfx[i].Id);
                    writer.WriteString(this.sfx[i].Name, 2);
                }
            }
        }
Example #2
0
        public void Write(Stream stream)
        {
            using (BrgBinaryWriter writer = new BrgBinaryWriter(new LittleEndianBitConverter(), stream))
            {
                writer.Write(1280463949); // MTRL
                UInt32 nameLength = (UInt32)Encoding.UTF8.GetByteCount(this.Texture);
                writer.Write(nameLength);
                for (int i = 0; i < 5; ++i)
                {
                    writer.Write(this.unk[i]);
                }

                writer.WriteColor3D(this.Diffuse);
                writer.WriteColor3D(this.Ambient);
                writer.WriteColor3D(this.Specular);
                writer.WriteColor3D(this.Emissive);
                writer.Write(this.SpecularLevel);
                writer.Write(this.Alpha);

                writer.Write(this.Id);

                writer.Write(this.SelfIlluminating);
                writer.Write(this.ClampU);
                writer.Write(this.ClampV);
                writer.Write(this.LightSpecular);
                writer.Write(this.AffectsAmbient);
                writer.Write(this.AffectsDiffuse);
                writer.Write(this.AffectsSpecular);
                writer.Write(this.Updateable);

                writer.Write(this.AlphaMode); // Seems to be very often 10, wave has a 2 here, phoenix has 6
                writer.Write(this.AmbientIntensity);
                writer.Write(this.DiffuseIntensity);
                writer.Write(this.SpecularIntensity);
                writer.Write(this.EmissiveIntensity);
                writer.Write(this.ColorTransform);   // Val of 4 seems to be PC
                writer.Write(this.TextureTransform);
                writer.Write(this.TextureFactor);    // Has something to do with Cube Map
                writer.Write(this.MultiTextureMode); // Has something to do with Cube Map
                writer.Write(this.TexGenMode0);
                writer.Write(this.TexGenMode1);      // Has something to do with Cube Map
                writer.Write(this.TexCoordSet0);
                writer.Write(this.TexCoordSet1);
                writer.Write(this.TexCoordSet2);
                writer.Write(this.TexCoordSet3);
                writer.Write(this.TexCoordSet4);
                writer.Write(this.TexCoordSet5);
                writer.Write(this.TexCoordSet6);
                writer.Write(this.TexCoordSet7);

                for (int i = 0; i < 3; ++i)
                {
                    writer.WriteTexel(this.unk2[i]);
                }
                for (int i = 0; i < 3; ++i)
                {
                    writer.WriteTexel(this.unk3[i]);
                }
                for (int i = 0; i < 4; ++i)
                {
                    writer.Write(this.unk4[i]);
                }

                if (nameLength > 0)
                {
                    writer.WriteString(this.Texture);
                }
            }
        }
Example #3
0
        public void Write(Stream stream)
        {
            using (BrgBinaryWriter writer = new BrgBinaryWriter(new LittleEndianBitConverter(), stream))
            {
                writer.Write(1280463949); // MTRL
                UInt32 nameLength = (UInt32)Encoding.UTF8.GetByteCount(this.Texture);
                writer.Write(nameLength);
                for (int i = 0; i < 5; ++i)
                {
                    writer.Write(this.unk[i]);
                }

                writer.WriteColor3D(this.Diffuse);
                writer.WriteColor3D(this.Ambient);
                writer.WriteColor3D(this.Specular);
                writer.WriteColor3D(this.Emissive);
                writer.Write(this.SpecularLevel);
                writer.Write(this.Alpha);

                writer.Write(this.Id);

                writer.Write(this.SelfIlluminating);
                writer.Write(this.ClampU);
                writer.Write(this.ClampV);
                writer.Write(this.LightSpecular);
                writer.Write(this.AffectsAmbient);
                writer.Write(this.AffectsDiffuse);
                writer.Write(this.AffectsSpecular);
                writer.Write(this.Updateable);

                writer.Write(this.AlphaMode); // Seems to be very often 10, wave has a 2 here, phoenix has 6
                writer.Write(this.AmbientIntensity);
                writer.Write(this.DiffuseIntensity);
                writer.Write(this.SpecularIntensity);
                writer.Write(this.EmissiveIntensity);
                writer.Write(this.ColorTransform); // Val of 4 seems to be PC
                writer.Write(this.TextureTransform);
                writer.Write(this.TextureFactor); // Has something to do with Cube Map
                writer.Write(this.MultiTextureMode); // Has something to do with Cube Map
                writer.Write(this.TexGenMode0);
                writer.Write(this.TexGenMode1); // Has something to do with Cube Map
                writer.Write(this.TexCoordSet0);
                writer.Write(this.TexCoordSet1);
                writer.Write(this.TexCoordSet2);
                writer.Write(this.TexCoordSet3);
                writer.Write(this.TexCoordSet4);
                writer.Write(this.TexCoordSet5);
                writer.Write(this.TexCoordSet6);
                writer.Write(this.TexCoordSet7);

                for (int i = 0; i < 3; ++i)
                {
                    writer.WriteTexel(this.unk2[i]);
                }
                for (int i = 0; i < 3; ++i)
                {
                    writer.WriteTexel(this.unk3[i]);
                }
                for (int i = 0; i < 4; ++i)
                {
                    writer.Write(this.unk4[i]);
                }

                if (nameLength > 0)
                {
                    writer.WriteString(this.Texture);
                }
            }
        }