Game Template Library
Find a file
2026-08-01 00:02:35 +01:00
src Added box style nice print 2026-07-31 23:57:45 +01:00
.gitignore HelloWorld! 2026-07-12 19:46:40 +01:00
build.zig HelloWorld! 2026-07-12 19:46:40 +01:00
build.zig.zon HelloWorld! 2026-07-12 19:46:40 +01:00
README.md Updated README.md 2026-08-01 00:02:35 +01:00

Includes

  • ANSI
  • SlotMap | KeyedSlotMap
  • Custom Log
  • TypeID

Logs

log.warn("...", .{});
log.err("...", .{});
log.info("...", .{});
log.debug("...", .{});
log.trace("...", .{});
log.fatal("...", .{});

KeyedSlotMap

// --- SHADER MAP ---
var shaders: KeyedSlotMap(ShaderID, GPUShader) = .init(alloc);
defer shaders.deinit();

// --- NEW SHADER ---
const shader_handle = try shaders.put(.pbr, .{ .raw = undefined });
defer shaders.remove(shader_handle);

TypeID

const Player = struct {};
std.debug.print("TypeID(Player): {}\n", .{TypeID(Player)});
Output: TypeID(Player): 2462284566368800629

NicePrint

Styles

  • default
  • rounded
  • pipe
  • custom

Example

// --- PRINT ---
if (log.print(.debug, "DEVICE INFO", ansi.bold ++ ansi.red)) |a| {
    defer a.end();

    // --- VALUES ---
    a.write("device -> {s}", .{"GTX"});
    a.write("vendor -> {s}", .{"Nvidia"});

    // --- SECTION ---
    if (a.section(.err, "MEMORY", ansi.green)) |b| {
        defer b.end();

        b.write("VRAM -> {}GB", .{24});
    }
}

Output

┏━ DEVICE INFO
┃ device -> GTX
┃ vendor -> Nvidia
┃ ┏━ MEMORY
┃ ┃ VRAM -> 24GB
┃ ┗━
┗━