tamamo/src/tools/genmap.js

33 lines
740 B
JavaScript

if (Deno.args.length !== 2) {
console.log("Usage: ./genmap.js <path-to-map-file> <output-fname>");
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];
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;
out += ` Tile{.x = ${tileX}, .y = ${tileY}},`;
if (index % 10 === 0) {
out += "\n ";
}
});
out += "\n};\n";
await Deno.writeTextFile(outFname, out);