From 3c55e176261d0b6af3b72e28763aa0c54269b473 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Fri, 1 Jul 2022 13:19:50 -0400 Subject: [PATCH] move maps to their own folder Signed-off-by: Christine Dodrill --- src/main.zig | 109 +------------------------------------------ src/maps/testmap.zig | 15 ++++++ src/sh0rk.zig | 5 ++ src/tools/genmap.js | 21 +++++++-- 4 files changed, 37 insertions(+), 113 deletions(-) create mode 100644 src/maps/testmap.zig diff --git a/src/main.zig b/src/main.zig index 22adb47..19e7e93 100644 --- a/src/main.zig +++ b/src/main.zig @@ -20,113 +20,7 @@ export fn start() void { palette.mist(); } -const Tile = packed struct { - x: u4, - y: u4, -}; - -pub const map = [100]Tile{ - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 7, .y = 1}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 7, .y = 3}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 8, .y = 2}, - Tile{.x = 0, .y = 0}, - Tile{.x = 1, .y = 0}, - Tile{.x = 2, .y = 0}, - Tile{.x = 3, .y = 0}, - Tile{.x = 1, .y = 0}, - Tile{.x = 7, .y = 4}, - Tile{.x = 3, .y = 0}, - Tile{.x = 1, .y = 0}, - Tile{.x = 2, .y = 0}, - Tile{.x = 3, .y = 0}, - Tile{.x = 5, .y = 0}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 1, .y = 2}, - Tile{.x = 9, .y = 4}, - Tile{.x = 2, .y = 2}, - Tile{.x = 5, .y = 1}, - Tile{.x = 1, .y = 2}, - Tile{.x = 9, .y = 4}, - Tile{.x = 2, .y = 2}, - Tile{.x = 9, .y = 4}, - Tile{.x = 2, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 5, .y = 2}, - Tile{.x = 0, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 1, .y = 2}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 5, .y = 0}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 1, .y = 2}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 9, .y = 4}, - Tile{.x = 1, .y = 4}, - Tile{.x = 9, .y = 4}, -}; +const map = @import("./maps/testmap.zig").map; fn drawMap() !void { w4.m.colors.* = .{ @@ -136,7 +30,6 @@ fn drawMap() !void { ._3 = .p3, }; - for (map) |tile, i| { var x: u32 = i % 10; var y: u32 = i / 10; diff --git a/src/maps/testmap.zig b/src/maps/testmap.zig new file mode 100644 index 0000000..299f75d --- /dev/null +++ b/src/maps/testmap.zig @@ -0,0 +1,15 @@ +const Tile = @import("../sh0rk.zig").Tile; + +pub const map = [100]Tile{ + Tile{.x = 8, .y = 2}, + Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, + Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, + Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, + Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 7, .y = 1}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, + Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 7, .y = 3}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 8, .y = 2}, Tile{.x = 0, .y = 0}, + Tile{.x = 1, .y = 0}, Tile{.x = 2, .y = 0}, Tile{.x = 3, .y = 0}, Tile{.x = 1, .y = 0}, Tile{.x = 7, .y = 4}, Tile{.x = 3, .y = 0}, Tile{.x = 1, .y = 0}, Tile{.x = 2, .y = 0}, Tile{.x = 3, .y = 0}, Tile{.x = 5, .y = 0}, + Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 1, .y = 2}, Tile{.x = 9, .y = 4}, Tile{.x = 2, .y = 2}, Tile{.x = 5, .y = 1}, + Tile{.x = 1, .y = 2}, Tile{.x = 9, .y = 4}, Tile{.x = 2, .y = 2}, Tile{.x = 9, .y = 4}, Tile{.x = 2, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 5, .y = 2}, + Tile{.x = 0, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 1, .y = 2}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 5, .y = 0}, + Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 1, .y = 2}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 9, .y = 4}, Tile{.x = 1, .y = 4}, Tile{.x = 9, .y = 4}, +}; diff --git a/src/sh0rk.zig b/src/sh0rk.zig index fa370fd..588d5eb 100644 --- a/src/sh0rk.zig +++ b/src/sh0rk.zig @@ -39,4 +39,9 @@ pub const Direction = enum(u2) { Down, Left, Right, +}; + +pub const Tile = packed struct { + x: u4, + y: u4, }; \ No newline at end of file diff --git a/src/tools/genmap.js b/src/tools/genmap.js index be87b6c..b671370 100644 --- a/src/tools/genmap.js +++ b/src/tools/genmap.js @@ -1,21 +1,32 @@ -if (Deno.args.length !== 1) { - console.log("Usage: ./genmap.js "); +if (Deno.args.length !== 2) { + console.log("Usage: ./genmap.js "); Deno.exit(1); } const mapFile = Deno.args[0]; +const outFname = Deno.args[1]; + +var out = ""; + const data = await Deno.readTextFile(mapFile); const map = JSON.parse(data); let layer = map.layers[0]; -console.log(`pub const map = [${layer.data.length}]Tile{`); +out += `const Tile = @import("../sh0rk.zig").Tile;\n\n`; + +out += `pub const map = [${layer.data.length}]Tile{\n `; layer.data.forEach((tile, index) => { tile -= 1; const tileY = Math.trunc(tile / layer.height); const tileX = tile % layer.width; - console.log(` Tile{.x = ${tileX}, .y = ${tileY}},`); + out += ` Tile{.x = ${tileX}, .y = ${tileY}},`; + if (index % 10 === 0) { + out += "\n "; + } }); -console.log("};"); +out += "\n};\n"; + +await Deno.writeTextFile(outFname, out);