From e4e07ac11ce8d3d933c506156f259ea365485656 Mon Sep 17 00:00:00 2001 From: Ulysse Cura Date: Sat, 1 Aug 2026 16:00:30 +0200 Subject: [PATCH] Changing tiled extension to supported javascript. --- assets/maps/tiled-extensions/install.sh | 4 ++ .../tiled-extensions/json_export_tool.mjs | 48 +++++++++++++++++++ .../install_extension.sh | 10 ---- .../json_export_tool.py | 31 ------------ 4 files changed, 52 insertions(+), 41 deletions(-) create mode 100755 assets/maps/tiled-extensions/install.sh create mode 100644 assets/maps/tiled-extensions/json_export_tool.mjs delete mode 100755 assets/maps/tiled-python-extension/install_extension.sh delete mode 100644 assets/maps/tiled-python-extension/json_export_tool.py diff --git a/assets/maps/tiled-extensions/install.sh b/assets/maps/tiled-extensions/install.sh new file mode 100755 index 0000000..6c284fe --- /dev/null +++ b/assets/maps/tiled-extensions/install.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +echo "Copying extension to tiled directory" +cp "json_export_tool.mjs" "$HOME/.config/tiled/extensions/." diff --git a/assets/maps/tiled-extensions/json_export_tool.mjs b/assets/maps/tiled-extensions/json_export_tool.mjs new file mode 100644 index 0000000..5761ddb --- /dev/null +++ b/assets/maps/tiled-extensions/json_export_tool.mjs @@ -0,0 +1,48 @@ +var customMapFormat = { + name: "Custom map format", + extension: "custom", + + write: function(map, fileName) + { + var file = new TextFile(fileName, TextFile.WriteOnly); + + file.writeLine("{"); + file.writeLine(" \"MapWidth\": " + map.width + ","); + file.writeLine(" \"MapHeight\": " + map.height + ","); + file.writeLine(""); + + for(var i = 0; i < map.layerCount; i++) + { + var layer = map.layerAt(i); + + if(layer.isTileLayer) + { + file.writeLine(" \"" + layer.name + "\": ["); + + for(var cell_y = 0; cell_y < layer.height; ++cell_y) + { + file.write(" "); + + for (var cell_x = 0; cell_x < layer.width; ++cell_x) + { + file.write(" " + layer.cellAt(cell_x, cell_y).tileId) + if(cell_x < layer.width - 1 || cell_y < layer.height - 1) + file.write(","); + } + + file.writeLine(""); + } + + if(i < map.layerCount - 1) + file.writeLine(" ],"); + else + file.writeLine(" ]"); + } + } + + file.write("}"); + file.commit(); + }, +} + +tiled.registerMapFormat("custom", customMapFormat) diff --git a/assets/maps/tiled-python-extension/install_extension.sh b/assets/maps/tiled-python-extension/install_extension.sh deleted file mode 100755 index a1d130a..0000000 --- a/assets/maps/tiled-python-extension/install_extension.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/bash - -echo "Creating \"~/.tiled\" directory" -mkdir -p $HOME/.tiled/ - -echo "Copying extension to tiled directory" -cp "json_export_tool.py" "$HOME/.tiled/" - -echo "" -echo "Don't forget to activate python in tiled !" \ No newline at end of file diff --git a/assets/maps/tiled-python-extension/json_export_tool.py b/assets/maps/tiled-python-extension/json_export_tool.py deleted file mode 100644 index 85b11ff..0000000 --- a/assets/maps/tiled-python-extension/json_export_tool.py +++ /dev/null @@ -1,31 +0,0 @@ -from tiled import * - -class Json_Export_Tool(Plugin): - @classmethod - def nameFilter(cls): - return "Json files (*.json)" - - @classmethod - def shortName(cls): - return "json" - - @classmethod - def write(cls, tileMap, fileName): - with open(fileName, 'w') as fileHandle: - print("{", file=fileHandle) - print(f' "MapWidth": {tileMap.width()},', file=fileHandle) - print(f' "MapHeight": {tileMap.height()},\n', file=fileHandle) - - for i in range(tileMap.layerCount()): - if isTileLayerAt(tileMap, i): - tileLayer = tileLayerAt(tileMap, i) - print(f' "{tileLayer.name()}": [', file=fileHandle) - for cell_y in range(tileLayer.height()): - row = [] - for cell_x in range(tileLayer.width()): - row.append(tileLayer.cellAt(cell_x, cell_y).tile().id()) - print(" " + ", ".join(str(tile) for tile in row) + ("," if cell_y != (tileLayer.height() - 1) else ""), file=fileHandle) - print(" ]," if i != (tileMap.layerCount() - 1) else " ]", file=fileHandle) - print("}", file=fileHandle) - - return True