move objects out of bg tiles

"
Press any key to quit" 10 10))
This commit is contained in:
Travis Shears 2026-04-18 14:12:07 +02:00
parent 32ea10495e
commit bbbe7bfe8a
Signed by: travisshears
GPG key ID: CB9BF1910F3F7469
14 changed files with 400 additions and 89 deletions

Binary file not shown.

View file

@ -2,70 +2,109 @@
(ns gen-levels
(:require
[babashka.fs :as fs]
[clojure.pprint :as pprint]
[clojure.pprint :refer [pprint]]
[clojure.data.xml :as xml]
[clojure.string :as str]
[clojure.java.io :as io]))
[clojure.java.io :as io])
(:import
'java.io.StringReader))
(def walls-tsx (xml/parse (io/reader "./tiled/walls.tsx")))
(def wall-colliders
(defn load-tiled-xml-file [path]
(-> (slurp (io/reader path))
(str/replace #">\s+" ">")
(StringReader.)
(xml/parse)))
(defn parse-tile-set [tsx]
(->>
(:content walls-tsx)
(remove string?)
(:content tsx)
(filter #(= (:tag %) :tile))
(reduce (fn [acc tile]
(conj acc
{(Integer/parseInt (get-in tile [:attrs :id]))
(vec
(->> (:content tile)
(remove string?)
(map :content)
(flatten)
(remove string?)
(map :attrs)
(map #(select-keys % [:x :y :height :width]))
(map #(update-vals % (fn [v] (Math/round (Double/parseDouble v)))))))}))
{})))
(pprint/pprint wall-colliders)
(def level-001-tmx (xml/parse (io/reader "./tiled/level_001.tmx")))
(def level-001
(let [tags (remove string? (:content level-001-tmx))
tile-nums (-> (filter #(= (:tag %) :layer) tags)
first
:content
second
:content
first
str/split-lines
(->>
(remove empty?)
(map #(str/split % #","))
(map (fn [row] (map Integer/parseInt row)))))
(def walls-tsx (load-tiled-xml-file "./tiled/walls.tsx"))
(def objects-tsx (load-tiled-xml-file "./tiled/objects.tsx"))
;; (def colliders {:walls (parse-tile-set walls-tsx) :objects (parse-tile-set objects-tsx)})
;; (into {} (map (fn [[k v]]
;; [(transform-key k) v])
;; your-map))
(def colliders
"collider boxes by tile GID"
(let [walls (into {} (map (fn [[k v]] [(+ k 1) v]) (parse-tile-set walls-tsx)))
objects (into {} (map (fn [[k v]] [(+ k 21) v]) (parse-tile-set objects-tsx)))]
(merge walls objects)))
tiles (vec (map-indexed
(fn [y row]
(vec (map-indexed
(fn [x tile-id] {:x (* x 25) :y (* y 25) :tile-id tile-id})
row))) tile-nums))]
(def tutorial-map-tmx (load-tiled-xml-file "./tiled/tutorial.tmx"))
(def level-001-map-tmx (load-tiled-xml-file "./tiled/level_001.tmx"))
(hash-map
:tiles tiles
:wall-colliders wall-colliders
:spawns (vec (reduce (fn [acc tag]
(if (= (:tag tag) :object)
(conj acc
(hash-map
:name (get-in tag [:attrs :name])
:x (Math/round (Double/parseDouble (get-in tag [:attrs :x])))
:y (Math/round (Double/parseDouble (get-in tag [:attrs :y])))))
acc)) '() (:content (first (filter #(= (get-in % [:attrs :name]) "spawns") tags))))))))
(defn parse-gid [gid]
(let [gid-long (Long/parseLong (str gid))
h-flip (bit-test gid-long 31) ; Bit 32 (horizontal flip)
v-flip (bit-test gid-long 30) ; Bit 31 (vertical flip)
d-flip (bit-test gid-long 29) ; Bit 30 (diagonal flip)
tile-id (bit-and gid-long 0x0FFFFFFF)] ; Clear top 4 bits to get actual tile ID
{:tile-id tile-id
:colliders (get colliders tile-id)
:h-flip h-flip
:v-flip v-flip
:d-flip d-flip}))
(defn parse-map
[map-tmx]
(let [tiles (-> (filter #(= (:tag %) :layer) (:content map-tmx))
first :content first :content first str/split-lines
(->>
(mapv #(str/split % #","))
(mapv (fn [row] (mapv parse-gid row)))))]
{:tiles
(vec (map-indexed
(fn [y row]
(vec (map-indexed
(fn [x tile] (conj {:x (* x 25) :y (* y 25)} tile))
row))) tiles))
:spawns
(let [spawns (first (filter #(= (get-in % [:attrs :name]) "spawns") (:content map-tmx)))
player-1 (first (filter #(= (get-in % [:attrs :name]) "player_1") (:content spawns)))
player-2 (first (filter #(= (get-in % [:attrs :name]) "player_2") (:content spawns)))
round-num-str #(Double/parseDouble (format "%.2f" (Double/parseDouble %)))
extract-pos (fn [tag] {:x (round-num-str (get-in tag [:attrs :x]))
:y (round-num-str (get-in tag [:attrs :y]))})]
{:player-1 (extract-pos player-1)
:player-2 (extract-pos player-2)})
;; {:tag :objectgroup,
;; :attrs {:id "2", :name "spawns"},
;; {:player-1 nil
;; :player-2 nil}
;; (vec (reduce (fn [acc tag]
;; (if (= (:tag tag) :object)
;; (conj acc
;; (hash-map
;; :name (get-in tag [:attrs :name])
;; :x (Math/round (Double/parseDouble (get-in tag [:attrs :x])))
;; :y (Math/round (Double/parseDouble (get-in tag [:attrs :y])))))
;; acc)) '() (:content (first (filter #(= (get-in % [:attrs :name]) "spawns") tags))))))))
}))
(def levels {:levels {:level-001 (parse-map level-001-map-tmx)
:tutorial (parse-map tutorial-map-tmx)}
:colliders colliders})
;; (pprint (get-in levels [:levels :level-001 :spawns]))
;; (pprint/pprint {:row (first (:tiles level-001))})
;; (pprint/pprint (pr-str level-001))
(fs/write-lines "../levels.fnl" ["(local levels"
(str/replace (pr-str {:level01 level-001}) #",+" "")
(str/replace (pr-str levels) #",+" "")
")\n\n"
"{ :levels levels }"])

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 B

After

Width:  |  Height:  |  Size: 649 B

Before After
Before After

View file

@ -31,7 +31,7 @@
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,10,
10,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,8,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2147483650,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,
10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,9,11,11,11,14,18,11,11,17,1,1,1,1,12,1,1,1,18,11,11,20,
10,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,
@ -60,10 +60,10 @@
</data>
</layer>
<objectgroup id="2" name="spawns">
<object id="1" name="spawn1" x="569.372" y="697.644">
<object id="1" name="player_1" x="569.372" y="697.644">
<point/>
</object>
<object id="3" name="spawn2" x="679.319" y="590.314">
<object id="3" name="player_2" x="679.319" y="590.314">
<point/>
</object>
</objectgroup>

View file

@ -17,4 +17,14 @@
<object id="1" x="1.12811" y="2.08266" width="22.8225" height="20.6531"/>
</objectgroup>
</tile>
<tile id="3">
<objectgroup draworder="index" id="2">
<object id="1" x="2.0113" y="1.87259" width="20.9453" height="21.084"/>
</objectgroup>
</tile>
<tile id="5">
<objectgroup draworder="index" id="2">
<object id="1" x="0.0892797" y="4.0196" width="24.8292" height="17.8243"/>
</objectgroup>
</tile>
</tileset>

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.12.1" orientation="orthogonal" renderorder="right-down" width="50" height="50" tilewidth="25" tileheight="25" infinite="0" nextlayerid="4" nextobjectid="18">
<tileset firstgid="1" source="walls.tsx"/>
<tileset firstgid="21" source="objects.tsx"/>
<layer id="1" name="bg" width="50" height="50">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2147483651,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,8,1,1,1,0,0,1,1,1,8,1,1,1,1,1,1,1,1,1,2147483650,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,1,1,1,1,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,1,1,1,1,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,1,1,1,1,1,0,0,1,2147483658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,2147483650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
<objectgroup id="2" name="spawns">
<object id="1" name="player_1" x="562.031" y="1164.44">
<point/>
</object>
<object id="2" name="player_2" x="687.512" y="1162.99">
<point/>
</object>
</objectgroup>
<objectgroup id="3" name="objects">
<object id="3" type="charging_station" x="550" y="1025" width="75" height="50">
<properties>
<property name="dir" value="n"/>
</properties>
</object>
<object id="4" name="wait_for_2_players" type="h_door" x="650" y="1000" width="50" height="25"/>
<object id="6" name="waiting_for_player2" type="info_pad" x="650" y="1025" width="25" height="25"/>
<object id="7" name="waiting_for_player2" type="info_pad" x="675" y="1025" width="25" height="25"/>
<object id="15" name="controls" type="info_pad" x="550" y="1150" width="25" height="25"/>
<object id="16" name="controls" type="info_pad" x="675" y="1150" width="25" height="25"/>
</objectgroup>
</map>

View file

@ -1,5 +1,5 @@
{
"activeFile": "level_001.tmx",
"activeFile": "tutorial.tmx",
"expandedProjectPaths": [
"/Users/she0001t/personal_projects/fennel_love2d_experiments/two_player_cleaning_game",
".",
@ -7,11 +7,14 @@
],
"fileStates": {
"level_001.tmx": {
"scale": 2.4998,
"selectedLayer": 0,
"expandedObjectLayers": [
2
],
"scale": 0.5497,
"selectedLayer": 1,
"viewCenter": {
"x": 149.0119209536763,
"y": 73.8059044723578
"x": 624.886301619065,
"y": 614.8808440967802
}
},
"map_tileset.tsx": {
@ -21,11 +24,22 @@
},
"objects.tsx": {
"scaleInDock": 1,
"scaleInEditor": 6.3771
"scaleInEditor": 2.8063
},
"tutorial.tmx": {
"expandedObjectLayers": [
2
],
"scale": 2.2046,
"selectedLayer": 1,
"viewCenter": {
"x": 636.1698267259367,
"y": 1051.8914995917626
}
},
"walls.tsx": {
"scaleInDock": 1.4397,
"scaleInEditor": 8.2977
"scaleInEditor": 5.9643
}
},
"last.exportedFilePath": "/Users/she0001t/personal_projects/fennel_love2d_experiments/two_player_cleaning_game/assets/tiled",
@ -39,13 +53,15 @@
"openFiles": [
"level_001.tmx",
"walls.tsx",
"objects.tsx"
"objects.tsx",
"tutorial.tmx"
],
"project": "untitled.tiled-project",
"recentFiles": [
"objects.tsx",
"walls.tsx",
"level_001.tmx",
"walls.tsx",
"objects.tsx",
"tutorial.tmx",
"map_tileset.tsx"
],
"tileset.lastUsedFormat": "tsx",

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.10" tiledversion="1.12.1" name="walls" tilewidth="25" tileheight="25" tilecount="20" columns="20">
<image source="../walls.png" width="500" height="25"/>
<tileset version="1.10" tiledversion="1.12.1" name="walls" tilewidth="25" tileheight="25" tilecount="20" columns="13">
<image source="../walls.png" width="325" height="25"/>
<tile id="0">
<objectgroup draworder="index" id="2">
<object id="1" x="0.141111" y="4.23334" width="24.9767" height="17.4978"/>
<object id="1" x="0.141111" y="4.02527" width="24.9767" height="17.7059"/>
</objectgroup>
</tile>
<tile id="1">
@ -14,57 +14,63 @@
</tile>
<tile id="2">
<objectgroup draworder="index" id="2">
<object id="1" x="-0.264752" y="4.10365" width="15.0247" height="17.8045"/>
<object id="2" x="10.0606" y="-0.0661879" width="4.83172" height="4.30221"/>
<object id="1" x="10.0692" y="4.10365" width="15.0247" height="17.8045"/>
<object id="2" x="10.13" y="20.5323" width="4.83172" height="4.30221"/>
</objectgroup>
</tile>
<tile id="3">
<objectgroup draworder="index" id="2">
<object id="1" x="-0.264752" y="4.03746" width="15.157" height="17.8707"/>
<object id="2" x="10.0606" y="20.1873" width="4.76553" height="4.96409"/>
<object id="1" x="9.99984" y="3.9681" width="15.157" height="17.8707"/>
</objectgroup>
</tile>
<tile id="4">
<objectgroup draworder="index" id="2">
<object id="1" x="10.1267" y="4.16984" width="14.7599" height="17.6722"/>
<object id="2" x="10.0606" y="18.3341" width="4.83172" height="6.5526"/>
<object id="2" x="10.13" y="0.0242897" width="4.83172" height="21.8801"/>
</objectgroup>
</tile>
<tile id="5">
<objectgroup draworder="index" id="2">
<object id="1" x="9.99437" y="4.10365" width="15.0247" height="17.8707"/>
<object id="1" x="9.99437" y="4.10365" width="4.89882" height="20.853"/>
</objectgroup>
</tile>
<tile id="6">
<objectgroup draworder="index" id="2">
<object id="1" x="1.77636e-15" y="4.10365" width="14.8261" height="18.0031"/>
<object id="1" x="10.1259" y="0.0116848" width="4.70022" height="24.9386"/>
</objectgroup>
</tile>
<tile id="7">
<objectgroup draworder="index" id="2">
<object id="1" x="10.1267" y="0.0661879" width="4.89791" height="21.7758"/>
<object id="1" x="0.0701754" y="4.0888" width="24.8722" height="17.7532"/>
<object id="2" x="10.0565" y="16.9227" width="4.85487" height="7.90651"/>
</objectgroup>
</tile>
<tile id="8">
<objectgroup draworder="index" id="2">
<object id="1" x="10.0606" y="4.10365" width="4.89791" height="20.8492"/>
<object id="1" x="0.0734307" y="4.10365" width="24.7335" height="17.9363"/>
<object id="2" x="10.1952" y="0" width="4.71616" height="7.21296"/>
</objectgroup>
</tile>
<tile id="9">
<objectgroup draworder="index" id="2">
<object id="1" x="9.99437" y="-0.0661879" width="4.96409" height="24.8867"/>
<object id="2" x="14.0098" y="4.09197" width="10.9581" height="17.963"/>
</objectgroup>
</tile>
<tile id="10">
<objectgroup draworder="index" id="2">
<object id="1" x="10.0565" y="1.77636e-15" width="4.85487" height="24.9679"/>
<object id="2" x="0.0693553" y="4.02261" width="24.9679" height="17.963"/>
</objectgroup>
</tile>
<tile id="11">
<objectgroup draworder="index" id="2">
<object id="1" x="-0.132376" y="4.03746" width="25.019" height="17.7384"/>
<object id="2" x="10.1929" y="13.9656" width="4.76553" height="11.1858"/>
<object id="1" x="2.98861" y="4.03746" width="21.898" height="17.7384"/>
</objectgroup>
</tile>
<tile id="12">
<objectgroup draworder="index" id="2">
<object id="1" x="0.0661879" y="4.23603" width="24.9528" height="17.3412"/>
<object id="2" x="9.99437" y="0.0661879" width="4.89791" height="10.1267"/>
<object id="1" x="9.984" y="3.88925" width="11.9834" height="18.1041"/>
<object id="2" x="9.99437" y="0.0661879" width="4.89791" height="24.83"/>
</objectgroup>
</tile>
<tile id="13">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 559 B

After

Width:  |  Height:  |  Size: 419 B

Before After
Before After