Skip to content

Commit 373a493

Browse files
committed
- tile extruder
1 parent 6679497 commit 373a493

File tree

8 files changed

+1013
-383
lines changed

8 files changed

+1013
-383
lines changed

package-lock.json

Lines changed: 608 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"scripts": {
77
"start": "npm run dev",
88
"dev": "node esbuild/dev.server.mjs -w",
9-
"build": "node esbuild/build.prod.mjs"
9+
"build": "node esbuild/build.prod.mjs",
10+
"extrude-tilesets": "tsx tools/tile-extruder.ts"
1011
},
1112
"author": "Phaser Studio <[email protected]> (https://phaser.io/)",
1213
"repository": {
@@ -19,16 +20,18 @@
1920
"homepage": "https://github.com/phaserjs/template-esbuild-ts#readme",
2021
"license": "MIT",
2122
"dependencies": {
22-
"phaser": "^3.87.0",
23-
"tile-extruder": "^2.1.0"
23+
"phaser": "^3.87.0"
2424
},
2525
"devDependencies": {
2626
"@jgoz/esbuild-plugin-livereload": "^2.0.5",
27+
"@types/node": "^22.10.7",
2728
"esbuild": "^0.21.2",
2829
"esbuild-plugin-clean": "^1.0.1",
2930
"esbuild-plugin-copy": "^2.1.1",
3031
"esbuild-plugin-inline-image": "^0.0.9",
3132
"esbuild-serve": "^1.0.1",
33+
"tile-extruder": "^2.1.0",
34+
"tsx": "^4.19.2",
3235
"typescript": "^5.4.5"
3336
}
3437
}

public/assets/tilemaps/forest-map.json

Lines changed: 370 additions & 369 deletions
Large diffs are not rendered by default.
482 KB
Loading

src/configs/assets.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export class AssetsConfig {
4949
},
5050
{
5151
tag: TilesetTag.FOREST_DECORATIVE,
52-
url: "tilemaps/tilesets/decorative-tiles.png",
52+
url: "tilemaps/tilesets/extruded/decorative-tiles.png",
5353
},
5454
{
5555
tag: TilesetTag.FOREST_WATER_ANIMATION,

src/scenes/game.scene.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,11 @@ export class Game extends Scene {
104104
);
105105
const decorativeTileset = map.addTilesetImage(
106106
"decorative-tiles",
107-
TilesetTag.FOREST_DECORATIVE
107+
TilesetTag.FOREST_DECORATIVE,
108+
32,
109+
32,
110+
1,
111+
2
108112
);
109113

110114
this._colliderGroup = this.physics.add.staticGroup();

tools/.prettierrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"printWidth": 120,
3+
"useTabs": false,
4+
"tabWidth": 2,
5+
"singleQuote": false
6+
}

tools/tile-extruder.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { readdirSync } from "fs";
2+
import { extrudeTilesetToImage } from "tile-extruder";
3+
4+
async function main() {
5+
const basePath = "public/assets/tilemaps/tilesets";
6+
const tilesets = readdirSync(basePath).filter((file) => file.endsWith(".png"));
7+
8+
for (const tileset of tilesets) {
9+
await extrudeTilesetToImage(32, 32, `${basePath}/${tileset}`, `${basePath}/extruded/${tileset}`);
10+
}
11+
12+
console.log("Tilesets found: ", tilesets);
13+
14+
// await extrudeTilesetToImage(32, 32, "", "");
15+
}
16+
17+
main();

0 commit comments

Comments
 (0)