예제 #1
0
        public override string ToString()
        {
            using (var writer = new IndentedTextWriter())
            {
                writer.WriteLine("{0,-12} = {1}", "VTEX Version", Version);
                writer.WriteLine("{0,-12} = {1}", "Width", Width);
                writer.WriteLine("{0,-12} = {1}", "Height", Height);
                writer.WriteLine("{0,-12} = {1}", "Depth", Depth);
                writer.WriteLine("{0,-12} = ( {1:F6}, {2:F6}, {3:F6}, {4:F6} )", "Reflectivity", Reflectivity[0], Reflectivity[1], Reflectivity[2], Reflectivity[3]);
                writer.WriteLine("{0,-12} = {1}", "NumMipLevels", NumMipLevels);
                writer.WriteLine("{0,-12} = {1}", "Picmip0Res", Picmip0Res);
                writer.WriteLine("{0,-12} = {1} (VTEX_FORMAT_{2})", "Format", (int)Format, Format);
                writer.WriteLine("{0,-12} = 0x{1:X8}", "Flags", (int)Flags);

                foreach (Enum value in Enum.GetValues(Flags.GetType()))
                {
                    if (Flags.HasFlag(value))
                    {
                        writer.WriteLine("{0,-12} | 0x{1:X8} = VTEX_FLAG_{2}", string.Empty, Convert.ToInt32(value), value);
                    }
                }

                writer.WriteLine("{0,-12} = {1} entries:", "Extra Data", ExtraData.Count);

                var entry = 0;

                foreach (var b in ExtraData)
                {
                    writer.WriteLine("{0,-12}   [ Entry {1}: VTEX_EXTRA_DATA_{2} - {3} bytes ]", string.Empty, entry++, b.Key, b.Value.Length);
                }

                return(writer.ToString());
            }
        }
예제 #2
0
        public override string ToString()
        {
            using (var writer = new IndentedTextWriter())
            {
                WriteText(writer);

                return(writer.ToString());
            }
        }
예제 #3
0
        public override string ToString()
        {
            using (var writer = new IndentedTextWriter())
            {
                writer.WriteLine(string.Format("<!-- kv3 encoding:{0} format:{1} -->", Encoding, Format));
                Root.Serialize(writer);

                return(writer.ToString());
            }
        }
예제 #4
0
        public override string ToString()
        {
            using (var writer = new IndentedTextWriter())
            {
                foreach (var entry in SoundStackScriptValue)
                {
                    writer.WriteLine($"// {entry.Key}");
                    writer.Write(entry.Value);
                    writer.WriteLine(string.Empty);
                }

                return(writer.ToString());
            }
        }
        public override string ToString()
        {
            using var writer = new IndentedTextWriter();
            foreach (var block in Resources)
            {
                foreach (var entry in block)
                {
                    writer.WriteLine(entry);
                }

                writer.WriteLine();
            }

            return(writer.ToString());
        }
예제 #6
0
        public override string ToString()
        {
            using (var writer = new IndentedTextWriter())
            {
                writer.WriteLine("{0,-12} = {1}", "VTEX Version", Version);
                writer.WriteLine("{0,-12} = {1}", "Width", Width);
                writer.WriteLine("{0,-12} = {1}", "Height", Height);
                writer.WriteLine("{0,-12} = {1}", "Depth", Depth);
                writer.WriteLine("{0,-12} = {1}", "NonPow2W", NonPow2Width);
                writer.WriteLine("{0,-12} = {1}", "NonPow2H", NonPow2Height);
                writer.WriteLine("{0,-12} = ( {1:F6}, {2:F6}, {3:F6}, {4:F6} )", "Reflectivity", Reflectivity[0], Reflectivity[1], Reflectivity[2], Reflectivity[3]);
                writer.WriteLine("{0,-12} = {1}", "NumMipLevels", NumMipLevels);
                writer.WriteLine("{0,-12} = {1}", "Picmip0Res", Picmip0Res);
                writer.WriteLine("{0,-12} = {1} (VTEX_FORMAT_{2})", "Format", (int)Format, Format);
                writer.WriteLine("{0,-12} = 0x{1:X8}", "Flags", (int)Flags);

                foreach (Enum value in Enum.GetValues(Flags.GetType()))
                {
                    if (Flags.HasFlag(value))
                    {
                        writer.WriteLine("{0,-12} | 0x{1:X8} = VTEX_FLAG_{2}", string.Empty, Convert.ToInt32(value), value);
                    }
                }

                writer.WriteLine("{0,-12} = {1} entries:", "Extra Data", ExtraData.Count);

                var entry = 0;

                foreach (var b in ExtraData)
                {
                    writer.WriteLine("{0,-12}   [ Entry {1}: VTEX_EXTRA_DATA_{2} - {3} bytes ]", string.Empty, entry++, b.Key, b.Value.Length);

                    if (b.Key == VTexExtraData.COMPRESSED_MIP_SIZE)
                    {
                        writer.WriteLine("{0,-16}   [ {1} mips, sized: {2} ]", string.Empty, CompressedMips.Length, string.Join(", ", CompressedMips));
                    }
                }

                for (var j = 0; j < NumMipLevels; j++)
                {
                    writer.WriteLine($"Mip level {j} - buffer size: {CalculateBufferSizeForMipLevel(j + 1)}");
                }

                return(writer.ToString());
            }
        }
예제 #7
0
        public static string Print(IKeyValueCollection layoutRoot)
        {
            using var writer = new IndentedTextWriter();

            writer.WriteLine("<!-- xml reconstructed by ValveResourceFormat: https://vrf.steamdb.info/ -->");

            var root = layoutRoot.GetSubCollection("m_AST")?.GetSubCollection("m_pRoot");

            if (root == default)
            {
                throw new Exception("Unknown LaCo format, unable to format to XML");
            }

            PrintNode(root, writer);

            return(writer.ToString());
        }
        public override string ToString()
        {
            using (var writer = new IndentedTextWriter())
            {
                foreach (var entry in SoundEventScriptValue)
                {
                    writer.WriteLine("\"" + entry.Key + "\"");
                    writer.WriteLine("{");
                    writer.Indent++;
                    // m_OperatorsKV wont be indented, so we manually indent it here, removing the last indent so we can close brackets later correctly.
                    writer.Write(entry.Value.Replace(Environment.NewLine, Environment.NewLine + "\t").TrimEnd('\t'));
                    writer.Indent--;
                    writer.WriteLine("}");
                    writer.WriteLine(string.Empty); // There is an empty line after every entry (including the last)
                }

                return(writer.ToString());
            }
        }
예제 #9
0
 protected bool Equals(CodeBuilder other)
 {
     return(Equals(Writer.ToString(), other.Writer.ToString()) &&
            outLang == other.outLang);
 }
예제 #10
0
 protected void Statement(IndentedTextWriter writer)
 {
     Check.Current.ArgumentNullException(writer, "writer");
     this.Statement(writer.ToString(), false);
 }