OSDN Git Service

Added ratio display for Shard Processor
[automap/automap.git] / ShardProcessor / Program.cs
index bcdf124..982ba6d 100644 (file)
@@ -200,12 +200,12 @@ namespace ShardProcessor
                PngMetadataChunk metadataFromPng = pngRead.GetChunksList( ).GetById1(PngMetadataChunk.ID) as PngMetadataChunk;
                ColumnMeta columnData = metadataFromPng.ChunkMetadata;
                
-               Console.Write("X {0:D5} Y {1:D5} Days:{2:N1} ", columnData.Location.X, columnData.Location.Y, columnData.ChunkAge.TotalDays);
-               Console.Write("YMax:{0:D3} Size:{1} R.R#:{2} Air:{3:D7} NotAir:{4:D7} ", 
-               columnData.YMax,columnData.ChunkSize , (columnData.RockRatio != null? columnData.RockRatio.Count.ToString("D"):  "?"), columnData.AirBlocks, columnData.NonAirBlocks
+               Console.Write("X{0,6:D} Y{1,6:D} Age:{2:N1} ", columnData.Location.X, columnData.Location.Y, columnData.ChunkAge.TotalDays);
+               Console.Write("YMax:{0:D3} ChkS:{1} Air:{2,7:D} NotAir:{3,7:D} ", 
+               columnData.YMax,columnData.ChunkSize , columnData.AirBlocks, columnData.NonAirBlocks
          );
                if (columnData.HeightMap != null) {
-               Console.Write("H.M [{0}] {1}x{2} ", columnData.HeightMap.Rank, columnData.HeightMap.GetLength(0), columnData.HeightMap.GetLength(1));
+               Console.Write("(Heights [{0}x{1}] ", columnData.HeightMap.GetLength(0), columnData.HeightMap.GetLength(1));
                ushort lowest = ushort.MaxValue, highest = 0;
                ulong sum = 0;
                foreach (var hmEntry in columnData.HeightMap) {
@@ -213,9 +213,18 @@ namespace ShardProcessor
                highest = Math.Max(highest, hmEntry);
                sum += hmEntry;
                }
-               Console.Write("Max:{0}, Min:{1}, ", highest, lowest);
-               if (sum > 0) Console.Write("Avg:{0:F1}", ( float )sum / (columnData.ChunkSize * columnData.ChunkSize));
+               Console.Write("Max:{0,3}, Min:{1,3}, ", highest, lowest);
+               if (sum > 0) Console.Write("Avg:{0:F1})", ( float )sum / (columnData.ChunkSize * columnData.ChunkSize));
                Console.WriteLine( );
+               /*------ROCK RATIOs mini-table----------*/
+               if (columnData.RockRatio != null && columnData.RockRatio.Count > 0) {
+               Console.Write("Ratios({0,2:D})[",columnData.RockRatio.Count);
+               foreach (var rock in columnData.RockRatio) {
+               Console.Write("ID:{0,5:D} x{1,4:D}, ", rock.Key, rock.Value);
+               }
+               Console.Write(" ]\n");
+               }
+
                if ( sum == 0 || columnData.YMax == 0) flat++;
                }
                else {