From 16dde882e8e5ac72802c5e7f33e581a7f3c8c8fb Mon Sep 17 00:00:00 2001 From: IntegratedQuantum Date: Sat, 11 Jan 2025 23:00:43 +0100 Subject: [PATCH] Show the biome properties in the F3 debug menu. fixes #918 --- src/gui/windows/debug.zig | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/gui/windows/debug.zig b/src/gui/windows/debug.zig index 6ff9babe9..5dacd72fa 100644 --- a/src/gui/windows/debug.zig +++ b/src/gui/windows/debug.zig @@ -107,8 +107,21 @@ pub fn render() void { draw.print("Light memory: {} MiB / {} MiB (fragmentation: {} MiB)", .{used >> 20, size >> 20, fragmentation >> 20}, 0, y, 8, .left); y += 8; } - draw.print("Biome: {s}", .{main.game.world.?.playerBiome.load(.monotonic).id}, 0, y, 8, .left); - y += 8; + { + const biome = main.game.world.?.playerBiome.load(.monotonic); + var tags = main.List(u8).init(main.stackAllocator); + defer tags.deinit(); + inline for(comptime std.meta.fieldNames(main.server.terrain.biomes.Biome.GenerationProperties)) |name| { + if(@field(biome.properties, name)) { + if(tags.items.len != 0) tags.appendSlice(", "); + tags.appendSlice(name); + } + } + draw.print("Biome: {s}", .{biome.id}, 0, y, 8, .left); + y += 8; + draw.print("Biome Properties: {s}", .{tags.items}, 0, y, 8, .left); + y += 8; + } draw.print("Opaque faces: {}, Transparent faces: {}", .{main.renderer.chunk_meshing.quadsDrawn, main.renderer.chunk_meshing.transparentQuadsDrawn}, 0, y, 8, .left); y += 8; }