diff --git a/cmd/mttilemapper/main.go b/cmd/mttilemapper/main.go index 753de60..6944bbc 100644 --- a/cmd/mttilemapper/main.go +++ b/cmd/mttilemapper/main.go @@ -117,5 +117,7 @@ func main() { } log.Printf("num blocks: %d\n", numBlocks) - log.Printf("rejected blocks: %d\n", renderer.Rejected) + log.Printf("rejected blocks: %d\n", renderer.RejectedBlocks) + log.Printf("transparent blocks: %d\n", renderer.TransparentBlocks) + log.Printf("solid blocks: %d\n", renderer.SolidBlocks) } diff --git a/common/renderer.go b/common/renderer.go index bf3a88e..49328af 100644 --- a/common/renderer.go +++ b/common/renderer.go @@ -17,14 +17,16 @@ type Area struct { } type Renderer struct { - width int - height int - xOfs int16 - zOfs int16 - yBuffer []int32 - yMin []int32 - cBuffer []int32 - Rejected int + width int + height int + xOfs int16 + zOfs int16 + yBuffer []int32 + yMin []int32 + cBuffer []int32 + RejectedBlocks int + SolidBlocks int + TransparentBlocks int } type YOrder struct { @@ -172,7 +174,7 @@ func (r *Renderer) RenderBlock(block *Block, colors *Colors) (err error) { blockY := int32(block.Coord.Y) << 4 pos := int(bz)*r.width + int(bx) if blockY < r.yMin[pos] { - r.Rejected++ + r.RejectedBlocks++ return } @@ -183,10 +185,16 @@ func (r *Renderer) RenderBlock(block *Block, colors *Colors) (err error) { } if db.AirOnly { - r.Rejected++ + r.RejectedBlocks++ return } + if db.Transparent { + r.TransparentBlocks++ + } else { + r.SolidBlocks++ + } + w := r.width << 4 ofs := int(bz)*w<<4 + int(bx)<<4 yB := r.yBuffer