Skip to content

Commit

Permalink
Merge pull request #1503 from andycandy-de/feature/scripts_20220117
Browse files Browse the repository at this point in the history
Added new script to print all rooms + improved print of rooms
  • Loading branch information
andycandy-de authored Jan 17, 2022
2 parents eaa3213 + 1e0febd commit 9b38e17
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 4 deletions.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
"watch": "nodemon --watch src src/ValidateJson.ts",
"start": "ts-node src/ValidateJson.ts",
"normalize-structure-mask": "ts-node src/Normalize.ts",
"print-line-numbers": "ts-node src/LineNumbers.ts"
"print-line-numbers": "ts-node src/LineNumbers.ts",
"print-rooms": "ts-node src/RoomsPrinter.ts"
},
"repository": {
"type": "git",
Expand Down
35 changes: 35 additions & 0 deletions src/RoomsPrinter.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import { FileHelper } from "./FileHelper";
import { Dungeon } from './ValidateDungeons';
import { StructurMaskUtils, StructureMaskLineNumbers } from './StructurMaskUtils';


const maskStr = FileHelper.getFile('./contribution/dungeon/layout/structure-mask.json');
const mask: { rooms: Dungeon[], bossRooms: Dungeon[] } = JSON.parse(maskStr);
const structureMaskLineNumbers: StructureMaskLineNumbers = StructurMaskUtils.getStructureMaskLineNumbers(maskStr);

console.log("=== ROOMS ===");
console.log("");
for (let i = 0; i < mask.rooms.length; ++i) {
console.log(`=== ROOM ${i} at line ${structureMaskLineNumbers.rooms[i]}`);
console.log("");
console.log(dungeonToString(mask.rooms[i]));
console.log("");
console.log("");
}


console.log("=== BOSS ROOMS ===");
console.log("");
for (let i = 0; i < mask.bossRooms.length; ++i) {
console.log(`=== ROOM ${i} at line ${structureMaskLineNumbers.bossRooms[i]}`);
console.log("");
console.log(dungeonToString(mask.bossRooms[i]));
console.log("");
console.log("");
}

function dungeonToString(room: Dungeon): string {
const partSize = room.tiles[0].length + 1;
const lines = StructurMaskUtils.chunkString(room.tiles.join(' '), partSize * 15);
return lines.join('\n');
}
6 changes: 3 additions & 3 deletions src/ValidateJson.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ function printDungeonErrorInfo(e: ErrorRoom, type: string, lineNumbers: number[]
console.log('');
}
function dungeonToString(errorRoom: ErrorRoom): string {
const preparedArray = errorRoom.dungeon.tiles.map(s => `"${s}"`);
const partSize = preparedArray[0].length + 1;
const lines = StructurMaskUtils.chunkString(preparedArray.join(','), partSize * 15);
const room = errorRoom.dungeon;
const partSize = room.tiles[0].length + 1;
const lines = StructurMaskUtils.chunkString(room.tiles.join(' '), partSize * 15);
return lines.join('\n');
}
ValidateLoreNote.start();

0 comments on commit 9b38e17

Please sign in to comment.