From 218eee1df2990c94ca731d6ee5f9c2b59ed0bf41 Mon Sep 17 00:00:00 2001 From: Kim Ravn Hansen Date: Thu, 16 Oct 2025 13:15:29 +0200 Subject: [PATCH] Fugbixes --- frontend/ascii_tile_map.js | 17 +++++++++-------- frontend/dungeon_studio.js | 6 +++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/frontend/ascii_tile_map.js b/frontend/ascii_tile_map.js index a392904..e8e1b72 100755 --- a/frontend/ascii_tile_map.js +++ b/frontend/ascii_tile_map.js @@ -25,7 +25,7 @@ import { Vector2i } from "./ascii_types.js"; * @readonly @constant @enum {string} */ export const CharType = { - SYSTEM: "internalMapChar", + SYSTEM: "typeId", MINIMAP: "minimapChar", MINIMAP_REVEALED: "revealedMinimapChar", }; @@ -100,10 +100,11 @@ export class TileMap { */ toString(charType = CharType.SYSTEM) { let result = ""; + for (let y = 0; y < this.height; y++) { for (let x = 0; x < this.width; x++) { const tile = this.tiles[y][x]; - result += tile[charType]; + result += tile[charType] ?? "Ø"; } result += "\n"; } @@ -148,20 +149,20 @@ export class TileMap { return this.tiles[y][x].isWallLike(); } + /** + * @param {number} x + * @param {number} y + * @returns {boolean} + */ behavesLikeFloor(x, y) { - console.log("behavesLikeFloor???", { x, y }); x |= 0; y |= 0; if (x < 0 || x >= this.width || y < 0 || y >= this.height) { - console.log(" behavesLikeFloor: YES"); return true; } - const result = this.tiles[y][x].isFloorlike(); - console.log(result ? " YES" : " NOPE"); - - return result; + return this.tiles[y][x].isFloorlike(); } /** diff --git a/frontend/dungeon_studio.js b/frontend/dungeon_studio.js index e611657..38755f7 100755 --- a/frontend/dungeon_studio.js +++ b/frontend/dungeon_studio.js @@ -29,7 +29,7 @@ class DungeonGenerator { this.addPillarsToBigRooms(); this.addFeatures(); this.addPlayerStart(); - this.addPortals(); + // this.addPortals(); return this.map.toString(CharType.MINIMAP_REVEALED); } @@ -425,11 +425,11 @@ window.generateDungeon = () => { }; window.downloadDungeon = () => { - if (!currentDungeon) { + if (!window.currentDungeon) { window.generateDungeon(); } - const blob = new Blob([currentDungeon], { type: "text/plain" }); + const blob = new Blob([window.currentDungeon], { type: "text/plain" }); const url = URL.createObjectURL(blob); const a = document.createElement("a"); a.href = url;