diff --git a/data/room/01.room b/data/room/01.room
deleted file mode 100644
index 0014600..0000000
--- a/data/room/01.room
+++ /dev/null
@@ -1,174 +0,0 @@
-name=THE JAIL
-bgColor=bright_blue
-border=blue
-tileMapFile=01.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=0
-roomRight=02.room
-
-[enemy]
-animation=jailer_#1.ani
-x=1
-y=13
-vx=0
-vy=0
-x1=1
-y1=13
-x2=1
-y2=13
-color=white
-[/enemy]
-
-[enemy]
-animation=jailer_#3.ani
-x=4
-y=13
-vx=0
-vy=0
-x1=4
-y1=13
-x2=4
-y2=13
-color=white
-[/enemy]
-
-[enemy]
-animation=jailer_#1.ani
-x=7
-y=13
-vx=0
-vy=0
-x1=7
-y1=13
-x2=7
-y2=13
-color=white
-[/enemy]
-
-[enemy]
-animation=jailer_#2.ani
-x=10
-y=13
-vx=0
-vy=0
-x1=10
-y1=13
-x2=10
-y2=13
-color=white
-[/enemy]
-
-[enemy]
-animation=jailer_#1.ani
-x=13
-y=13
-vx=0
-vy=0
-x1=13
-y1=13
-x2=13
-y2=13
-color=white
-[/enemy]
-
-[enemy]
-animation=elsa.ani
-x=3
-y=9
-vx=0
-vy=0
-x1=3
-y1=9
-x2=3
-y2=9
-color=white
-[/enemy]
-
-[enemy]
-animation=elsa.ani
-x=6
-y=9
-vx=0
-vy=0
-x1=6
-y1=9
-x2=6
-y2=9
-color=white
-[/enemy]
-
-[enemy]
-animation=lamp.ani
-x=23
-y=6
-vx=0
-vy=0
-x1=23
-y1=6
-x2=23
-y2=6
-color=white
-[/enemy]
-
-[enemy]
-animation=bry.ani
-x=17
-y=13
-vx=0
-vy=0
-x1=17
-y1=13
-x2=17
-y2=13
-color=white
-[/enemy]
-
-#[enemy]
-#tileSetFile=tv_panel.gif
-#animation=tv_panel.ani
-#width=24
-#height=16
-#x=18
-#y=9
-#vx=0
-#vy=0
-#x1=18
-#y1=9
-#x2=18
-#y2=9
-#color=white
-#[/enemy]
-#
-#[enemy]
-#tileSetFile=tv_panel.gif
-#animation=tv_panel.ani
-#width=24
-#height=16
-#x=22
-#y=9
-#vx=0
-#vy=0
-#x1=22
-#y1=9
-#x2=22
-#y2=9
-#color=white
-#[/enemy]
-#
-#[enemy]
-#tileSetFile=tv_panel.gif
-#animation=tv_panel.ani
-#width=24
-#height=16
-#x=26
-#y=9
-#vx=0
-#vy=0
-#x1=26
-#y1=9
-#x2=26
-#y2=9
-#color=white
-#[/enemy]
\ No newline at end of file
diff --git a/data/room/01.tmx b/data/room/01.tmx
deleted file mode 100644
index 571671d..0000000
--- a/data/room/01.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/01.yaml b/data/room/01.yaml
new file mode 100644
index 0000000..bb9658b
--- /dev/null
+++ b/data/room/01.yaml
@@ -0,0 +1,136 @@
+# THE JAIL
+room:
+ number: "01"
+ name: "THE JAIL"
+ bgColor: bright_blue
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: null
+ right: "02"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191]
+ - [167, 165, 184, 166, 165, 184, 165, 165, 167, 165, 165, 166, 165, 165, 184, 165, 165, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 165]
+ - [210, 180, 210, 212, 210, 180, 210, 211, 212, 210, 180, 210, 210, 211, 210, 212, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42]
+ - [163, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 163, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42]
+ - [42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42]
+ - [42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33]
+ - [42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 33, 33, 33, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 33, 33]
+ - [33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 33]
+ - [33, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33]
+ - [33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33]
+ - [33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33]
+ - [33, 33, 33, 33, 33, 33, 33, 33, 33, -1, -1, -1, -1, -1, -1, -1, 33, 137, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33]
+ - [33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33]
+ - [33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33]
+
+# Enemies in this room
+enemies:
+ - animation: jailer_#1.yaml
+ position: {x: 1, y: 13}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 13
+ x2: 1
+ y2: 13
+ color: white
+
+ - animation: jailer_#3.yaml
+ position: {x: 4, y: 13}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 4
+ y1: 13
+ x2: 4
+ y2: 13
+ color: white
+
+ - animation: jailer_#1.yaml
+ position: {x: 7, y: 13}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 13
+ x2: 7
+ y2: 13
+ color: white
+
+ - animation: jailer_#2.yaml
+ position: {x: 10, y: 13}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 10
+ y1: 13
+ x2: 10
+ y2: 13
+ color: white
+
+ - animation: jailer_#1.yaml
+ position: {x: 13, y: 13}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 13
+ y1: 13
+ x2: 13
+ y2: 13
+ color: white
+
+ - animation: elsa.yaml
+ position: {x: 3, y: 9}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 3
+ y1: 9
+ x2: 3
+ y2: 9
+ color: white
+
+ - animation: elsa.yaml
+ position: {x: 6, y: 9}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 6
+ y1: 9
+ x2: 6
+ y2: 9
+ color: white
+
+ - animation: lamp.yaml
+ position: {x: 23, y: 6}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 23
+ y1: 6
+ x2: 23
+ y2: 6
+ color: white
+
+ - animation: bry.yaml
+ position: {x: 17, y: 13}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 17
+ y1: 13
+ x2: 17
+ y2: 13
+ color: white
+
+# No items in this room
+items: []
\ No newline at end of file
diff --git a/data/room/02.room b/data/room/02.room
deleted file mode 100644
index f298c97..0000000
--- a/data/room/02.room
+++ /dev/null
@@ -1,46 +0,0 @@
-name=ROAD TO THE JAIL
-bgColor=black
-border=blue
-tileMapFile=02.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=04.room
-roomLeft=01.room
-roomRight=03.room
-itemColor1=yellow
-itemColor2=bright_yellow
-
-[enemy]
-animation=bin.ani
-x=4
-y=7
-vx=36.0
-vy=0
-x1=4
-y1=7
-x2=25
-y2=7
-color=green
-[/enemy]
-
-[enemy]
-animation=upv_student.ani
-x=4
-y=13
-vx=36.0
-vy=0
-x1=4
-y1=13
-x2=19
-y2=13
-color=cyan
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=2
-x=4
-y=6
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/02.tmx b/data/room/02.tmx
deleted file mode 100644
index 43b72c5..0000000
--- a/data/room/02.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/02.yaml b/data/room/02.yaml
new file mode 100644
index 0000000..947080d
--- /dev/null
+++ b/data/room/02.yaml
@@ -0,0 +1,71 @@
+# ROAD TO THE JAIL
+room:
+ number: "02"
+ name: "ROAD TO THE JAIL"
+ bgColor: black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: "04"
+ left: "01"
+ right: "03"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: bright_yellow
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 42, 42, 42, 42, 42]
+ - [42, 165, 165, 166, 167, 165, 184, 166, 165, 184, 165, 165, 167, 165, 165, 166, 165, 165, 184, 165, 165, 165, 184, 166, 165, 165, 165, 184, 24, 24, 24, 24]
+ - [42, 42, 210, 211, 211, 210, 180, 210, 212, 210, 180, 210, 211, 212, 210, 180, 210, 210, 210, 210, 211, 212, 210, 180, 210, 212, 180, 210, 134, -1, -1, -1]
+ - [42, 42, 42, -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, 134, -1, -1, -1]
+ - [42, 42, 42, -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, 24, 24, 24, 24]
+ - [33, 33, 303, -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, 24, 24, 24]
+ - [33, 33, -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, 302, 24, 24]
+ - [33, 33, -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, 24, 24]
+ - [33, 33, -1, 412, 412, 412, 412, -1, -1, -1, -1, 412, 303, 412, 412, 412, -1, -1, -1, -1, 412, 303, 412, 412, 412, 412, 303, -1, -1, -1, 24, 24]
+ - [33, 33, -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, 24, 24]
+ - [33, 33, -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, 410, 24, 24]
+ - [33, 33, -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, 24, 24]
+ - [33, 33, 412, -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, 410, 24, 24]
+ - [-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, -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, 523, 188, 190, 547, -1, -1, -1, -1]
+ - [33, 33, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 190, -1, -1, 188, 189, 188, 189, 188, 189, 188, 190, 24, 24]
+
+# Enemies in this room
+enemies:
+ - animation: bin.yaml
+ position: {x: 4, y: 7}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 4
+ y1: 7
+ x2: 25
+ y2: 7
+ color: green
+
+ - animation: upv_student.yaml
+ position: {x: 4, y: 13}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 4
+ y1: 13
+ x2: 19
+ y2: 13
+ color: cyan
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 2
+ position: {x: 4, y: 6}
+ counter: 1
diff --git a/data/room/03.room b/data/room/03.room
deleted file mode 100644
index 3e88325..0000000
--- a/data/room/03.room
+++ /dev/null
@@ -1,33 +0,0 @@
-name=VOID MAIN
-bgColor=black
-border=magenta
-tileMapFile=03.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=02.room
-roomRight=0
-autoSurface=left
-itemColor1=bright_cyan
-itemColor2=yellow
-
-[enemy]
-animation=code.ani
-x=3
-y=2
-vx=24.0
-vy=0
-x1=3
-y1=2
-x2=27
-y2=2
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=42
-x=21
-y=13
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/03.tmx b/data/room/03.tmx
deleted file mode 100644
index 6f7ee30..0000000
--- a/data/room/03.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/03.yaml b/data/room/03.yaml
new file mode 100644
index 0000000..0ac6407
--- /dev/null
+++ b/data/room/03.yaml
@@ -0,0 +1,60 @@
+# VOID MAIN
+room:
+ number: "03"
+ name: "VOID MAIN"
+ bgColor: black
+ border: magenta
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "02"
+ right: null
+
+ # Item display colors
+ itemColor1: bright_cyan
+ itemColor2: yellow
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: -1
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [24, 24, -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, 24, 24]
+ - [24, 24, -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, 24, 24]
+ - [-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, -1, -1, 24, 24]
+ - [-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, -1, -1, 24, 24]
+ - [24, 24, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, -1, -1, 504, 24, 24, 24, 24, 24, 24, 24, 24]
+ - [24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, 24, -1, -1, -1, -1, -1, 24, 24]
+ - [24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, 24, -1, -1, -1, -1, -1, 24, 24]
+ - [24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, 24, -1, -1, -1, -1, -1, 24, 24]
+ - [24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, 24, -1, -1, -1, -1, -1, 24, 24]
+ - [24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, -1, 24, -1, -1, -1, -1, -1, 24, 24]
+ - [24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, -1, -1, 24, -1, -1, -1, -1, -1, 24, 24]
+ - [24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, -1, -1, -1, 24, 24, 24, -1, -1, -1, 24, 24]
+ - [24, 24, -1, -1, -1, -1, -1, -1, -1, 252, 252, 252, 252, 252, 252, 252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 24]
+ - [-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, -1, -1, 134, 24]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 440, 440, 440, 440, -1, -1, -1, -1, -1, -1, -1, -1, 134, 24]
+ - [24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]
+
+# Enemies in this room
+enemies:
+ - animation: code.yaml
+ position: {x: 3, y: 2}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 3
+ y1: 2
+ x2: 27
+ y2: 2
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 42
+ position: {x: 21, y: 13}
+ counter: 1
diff --git a/data/room/04.room b/data/room/04.room
deleted file mode 100644
index 607f2f4..0000000
--- a/data/room/04.room
+++ /dev/null
@@ -1,45 +0,0 @@
-name=JUMP THROUGH
-bgColor=black
-border=cyan
-tileMapFile=04.tmx
-tileSetFile=standard.gif
-roomUp=02.room
-roomDown=0
-roomLeft=07.room
-roomRight=05.room
-itemColor1=white
-itemColor2=green
-
-[enemy]
-animation=chip.ani
-x=24
-y=12
-vx=18.0
-vy=0
-x1=24
-y1=12
-x2=31
-y2=12
-color=magenta
-[/enemy]
-
-[enemy]
-animation=chip.ani
-x=4
-y=2
-vx=0
-vy=24.0
-x1=4
-y1=2
-x2=4
-y2=12
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=51
-x=2
-y=3
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/04.tmx b/data/room/04.tmx
deleted file mode 100644
index 32b46f7..0000000
--- a/data/room/04.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/04.yaml b/data/room/04.yaml
new file mode 100644
index 0000000..5da98af
--- /dev/null
+++ b/data/room/04.yaml
@@ -0,0 +1,70 @@
+# JUMP THROUGH
+room:
+ number: "04"
+ name: "JUMP THROUGH"
+ bgColor: black
+ border: cyan
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "02"
+ down: null
+ left: "07"
+ right: "05"
+
+ # Item display colors
+ itemColor1: white
+ itemColor2: green
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 189, 188, 190, -1, -1, -1, 527, 188, 189, 188, 189, 188, 189, 188, 189]
+ - [14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -1, -1, -1, -1, -1, 527, -1, 14, 14, 14, 14, 14, 14, 14, 14]
+ - [14, 14, 14, -1, -1, -1, -1, 14, 14, 14, 14, 14, 14, 14, 301, -1, -1, -1, -1, -1, -1, 527, -1, -1, 14, 14, 14, 14, 14, 14, 14, 14]
+ - [14, 14, -1, -1, -1, -1, -1, 301, 14, 14, 14, 14, 14, -1, -1, -1, -1, -1, -1, -1, 527, -1, -1, -1, 14, 14, 14, 14, 14, 14, 14, 14]
+ - [14, 14, -1, -1, -1, -1, -1, -1, 14, 14, 14, 14, -1, -1, -1, -1, -1, -1, -1, 527, -1, -1, -1, -1, 14, 14, 14, 14, 14, 14, 14, 14]
+ - [14, 14, -1, -1, -1, -1, -1, -1, 14, 14, 14, -1, -1, -1, -1, -1, -1, -1, 527, -1, -1, -1, -1, -1, 14, 14, 14, 14, 14, 14, 14, 14]
+ - [14, 14, -1, -1, -1, -1, -1, -1, 14, 14, -1, -1, -1, -1, -1, -1, -1, 527, -1, -1, -1, -1, -1, -1, 14, 14, 14, 14, 14, 301, -1, -1]
+ - [14, 14, -1, -1, -1, -1, 414, 414, 14, 14, -1, -1, -1, 414, 414, 414, 414, -1, -1, -1, -1, -1, -1, -1, 14, 14, 14, 14, 301, -1, -1, -1]
+ - [14, 14, -1, -1, -1, -1, -1, -1, 14, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14, 14, 14, 14, -1, -1, -1, -1, -1]
+ - [14, 14, 414, -1, -1, -1, -1, -1, 14, 14, 414, 414, 414, 551, -1, -1, -1, -1, -1, -1, -1, -1, 14, 14, 14, 14, -1, -1, -1, -1, -1, -1]
+ - [14, 14, -1, -1, -1, -1, 414, 414, 14, 14, -1, -1, -1, -1, 551, -1, -1, -1, -1, -1, -1, 14, 14, 14, 14, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 551, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, 414, 414, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 551, -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, -1, -1, -1, -1, 551, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, 518, 14, 62, 14, 62, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 551, -1, -1, -1, -1, 518, 14, 62, 14, 62, 14, 62, 14, 62]
+ - [62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62]
+
+# Enemies in this room
+enemies:
+ - animation: chip.yaml
+ position: {x: 24, y: 12}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 24
+ y1: 12
+ x2: 31
+ y2: 12
+ color: magenta
+
+ - animation: chip.yaml
+ position: {x: 4, y: 2}
+ velocity: {x: 0, y: 24.0}
+ boundaries:
+ x1: 4
+ y1: 2
+ x2: 4
+ y2: 12
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 51
+ position: {x: 2, y: 3}
+ counter: 1
diff --git a/data/room/05.room b/data/room/05.room
deleted file mode 100644
index 4441fc9..0000000
--- a/data/room/05.room
+++ /dev/null
@@ -1,70 +0,0 @@
-name=BIG JUMP
-bgColor=black
-border=red
-tileMapFile=05.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=60.room
-roomLeft=04.room
-roomRight=06.room
-itemColor1=bright_green
-itemColor2=green
-
-[enemy]
-animation=floppy.ani
-x=15
-y=4
-vx=0
-vy=48.0
-x1=15
-y1=0
-x2=15
-y2=11
-color=magenta
-[/enemy]
-
-[enemy]
-animation=congo.ani
-x=21
-y=12
-vx=24.0
-vy=0
-x1=21
-y1=12
-x2=28
-y2=12
-color=yellow
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=68
-x=1
-y=3
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=68
-x=2
-y=3
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=68
-x=29
-y=12
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=68
-x=30
-y=12
-counter=4
-[/item]
\ No newline at end of file
diff --git a/data/room/05.tmx b/data/room/05.tmx
deleted file mode 100644
index ecadfb2..0000000
--- a/data/room/05.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/05.yaml b/data/room/05.yaml
new file mode 100644
index 0000000..72a7a38
--- /dev/null
+++ b/data/room/05.yaml
@@ -0,0 +1,86 @@
+# BIG JUMP
+room:
+ number: "05"
+ name: "BIG JUMP"
+ bgColor: black
+ border: red
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: "60"
+ left: "04"
+ right: "06"
+
+ # Item display colors
+ itemColor1: bright_green
+ itemColor2: green
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [24, 24, 24, 24, 24, 24, -1, -1, 304, -1, -1, -1, 304, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 425, 426, 425, 426]
+ - [24, 24, 24, 24, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 425, 426, 92]
+ - [24, 24, 24, -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, 66, 67, 116]
+ - [133, -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, -1, 226, 116]
+ - [133, -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, -1, -1, 116]
+ - [24, -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, -1, -1, 116]
+ - [24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 416, 416, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 140]
+ - [24, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24]
+ - [24, 24, 24, 24, 24, 24, -1, -1, -1, 416, 416, -1, -1, -1, -1, -1, -1, -1, 304, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304]
+ - [-1, -1, -1, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, 416, 416, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, 416, 416, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -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, -1, -1, -1, 30, -1, -1, -1, -1, 416, 416, 416, -1, -1, 24, 24, 24]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 416, 416, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24]
+ - [-1, -1, -1, -1, -1, 416, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 531, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 88]
+ - [30, 30, 531, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 48, 48, 48, 48, 48, 48, 48, 48, 88, 89, 88, 89]
+ - [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 304, -1, -1, 304, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]
+
+# Enemies in this room
+enemies:
+ - animation: floppy.yaml
+ position: {x: 15, y: 4}
+ velocity: {x: 0, y: 48.0}
+ boundaries:
+ x1: 15
+ y1: 0
+ x2: 15
+ y2: 11
+ color: magenta
+
+ - animation: congo.yaml
+ position: {x: 21, y: 12}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 21
+ y1: 12
+ x2: 28
+ y2: 12
+ color: yellow
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 68
+ position: {x: 1, y: 3}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 68
+ position: {x: 2, y: 3}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 68
+ position: {x: 29, y: 12}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 68
+ position: {x: 30, y: 12}
+ counter: 4
diff --git a/data/room/06.room b/data/room/06.room
deleted file mode 100644
index 09a1775..0000000
--- a/data/room/06.room
+++ /dev/null
@@ -1,78 +0,0 @@
-name=WELCOME TO MY ABBEY
-bgColor=blue
-border=yellow
-tileMapFile=06.tmx
-tileSetFile=standard.gif
-roomUp=15.room
-roomDown=0
-roomLeft=05.room
-roomRight=25.room
-itemColor1=green
-itemColor2=bright_blue
-
-[enemy]
-animation=abad.ani
-x=1
-y=13
-vx=48.0
-vy=0
-x1=1
-y1=13
-x2=23
-y2=13
-color=yellow
-flip=true
-[/enemy]
-
-[enemy]
-animation=spider.ani
-x=24
-y=4
-vx=0
-vy=48.0
-x1=24
-y1=2
-x2=24
-y2=7
-color=green
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=49
-x=7
-y=2
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=49
-x=1
-y=14
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=49
-x=18
-y=14
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=49
-x=30
-y=9
-counter=4
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=49
-x=30
-y=4
-counter=5
-[/item]
\ No newline at end of file
diff --git a/data/room/06.tmx b/data/room/06.tmx
deleted file mode 100644
index 0934e0f..0000000
--- a/data/room/06.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/06.yaml b/data/room/06.yaml
new file mode 100644
index 0000000..7ca1c6c
--- /dev/null
+++ b/data/room/06.yaml
@@ -0,0 +1,91 @@
+# WELCOME TO MY ABBEY
+room:
+ number: "06"
+ name: "WELCOME TO MY ABBEY"
+ bgColor: blue
+ border: yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "15"
+ down: null
+ left: "05"
+ right: "25"
+
+ # Item display colors
+ itemColor1: green
+ itemColor2: bright_blue
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [425, 426, 425, 426, -1, -1, -1, -1, 425, 426, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67]
+ - [426, 425, 426, -1, -1, -1, -1, -1, -1, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91]
+ - [92, -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, -1, -1, 92]
+ - [116, -1, -1, -1, 425, 426, 425, 426, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 116]
+ - [116, -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, -1, -1, 116]
+ - [116, -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, 525, 402, 403, 403, 116]
+ - [140, -1, -1, 425, 426, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, -1, -1, -1, -1, 116]
+ - [31, -1, -1, -1, 425, 426, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, -1, -1, -1, -1, -1, 116]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, 402, 403, 403, 403, 404, 549, -1, -1, -1, 116]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, -1, -1, -1, -1, -1, -1, -1, 549, -1, -1, 116]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, -1, -1, -1, -1, -1, -1, -1, -1, -1, 402, 403, 116]
+ - [31, 66, 67, 66, 67, 403, 403, 403, 403, 403, 404, -1, -1, -1, 402, 66, 67, 66, 67, 66, 67, 66, 67, 404, -1, -1, -1, -1, -1, -1, -1, 140]
+ - [31, 90, 91, 90, 91, 225, -1, -1, -1, -1, -1, -1, -1, -1, 91, 90, 91, 90, 91, 90, 91, 90, 91, 225, -1, -1, -1, -1, -1, -1, -1, 31]
+ - [134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 427, -1, -1, -1, -1, -1, -1, -1]
+ - [134, -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, 555, -1, -1, -1, -1, -1]
+ - [88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89]
+
+# Enemies in this room
+enemies:
+ - animation: abad.yaml
+ position: {x: 1, y: 13}
+ velocity: {x: 48.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 13
+ x2: 23
+ y2: 13
+ color: yellow
+ flip: true
+
+ - animation: spider.yaml
+ position: {x: 24, y: 4}
+ velocity: {x: 0, y: 48.0}
+ boundaries:
+ x1: 24
+ y1: 2
+ x2: 24
+ y2: 7
+ color: green
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 49
+ position: {x: 7, y: 2}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 49
+ position: {x: 1, y: 14}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 49
+ position: {x: 18, y: 14}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 49
+ position: {x: 30, y: 9}
+ counter: 4
+
+ - tileSetFile: items.gif
+ tile: 49
+ position: {x: 30, y: 4}
+ counter: 5
diff --git a/data/room/07.room b/data/room/07.room
deleted file mode 100644
index 9f93134..0000000
--- a/data/room/07.room
+++ /dev/null
@@ -1,121 +0,0 @@
-name=SIGMASUA > TELEGRAM
-bgColor=black
-border=blue
-tileMapFile=07.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=08.room
-roomRight=04.room
-itemColor1=magenta
-itemColor2=red
-
-[enemy]
-animation=sigmasua.ani
-x=15
-y=7
-vx=48.0
-vy=0
-x1=7
-y1=7
-x2=23
-y2=7
-color=cyan
-[/enemy]
-
-[enemy]
-animation=sigmasua.ani
-x=15
-y=4
-vx=-30.000000
-vy=0
-x1=7
-y1=4
-x2=23
-y2=4
-color=blue
-[/enemy]
-
-[enemy]
-animation=sigmasua.ani
-x=3
-y=8
-vx=0
-vy=24.0
-x1=3
-y1=5
-x2=3
-y2=13
-color=bright_red
-[/enemy]
-
-[enemy]
-animation=sigmasua.ani
-x=27
-y=8
-vx=0
-vy=-24.000000
-x1=27
-y1=5
-x2=27
-y2=13
-color=yellow
-[/enemy]
-
-[enemy]
-animation=sigmasua.ani
-x=12
-y=10
-vx=0
-vy=18.0
-x1=12
-y1=10
-x2=12
-y2=13
-color=bright_magenta
-[/enemy]
-
-[enemy]
-animation=sigmasua.ani
-x=17
-y=13
-vx=0
-vy=-18.000000
-x1=17
-y1=10
-x2=17
-y2=13
-color=bright_green
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=67
-x=15
-y=6
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=67
-x=1
-y=8
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=67
-x=30
-y=8
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=67
-x=21
-y=13
-counter=4
-[/item]
\ No newline at end of file
diff --git a/data/room/07.tmx b/data/room/07.tmx
deleted file mode 100644
index cd6524f..0000000
--- a/data/room/07.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/07.yaml b/data/room/07.yaml
new file mode 100644
index 0000000..295fdce
--- /dev/null
+++ b/data/room/07.yaml
@@ -0,0 +1,125 @@
+# SIGMASUA > TELEGRAM
+room:
+ number: "07"
+ name: "SIGMASUA > TELEGRAM"
+ bgColor: black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "08"
+ right: "04"
+
+ # Item display colors
+ itemColor1: magenta
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-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, -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, -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, -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, -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, -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, -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, -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]
+ - [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, -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, -1, -1, -1, -1, -1, -1, -1, 1]
+ - [1, 410, -1, -1, -1, -1, -1, 412, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 412, -1, -1, -1, -1, -1, 410, 1]
+ - [1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, -1, 1]
+ - [1, -1, -1, -1, -1, -1, 410, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 410, 410, -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, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, 412, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 412, -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, -1, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]
+
+# Enemies in this room
+enemies:
+ - animation: sigmasua.yaml
+ position: {x: 15, y: 7}
+ velocity: {x: 48.0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 7
+ x2: 23
+ y2: 7
+ color: cyan
+
+ - animation: sigmasua.yaml
+ position: {x: 15, y: 4}
+ velocity: {x: -30.0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 4
+ x2: 23
+ y2: 4
+ color: blue
+
+ - animation: sigmasua.yaml
+ position: {x: 3, y: 8}
+ velocity: {x: 0, y: 24.0}
+ boundaries:
+ x1: 3
+ y1: 5
+ x2: 3
+ y2: 13
+ color: bright_red
+
+ - animation: sigmasua.yaml
+ position: {x: 27, y: 8}
+ velocity: {x: 0, y: -24.0}
+ boundaries:
+ x1: 27
+ y1: 5
+ x2: 27
+ y2: 13
+ color: yellow
+
+ - animation: sigmasua.yaml
+ position: {x: 12, y: 10}
+ velocity: {x: 0, y: 18.0}
+ boundaries:
+ x1: 12
+ y1: 10
+ x2: 12
+ y2: 13
+ color: bright_magenta
+
+ - animation: sigmasua.yaml
+ position: {x: 17, y: 13}
+ velocity: {x: 0, y: -18.0}
+ boundaries:
+ x1: 17
+ y1: 10
+ x2: 17
+ y2: 13
+ color: bright_green
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 67
+ position: {x: 15, y: 6}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 67
+ position: {x: 1, y: 8}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 67
+ position: {x: 30, y: 8}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 67
+ position: {x: 21, y: 13}
+ counter: 4
diff --git a/data/room/08.room b/data/room/08.room
deleted file mode 100644
index 4bb6914..0000000
--- a/data/room/08.room
+++ /dev/null
@@ -1,47 +0,0 @@
-name=THE GARDEN
-bgColor=black
-border=cyan
-tileMapFile=08.tmx
-tileSetFile=standard.gif
-roomUp=09.room
-roomDown=0
-roomLeft=16.room
-roomRight=07.room
-
-[enemy]
-animation=abad.ani
-x=4
-y=13
-vx=24.0
-vy=0
-x1=2
-y1=13
-x2=10
-y2=13
-color=green
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=18
-x=5
-y=5
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=18
-x=25
-y=9
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=18
-x=10
-y=5
-counter=3
-[/item]
\ No newline at end of file
diff --git a/data/room/08.tmx b/data/room/08.tmx
deleted file mode 100644
index d781c8e..0000000
--- a/data/room/08.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/08.yaml b/data/room/08.yaml
new file mode 100644
index 0000000..c928895
--- /dev/null
+++ b/data/room/08.yaml
@@ -0,0 +1,71 @@
+# THE GARDEN
+room:
+ number: "08"
+ name: "THE GARDEN"
+ bgColor: black
+ border: cyan
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "09"
+ down: null
+ left: "16"
+ right: "07"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 40, 40, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, 81]
+ - [81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, 81]
+ - [81, -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, 504, -1, -1, 81]
+ - [81, -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, 504, -1, -1, -1, 81]
+ - [81, -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, 504, -1, -1, -1, -1, 81]
+ - [81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, 305, 305, -1, -1, -1, 305, -1, -1, -1, -1, -1, 81]
+ - [81, -1, -1, -1, -1, 305, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81]
+ - [81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, 81]
+ - [81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, 305, -1, -1, -1, 81]
+ - [81, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81]
+ - [81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 305, 305, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, 81]
+ - [81, -1, -1, 305, -1, -1, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 81]
+ - [81, -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, -1, -1, 81]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, 81, 81, 81, 81, 81, 81, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, 81, 81, 81, 81, 81, 81, 81, 81, 539, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81]
+
+# Enemies in this room
+enemies:
+ - animation: abad.yaml
+ position: {x: 4, y: 13}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 2
+ y1: 13
+ x2: 10
+ y2: 13
+ color: green
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 18
+ position: {x: 5, y: 5}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 18
+ position: {x: 25, y: 9}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 18
+ position: {x: 10, y: 5}
+ counter: 3
diff --git a/data/room/09.room b/data/room/09.room
deleted file mode 100644
index 70f21bb..0000000
--- a/data/room/09.room
+++ /dev/null
@@ -1,63 +0,0 @@
-name=THE BIG TREE
-bgColor=black
-border=bright_blue
-tileMapFile=09.tmx
-tileSetFile=standard.gif
-roomUp=10.room
-roomDown=08.room
-roomLeft=0
-roomRight=0
-itemColor1=cyan
-itemColor2=green
-
-[enemy]
-animation=congo.ani
-x=10
-y=12
-vx=24.0
-vy=0
-x1=10
-y1=12
-x2=20
-y2=12
-color=yellow
-flip=true
-[/enemy]
-
-[enemy]
-animation=congo.ani
-x=12
-y=6
-vx=36.0
-vy=0
-x1=12
-y1=6
-x2=17
-y2=6
-color=white
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=52
-x=5
-y=7
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=52
-x=5
-y=1
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=52
-x=17
-y=4
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/09.tmx b/data/room/09.tmx
deleted file mode 100644
index 66909be..0000000
--- a/data/room/09.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/09.yaml b/data/room/09.yaml
new file mode 100644
index 0000000..9ace2bf
--- /dev/null
+++ b/data/room/09.yaml
@@ -0,0 +1,82 @@
+# THE BIG TREE
+room:
+ number: "09"
+ name: "THE BIG TREE"
+ bgColor: black
+ border: bright_blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "10"
+ down: "08"
+ left: null
+ right: null
+
+ # Item display colors
+ itemColor1: cyan
+ itemColor2: green
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 304, 40, 40, 40, 40, 304, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, 16, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, 40, 40, 40, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, 16, 16, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, 16, 16, 16, 16]
+ - [-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, 517, 16, 16, 16, 16, 16]
+ - [-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, 517, 16, 16, 16, 16, 16, 16]
+ - [-1, -1, -1, -1, -1, 304, 304, 530, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 16, 16, 16, 16, 16, 16, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 304, 304, 530, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, -1, -1, -1, -1, 16, 16, 16, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 530, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, 16, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 348, 348, 348, 348, 348, 348, -1, -1, -1, -1, -1, 304, -1, -1, -1, -1, -1, -1, 16, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, -1, 40, 40, 40, 40, -1, -1, -1, 304, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 40, 40, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16]
+ - [-1, -1, -1, -1, -1, 304, 304, 530, -1, -1, -1, -1, -1, -1, 40, 40, -1, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 530, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 530, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 537, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16]
+ - [562, 562, 562, 562, 562, 562, 562, 562, 562, 562, -1, -1, -1, 40, 40, 40, 40, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, -1, -1, 348, 348, 348]
+
+# Enemies in this room
+enemies:
+ - animation: congo.yaml
+ position: {x: 10, y: 12}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 10
+ y1: 12
+ x2: 20
+ y2: 12
+ color: yellow
+ flip: true
+
+ - animation: congo.yaml
+ position: {x: 12, y: 6}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 12
+ y1: 6
+ x2: 17
+ y2: 6
+ color: white
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 52
+ position: {x: 5, y: 7}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 52
+ position: {x: 5, y: 1}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 52
+ position: {x: 17, y: 4}
+ counter: 2
diff --git a/data/room/10.room b/data/room/10.room
deleted file mode 100644
index d29bafb..0000000
--- a/data/room/10.room
+++ /dev/null
@@ -1,19 +0,0 @@
-name=TREE TOP
-bgColor=bright_black
-border=blue
-tileMapFile=10.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=09.room
-roomLeft=0
-roomRight=11.room
-itemColor1=green
-itemColor2=red
-
-[item]
-tileSetFile=items.gif
-tile=16
-x=21
-y=4
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/10.tmx b/data/room/10.tmx
deleted file mode 100644
index c90ed07..0000000
--- a/data/room/10.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/10.yaml b/data/room/10.yaml
new file mode 100644
index 0000000..4cca1fa
--- /dev/null
+++ b/data/room/10.yaml
@@ -0,0 +1,51 @@
+# TREE TOP
+room:
+ number: "10"
+ name: "TREE TOP"
+ bgColor: bright_black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: "09"
+ left: null
+ right: "11"
+
+ # Item display colors
+ itemColor1: green
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, -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, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, 304, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, 304, -1, 304, 304, -1, 304, -1, 304, 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, 304, 304, 304, 304, -1, 304, -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 304, -1, 304, 304, 304, 304, 304, 304, -1, 304, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, 304, -1, 304, 304, 304, 304, -1, 304, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 304, 304, -1, 304, 304, 304, 304, 304, 304, 304, 304, -1, 304, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, 304, 304, -1, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, 304, 304, 304, 304, 304, 304, 304, 304, -1, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, 304, -1, -1, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, 304, 304, 304, 40, 40, 304, 304, 304, -1, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 304, -1, 304, 40, 40, 40, 40, 304, -1, 304, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, 304, 304, 40, 40, 40, 40, 304, 304, -1, -1, 304, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 304, -1, 304, 40, 40, 40, 40, 304, -1, 304, 304, -1, -1, -1, -1, -1, -1, -1, -1, 517, 85, 85]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 40, 40, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, 85, 85, 85]
+
+# No enemies in this room
+enemies: []
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 16
+ position: {x: 21, y: 4}
+ counter: 1
diff --git a/data/room/11.room b/data/room/11.room
deleted file mode 100644
index ce710f0..0000000
--- a/data/room/11.room
+++ /dev/null
@@ -1,74 +0,0 @@
-name=LAZY ROOM
-bgColor=black
-border=blue
-tileMapFile=11.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=10.room
-roomRight=12.room
-
-[enemy]
-animation=lamp.ani
-x=7
-y=10
-vx=0
-vy=0
-x1=7
-y1=10
-x2=7
-y2=10
-color=magenta
-[/enemy]
-
-[enemy]
-animation=lamp.ani
-x=21
-y=10
-vx=0
-vy=0
-x1=21
-y1=10
-x2=21
-y2=10
-color=magenta
-[/enemy]
-
-[enemy]
-animation=bin.ani
-x=12
-y=14
-vx=48.0
-vy=0
-x1=3
-y1=14
-x2=27
-y2=14
-color=green
-[/enemy]
-
-[enemy]
-animation=wave.ani
-x=7
-y=6
-vx=30.0
-vy=0
-x1=0
-y1=6
-x2=14
-y2=6
-color=green
-[/enemy]
-
-[enemy]
-animation=wave.ani
-x=23
-y=6
-vx=-30.000000
-vy=0
-x1=16
-y1=6
-x2=31
-y2=6
-color=green
-[/enemy]
\ No newline at end of file
diff --git a/data/room/11.tmx b/data/room/11.tmx
deleted file mode 100644
index aa4b5e4..0000000
--- a/data/room/11.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/11.yaml b/data/room/11.yaml
new file mode 100644
index 0000000..8da115a
--- /dev/null
+++ b/data/room/11.yaml
@@ -0,0 +1,96 @@
+# LAZY ROOM
+room:
+ number: "11"
+ name: "LAZY ROOM"
+ bgColor: black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "10"
+ right: "12"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-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, -1, -1, -1, 27]
+ - [-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, -1, -1, -1, 27]
+ - [-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, -1, -1, -1, 27]
+ - [-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, -1, -1, -1, 27]
+ - [-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, -1, -1, -1, 27]
+ - [388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, -1, 364, -1, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 388]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, -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, -1, -1, -1, 340, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, 559, 559, -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, -1, -1, 559, 559, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85]
+ - [-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, -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, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [85, 85, 539, -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, 515, 85, 85]
+ - [85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85]
+
+# Enemies in this room
+enemies:
+ - animation: lamp.yaml
+ position: {x: 7, y: 10}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 10
+ x2: 7
+ y2: 10
+ color: magenta
+
+ - animation: lamp.yaml
+ position: {x: 21, y: 10}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 21
+ y1: 10
+ x2: 21
+ y2: 10
+ color: magenta
+
+ - animation: bin.yaml
+ position: {x: 12, y: 14}
+ velocity: {x: 48.0, y: 0}
+ boundaries:
+ x1: 3
+ y1: 14
+ x2: 27
+ y2: 14
+ color: green
+
+ - animation: wave.yaml
+ position: {x: 7, y: 6}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 0
+ y1: 6
+ x2: 14
+ y2: 6
+ color: green
+
+ - animation: wave.yaml
+ position: {x: 23, y: 6}
+ velocity: {x: -30.0, y: 0}
+ boundaries:
+ x1: 16
+ y1: 6
+ x2: 31
+ y2: 6
+ color: green
+
+# No items in this room
+items: []
\ No newline at end of file
diff --git a/data/room/12.room b/data/room/12.room
deleted file mode 100644
index dfd1618..0000000
--- a/data/room/12.room
+++ /dev/null
@@ -1,53 +0,0 @@
-name=THE PASSAGE
-bgColor=black
-border=green
-tileMapFile=12.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=11.room
-roomRight=13.room
-itemColor1=red
-itemColor2=magenta
-
-[enemy]
-animation=floppy.ani
-x=9
-y=10
-vx=36.0
-vy=0
-x1=4
-y1=10
-x2=22
-y2=10
-color=green
-[/enemy]
-
-[enemy]
-animation=floppy.ani
-x=1
-y=0
-vx=0
-vy=30.0
-x1=1
-y1=0
-x2=1
-y2=7
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=34
-x=17
-y=8
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=34
-x=3
-y=6
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/12.tmx b/data/room/12.tmx
deleted file mode 100644
index 64bd33c..0000000
--- a/data/room/12.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/12.yaml b/data/room/12.yaml
new file mode 100644
index 0000000..5284133
--- /dev/null
+++ b/data/room/12.yaml
@@ -0,0 +1,75 @@
+# THE PASSAGE
+room:
+ number: "12"
+ name: "THE PASSAGE"
+ bgColor: black
+ border: green
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "11"
+ right: "13"
+
+ # Item display colors
+ itemColor1: red
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [24, -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, -1, -1, -1]
+ - [24, -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, -1, -1, -1]
+ - [24, -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, -1, -1, -1]
+ - [24, -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, -1, -1, -1]
+ - [24, -1, -1, -1, 526, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, 24, 24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 250, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, 24]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 24, 550, -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, 24, 24]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 24, 24, 24, 24, -1, -1, -1, -1, -1, 24, 24, 24, 24, 24]
+ - [24, 24, 24, 24, -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, 24, 24, 24]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 250, -1, -1, -1, -1, -1, 24, 24]
+ - [-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, -1, -1, -1, 24]
+ - [-1, -1, -1, -1, 394, 394, 394, 394, 394, 370, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, 394, -1, -1, -1, -1, -1, -1, 24]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [24, 24, 550, -1, -1, -1, -1, -1, -1, 346, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]
+
+# Enemies in this room
+enemies:
+ - animation: floppy.yaml
+ position: {x: 9, y: 10}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 4
+ y1: 10
+ x2: 22
+ y2: 10
+ color: green
+
+ - animation: floppy.yaml
+ position: {x: 1, y: 0}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 1
+ y1: 0
+ x2: 1
+ y2: 7
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 34
+ position: {x: 17, y: 8}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 34
+ position: {x: 3, y: 6}
+ counter: 2
diff --git a/data/room/13.room b/data/room/13.room
deleted file mode 100644
index 07d4f6f..0000000
--- a/data/room/13.room
+++ /dev/null
@@ -1,87 +0,0 @@
-name=TUNO KILLER
-bgColor=black
-border=blue
-tileMapFile=13.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=12.room
-roomRight=14.room
-itemColor1=yellow
-itemColor2=cyan
-
-[enemy]
-animation=matatunos.ani
-x=5
-y=1
-vx=0
-vy=1
-x1=5
-y1=1
-x2=5
-y2=13
-color=bright_blue
-[/enemy]
-
-[enemy]
-animation=tuno.ani
-x=12
-y=4
-vx=0
-vy=1.1
-x1=12
-y1=1
-x2=12
-y2=13
-color=red
-[/enemy]
-
-[enemy]
-animation=tuno.ani
-x=19
-y=7
-vx=0
-vy=54.0
-x1=19
-y1=1
-x2=19
-y2=13
-color=yellow
-[/enemy]
-
-[enemy]
-animation=tuno.ani
-x=26
-y=11
-vx=0
-vy=42.0
-x1=26
-y1=1
-x2=26
-y2=13
-color=magenta
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=53
-x=9
-y=4
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=53
-x=16
-y=4
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=53
-x=23
-y=4
-counter=3
-[/item]
\ No newline at end of file
diff --git a/data/room/13.tmx b/data/room/13.tmx
deleted file mode 100644
index ac73879..0000000
--- a/data/room/13.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/13.yaml b/data/room/13.yaml
new file mode 100644
index 0000000..69fb635
--- /dev/null
+++ b/data/room/13.yaml
@@ -0,0 +1,100 @@
+# TUNO KILLER
+room:
+ number: "13"
+ name: "TUNO KILLER"
+ bgColor: black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "12"
+ right: "14"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: cyan
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-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, -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, -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, -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, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [25, 25, 25, 25, 25, -1, -1, 25, 25, 25, 25, 25, -1, -1, 25, 25, 25, 25, 25, -1, -1, 25, 25, 25, 25, 25, -1, -1, 25, 25, 25, 25]
+ - [136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136]
+ - [136, 65, 136, 65, 136, -1, -1, 136, 65, 136, 65, 136, -1, -1, 136, 65, 136, 65, 136, -1, -1, 136, 65, 136, 65, 136, -1, -1, 136, 65, 136, 65]
+ - [136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136]
+ - [136, 65, 136, 65, 136, -1, -1, 136, 65, 136, 65, 136, -1, -1, 136, 65, 136, 65, 136, -1, -1, 136, 65, 136, 65, 136, -1, -1, 136, 65, 136, 65]
+ - [136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136]
+ - [136, 136, 111, 136, 136, -1, -1, 136, 136, 111, 136, 136, -1, -1, 136, 136, 111, 136, 136, -1, -1, 136, 136, 111, 136, 136, -1, -1, 136, 136, 111, 136]
+ - [-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, -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, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25]
+
+# Enemies in this room
+enemies:
+ - animation: matatunos.yaml
+ position: {x: 5, y: 1}
+ velocity: {x: 0, y: 60.0}
+ boundaries:
+ x1: 5
+ y1: 1
+ x2: 5
+ y2: 13
+ color: bright_blue
+
+ - animation: tuno.yaml
+ position: {x: 12, y: 4}
+ velocity: {x: 0, y: 66.0}
+ boundaries:
+ x1: 12
+ y1: 1
+ x2: 12
+ y2: 13
+ color: red
+
+ - animation: tuno.yaml
+ position: {x: 19, y: 7}
+ velocity: {x: 0, y: 54.0}
+ boundaries:
+ x1: 19
+ y1: 1
+ x2: 19
+ y2: 13
+ color: yellow
+
+ - animation: tuno.yaml
+ position: {x: 26, y: 11}
+ velocity: {x: 0, y: 42.0}
+ boundaries:
+ x1: 26
+ y1: 1
+ x2: 26
+ y2: 13
+ color: magenta
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 53
+ position: {x: 9, y: 4}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 53
+ position: {x: 16, y: 4}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 53
+ position: {x: 23, y: 4}
+ counter: 3
diff --git a/data/room/14.room b/data/room/14.room
deleted file mode 100644
index 882b502..0000000
--- a/data/room/14.room
+++ /dev/null
@@ -1,66 +0,0 @@
-name=KILLING SPREE
-bgColor=black
-border=blue
-tileMapFile=14.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=15.room
-roomLeft=13.room
-roomRight=45.room
-itemColor1=yellow
-itemColor2=cyan
-
-[enemy]
-animation=matatunos.ani
-x=6
-y=5
-vx=18.0
-vy=0
-x1=5
-y1=5
-x2=10
-y2=5
-color=bright_green
-[/enemy]
-
-[enemy]
-animation=tuno.ani
-x=21
-y=2
-vx=0
-vy=24.0
-x1=21
-y1=2
-x2=21
-y2=13
-color=red
-[/enemy]
-
-[enemy]
-animation=tuno.ani
-x=28
-y=6
-vx=0
-vy=-24.000000
-x1=28
-y1=2
-x2=28
-y2=13
-color=magenta
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=53
-x=30
-y=14
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=53
-x=25
-y=1
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/14.tmx b/data/room/14.tmx
deleted file mode 100644
index a13712f..0000000
--- a/data/room/14.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/14.yaml b/data/room/14.yaml
new file mode 100644
index 0000000..0bbe538
--- /dev/null
+++ b/data/room/14.yaml
@@ -0,0 +1,85 @@
+# KILLING SPREE
+room:
+ number: "14"
+ name: "KILLING SPREE"
+ bgColor: black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: "15"
+ left: "13"
+ right: "45"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: cyan
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-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, -1, -1, -1, 29]
+ - [-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, -1, -1, -1, 29]
+ - [-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, -1, -1, -1, 29]
+ - [-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, -1, -1, -1, 29]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, 29]
+ - [-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, 305, -1, -1, -1, -1, -1, 29]
+ - [25, 25, 25, 25, 25, -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, 29]
+ - [136, 136, 136, 136, 136, -1, 25, 25, 25, 25, 25, 537, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, 305, -1, -1, 305, 29]
+ - [136, 65, 136, 65, 136, -1, 136, 136, 136, 136, 136, 136, 537, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, -1]
+ - [136, 136, 136, 136, 136, 421, 136, 136, 65, 136, 65, 136, 136, 537, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1]
+ - [136, 65, 136, 65, 136, -1, 136, 136, 136, 136, 136, 136, 136, 136, 537, -1, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, 305, -1, -1]
+ - [136, 136, 136, 136, 136, -1, 136, 136, 65, 136, 65, 136, 65, 136, 136, 537, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, 29, 29]
+ - [136, 136, 136, 136, 336, -1, 336, 136, 136, 136, 136, 136, 136, 136, 136, 136, -1, -1, -1, -1, -1, 325, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29]
+ - [-1, -1, -1, -1, 336, -1, 336, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, 305, -1, -1, 325, -1, -1, 305, -1, 325, 305, -1, -1, 29]
+ - [-1, -1, -1, -1, 336, -1, 336, -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29]
+ - [15, 15, 15, 15, 15, -1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 325, -1, -1, 325, 325, 15, 15, 15, 15, 15, 15, 15]
+
+# Enemies in this room
+enemies:
+ - animation: matatunos.yaml
+ position: {x: 6, y: 5}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 5
+ y1: 5
+ x2: 10
+ y2: 5
+ color: bright_green
+
+ - animation: tuno.yaml
+ position: {x: 21, y: 2}
+ velocity: {x: 0, y: 24.0}
+ boundaries:
+ x1: 21
+ y1: 2
+ x2: 21
+ y2: 13
+ color: red
+
+ - animation: tuno.yaml
+ position: {x: 28, y: 6}
+ velocity: {x: 0, y: -24.0}
+ boundaries:
+ x1: 28
+ y1: 2
+ x2: 28
+ y2: 13
+ color: magenta
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 53
+ position: {x: 30, y: 14}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 53
+ position: {x: 25, y: 1}
+ counter: 2
diff --git a/data/room/15.room b/data/room/15.room
deleted file mode 100644
index cfa53fc..0000000
--- a/data/room/15.room
+++ /dev/null
@@ -1,120 +0,0 @@
-name=NOW THIS IS THE BATCAVE!
-bgColor=black
-border=black
-tileMapFile=15.tmx
-tileSetFile=standard.gif
-roomUp=14.room
-roomDown=06.room
-roomLeft=0
-roomRight=0
-itemColor1=yellow
-itemColor2=red
-
-[enemy]
-animation=batman.ani
-x=17
-y=13
-vx=48.0
-vy=0
-x1=7
-y1=13
-x2=29
-y2=13
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=bat.ani
-x=14
-y=2
-vx=30.0
-vy=0
-x1=9
-y1=2
-x2=30
-y2=2
-color=bright_blue
-[/enemy]
-
-[enemy]
-animation=bat.ani
-x=10
-y=10
-vx=30.0
-vy=0
-x1=1
-y1=10
-x2=30
-y2=10
-color=cyan
-[/enemy]
-
-[enemy]
-animation=bat.ani
-x=15
-y=1
-vx=0
-vy=42.0
-x1=15
-y1=1
-x2=15
-y2=11
-color=red
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=0
-x=5
-y=2
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=0
-x=13
-y=12
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=0
-x=14
-y=12
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=0
-x=15
-y=12
-counter=4
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=0
-x=16
-y=12
-counter=5
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=0
-x=10
-y=4
-counter=6
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=0
-x=17
-y=7
-counter=7
-[/item]
\ No newline at end of file
diff --git a/data/room/15.tmx b/data/room/15.tmx
deleted file mode 100644
index 5f10522..0000000
--- a/data/room/15.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/15.yaml b/data/room/15.yaml
new file mode 100644
index 0000000..f4376d7
--- /dev/null
+++ b/data/room/15.yaml
@@ -0,0 +1,121 @@
+# NOW THIS IS THE BATCAVE!
+room:
+ number: "15"
+ name: "NOW THIS IS THE BATCAVE!"
+ bgColor: black
+ border: black
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "14"
+ down: "06"
+ left: null
+ right: null
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [15, 15, 15, 15, 15, -1, 15, 15, 15, 15, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 301, -1, -1, 301, 301, 15, 15, 15, 15, 15, 15, 15]
+ - [15, 15, 301, -1, -1, -1, -1, 348, 15, 348, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 15, 15]
+ - [15, 301, -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 15]
+ - [15, -1, -1, -1, -1, 348, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 422, 422, 422, 422, 422, -1, -1, -1, -1, -1, -1, 15]
+ - [15, -1, -1, -1, 15, 15, 15, 15, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15]
+ - [15, -1, -1, -1, -1, -1, 301, 15, 15, 15, 15, -1, -1, -1, 422, -1, -1, -1, 422, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15]
+ - [15, -1, -1, -1, -1, -1, -1, 301, 15, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 546, -1, -1, -1, -1, 423, 421, 423, 421, -1, -1, 15]
+ - [15, -1, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 421, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15]
+ - [15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 421, -1, -1, -1, -1, 421, -1, -1, -1, -1, -1, -1, -1, 421, 15]
+ - [15, 421, 546, -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, 15]
+ - [15, -1, -1, 408, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, 522, 421, 15]
+ - [15, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 421, 422, 421, 421, 422, 360, 408, -1, -1, 15]
+ - [15, -1, -1, -1, 421, 408, 421, 422, 421, 421, 422, 408, 421, -1, -1, -1, -1, 422, 423, -1, -1, -1, -1, -1, -1, -1, -1, 288, -1, -1, -1, 15]
+ - [15, -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, 288, -1, -1, -1, 15]
+ - [15, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, 288, -1, -1, 15, 15]
+ - [15, 348, 348, 348, 348, -1, -1, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 15]
+
+# Enemies in this room
+enemies:
+ - animation: batman.yaml
+ position: {x: 17, y: 13}
+ velocity: {x: 48.0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 13
+ x2: 29
+ y2: 13
+ color: white
+ flip: true
+
+ - animation: bat.yaml
+ position: {x: 14, y: 2}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 9
+ y1: 2
+ x2: 30
+ y2: 2
+ color: bright_blue
+
+ - animation: bat.yaml
+ position: {x: 10, y: 10}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 10
+ x2: 30
+ y2: 10
+ color: cyan
+
+ - animation: bat.yaml
+ position: {x: 15, y: 1}
+ velocity: {x: 0, y: 42.0}
+ boundaries:
+ x1: 15
+ y1: 1
+ x2: 15
+ y2: 11
+ color: red
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 0
+ position: {x: 5, y: 2}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 0
+ position: {x: 13, y: 12}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 0
+ position: {x: 14, y: 12}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 0
+ position: {x: 15, y: 12}
+ counter: 4
+
+ - tileSetFile: items.gif
+ tile: 0
+ position: {x: 16, y: 12}
+ counter: 5
+
+ - tileSetFile: items.gif
+ tile: 0
+ position: {x: 10, y: 4}
+ counter: 6
+
+ - tileSetFile: items.gif
+ tile: 0
+ position: {x: 17, y: 7}
+ counter: 7
diff --git a/data/room/16.room b/data/room/16.room
deleted file mode 100644
index fc0ee1b..0000000
--- a/data/room/16.room
+++ /dev/null
@@ -1,75 +0,0 @@
-name=THE FRIDGE
-bgColor=blue
-border=blue
-itemColor1=bright_cyan
-itemColor2=yellow
-tileMapFile=16.tmx
-tileSetFile=standard.gif
-roomUp=44.room
-roomDown=0
-roomLeft=17.room
-roomRight=08.room
-
-[enemy]
-animation=chip.ani
-x=7
-y=3
-vx=1
-vy=0
-x1=2
-y1=3
-x2=13
-y2=3
-color=magenta
-[/enemy]
-
-[enemy]
-animation=chip.ani
-x=30
-y=7
-vx=-48.000000
-vy=0
-x1=10
-y1=7
-x2=30
-y2=7
-color=bright_white
-[/enemy]
-
-[enemy]
-animation=wave.ani
-x=15
-y=12
-vx=30.0
-vy=0
-x1=15
-y1=12
-x2=30
-y2=12
-color=bright_magenta
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=6
-x=2
-y=2
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=6
-x=29
-y=5
-counter=2
-[/item]
-
-
-[item]
-tileSetFile=items.gif
-tile=6
-x=21
-y=12
-counter=3
-[/item]
\ No newline at end of file
diff --git a/data/room/16.tmx b/data/room/16.tmx
deleted file mode 100644
index 2227a5e..0000000
--- a/data/room/16.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/16.yaml b/data/room/16.yaml
new file mode 100644
index 0000000..c079c42
--- /dev/null
+++ b/data/room/16.yaml
@@ -0,0 +1,90 @@
+# THE FRIDGE
+room:
+ number: "16"
+ name: "THE FRIDGE"
+ bgColor: blue
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "44"
+ down: null
+ left: "17"
+ right: "08"
+
+ # Item display colors
+ itemColor1: bright_cyan
+ itemColor2: yellow
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [28, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 416, -1, -1, 416, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 28]
+ - [28, -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, -1, -1, 28]
+ - [28, -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, -1, -1, 28]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 272, 272, 272, 272, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28]
+ - [-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, -1, -1, -1, 28]
+ - [28, 28, 28, 28, -1, 28, 28, 28, 28, 28, -1, 28, 28, 28, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28]
+ - [28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 321, 321, 321, 321, 321, 321, 321, 321, 321, -1, -1, 321, -1, 28]
+ - [28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 321, -1, -1, -1, -1, -1, -1, -1, -1, 28]
+ - [28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 321, -1, -1, -1, -1, -1, -1, -1, -1, 28]
+ - [28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 28, 28, 28, -1, -1, 28, 28, 28, 28, 28, 28, 28, -1, -1, -1, -1, -1, -1, -1, 28]
+ - [28, -1, -1, -1, -1, 272, 272, 272, 272, 272, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28]
+ - [28, -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, -1, -1, 28]
+ - [28, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28]
+ - [-1, -1, -1, -1, -1, -1, 344, -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, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 552, -1, -1, -1, -1, -1, -1, 552, -1, -1, -1, -1, -1, -1]
+ - [28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28]
+
+# Enemies in this room
+enemies:
+ - animation: chip.yaml
+ position: {x: 7, y: 3}
+ velocity: {x: 60.0, y: 0}
+ boundaries:
+ x1: 2
+ y1: 3
+ x2: 13
+ y2: 3
+ color: magenta
+
+ - animation: chip.yaml
+ position: {x: 30, y: 7}
+ velocity: {x: -48.0, y: 0}
+ boundaries:
+ x1: 10
+ y1: 7
+ x2: 30
+ y2: 7
+ color: bright_white
+
+ - animation: wave.yaml
+ position: {x: 15, y: 12}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 15
+ y1: 12
+ x2: 30
+ y2: 12
+ color: bright_magenta
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 6
+ position: {x: 2, y: 2}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 6
+ position: {x: 29, y: 5}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 6
+ position: {x: 21, y: 12}
+ counter: 3
diff --git a/data/room/17.room b/data/room/17.room
deleted file mode 100644
index 4d27ea7..0000000
--- a/data/room/17.room
+++ /dev/null
@@ -1,66 +0,0 @@
-name=I DID NOT COPY THIS ONE
-bgColor=black
-border=magenta
-tileMapFile=17.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=18.room
-roomLeft=49.room
-roomRight=16.room
-itemColor1=yellow
-itemColor2=red
-
-[enemy]
-animation=floppy.ani
-x=5
-y=6
-vx=0
-vy=24.0
-x1=5
-y1=4
-x2=5
-y2=10
-color=green
-[/enemy]
-
-[enemy]
-animation=floppy.ani
-x=12
-y=3
-vx=0
-vy=24.0
-x1=12
-y1=2
-x2=12
-y2=9
-color=cyan
-[/enemy]
-
-[enemy]
-animation=chip.ani
-x=8
-y=13
-vx=24.0
-vy=0
-x1=8
-y1=13
-x2=18
-y2=13
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=21
-x=2
-y=9
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=21
-x=2
-y=5
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/17.tmx b/data/room/17.tmx
deleted file mode 100644
index e9cf6a9..0000000
--- a/data/room/17.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/17.yaml b/data/room/17.yaml
new file mode 100644
index 0000000..8401f72
--- /dev/null
+++ b/data/room/17.yaml
@@ -0,0 +1,85 @@
+# I DID NOT COPY THIS ONE
+room:
+ number: "17"
+ name: "I DID NOT COPY THIS ONE"
+ bgColor: black
+ border: magenta
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: "18"
+ left: "49"
+ right: "16"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87]
+ - [87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87]
+ - [87, 87, -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, 87, 87]
+ - [87, 87, -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, -1, -1]
+ - [87, 87, 410, 410, 410, -1, -1, 410, 410, 410, 410, 410, -1, -1, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, -1, -1, -1, -1, -1, -1]
+ - [87, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, 87, 87, 87, 87, 87]
+ - [87, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, 87, 87, 87]
+ - [87, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, 87, 87]
+ - [87, 87, 410, 410, 410, -1, -1, 410, 410, 410, 410, 410, -1, -1, 410, 410, 410, 410, 410, 410, 410, 410, 410, 522, -1, -1, -1, -1, -1, -1, 87, 87]
+ - [87, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, 87, 87]
+ - [87, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, 87, 87]
+ - [87, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 87]
+ - [87, 87, 410, 410, 410, -1, -1, 410, 410, 410, 410, 410, -1, -1, 410, 410, 410, 410, 410, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 87]
+ - [-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, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, -1, -1, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362]
+
+# Enemies in this room
+enemies:
+ - animation: floppy.yaml
+ position: {x: 5, y: 6}
+ velocity: {x: 0, y: 24.0}
+ boundaries:
+ x1: 5
+ y1: 4
+ x2: 5
+ y2: 10
+ color: green
+
+ - animation: floppy.yaml
+ position: {x: 12, y: 3}
+ velocity: {x: 0, y: 24.0}
+ boundaries:
+ x1: 12
+ y1: 2
+ x2: 12
+ y2: 9
+ color: cyan
+
+ - animation: chip.yaml
+ position: {x: 8, y: 13}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 8
+ y1: 13
+ x2: 18
+ y2: 13
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 21
+ position: {x: 2, y: 9}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 21
+ position: {x: 2, y: 5}
+ counter: 2
diff --git a/data/room/18.room b/data/room/18.room
deleted file mode 100644
index ab707ab..0000000
--- a/data/room/18.room
+++ /dev/null
@@ -1,190 +0,0 @@
-name=MAKE MONEY
-bgColor=black
-border=yellow
-tileMapFile=18.tmx
-tileSetFile=standard.gif
-roomUp=17.room
-roomDown=54.room
-roomLeft=19.room
-roomRight=0
-itemColor1=bright_green
-itemColor2=bright_yellow
-autoSurface=left
-
-[enemy]
-animation=code.ani
-x=19
-y=6
-vx=24.0
-vy=0
-x1=18
-y1=6
-x2=29
-y2=6
-color=magenta
-[/enemy]
-
-[enemy]
-animation=spider.ani
-x=14
-y=10
-vx=36.0
-vy=0
-x1=14
-y1=10
-x2=28
-y2=10
-color=yellow
-[/enemy]
-
-[enemy]
-animation=spider.ani
-x=23
-y=12
-vx=36.0
-vy=0
-x1=23
-y1=12
-x2=28
-y2=12
-color=magenta
-mirror=true
-[/enemy]
-
-[enemy]
-animation=lamp.ani
-x=19
-y=1
-vx=0
-vy=0
-x1=19
-y1=1
-x2=19
-y2=1
-color=yellow
-[/enemy]
-
-[enemy]
-animation=lamp.ani
-x=26
-y=1
-vx=0
-vy=0
-x1=26
-y1=1
-x2=26
-y2=1
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=19
-y=3
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=19
-y=3
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=20
-y=3
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=21
-y=3
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=22
-y=3
-counter=4
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=23
-y=3
-counter=5
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=24
-y=3
-counter=6
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=25
-y=3
-counter=7
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=26
-y=3
-counter=8
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=27
-y=3
-counter=9
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=28
-y=3
-counter=10
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=29
-y=3
-counter=11
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=30
-y=3
-counter=12
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=14
-x=29
-y=12
-counter=13
-[/item]
\ No newline at end of file
diff --git a/data/room/18.tmx b/data/room/18.tmx
deleted file mode 100644
index 0a5892d..0000000
--- a/data/room/18.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/18.yaml b/data/room/18.yaml
new file mode 100644
index 0000000..8d969b2
--- /dev/null
+++ b/data/room/18.yaml
@@ -0,0 +1,166 @@
+# MAKE MONEY
+room:
+ number: "18"
+ name: "MAKE MONEY"
+ bgColor: black
+ border: yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "17"
+ down: "54"
+ left: "19"
+ right: null
+
+ # Item display colors
+ itemColor1: bright_green
+ itemColor2: bright_yellow
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: -1
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [4, 4, 4, 4, 4, 4, 4, 4, -1, -1, -1, -1, -1, -1, 505, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]
+ - [4, 4, 4, 4, 4, 4, 4, -1, -1, -1, -1, -1, -1, 505, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 4]
+ - [4, 4, 4, 4, 4, 4, 4, -1, -1, -1, -1, -1, 505, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4]
+ - [4, 4, 4, 4, 4, 4, 4, -1, -1, -1, -1, 505, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4]
+ - [4, 4, 4, 4, 4, 4, 4, -1, -1, -1, 505, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4]
+ - [4, 4, 4, 4, 172, -1, 133, -1, -1, 505, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4]
+ - [556, 556, 556, 556, 556, 556, 133, -1, 414, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4]
+ - [4, 4, 4, 4, 4, 4, 4, 414, 414, 414, 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4]
+ - [4, 4, 4, 4, 4, 4, -1, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 4]
+ - [4, 4, 4, 4, 4, -1, -1, -1, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 516, 366, 4]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 366, 366, 366, 366, 428, 428, -1, 428, 428, 366, 366, 366, 366, 366, 366, 366, 366, 4]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 342, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 4]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 342, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 4]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 342, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, 4, 4]
+ - [61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, -1, -1, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61]
+
+# Enemies in this room
+enemies:
+ - animation: code.yaml
+ position: {x: 19, y: 6}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 18
+ y1: 6
+ x2: 29
+ y2: 6
+ color: magenta
+
+ - animation: spider.yaml
+ position: {x: 14, y: 10}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 14
+ y1: 10
+ x2: 28
+ y2: 10
+ color: yellow
+
+ - animation: spider.yaml
+ position: {x: 23, y: 12}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 23
+ y1: 12
+ x2: 28
+ y2: 12
+ color: magenta
+ mirror: true
+
+ - animation: lamp.yaml
+ position: {x: 19, y: 1}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 19
+ y1: 1
+ x2: 19
+ y2: 1
+ color: yellow
+
+ - animation: lamp.yaml
+ position: {x: 26, y: 1}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 26
+ y1: 1
+ x2: 26
+ y2: 1
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 19, y: 3}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 19, y: 3}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 20, y: 3}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 21, y: 3}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 22, y: 3}
+ counter: 4
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 23, y: 3}
+ counter: 5
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 24, y: 3}
+ counter: 6
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 25, y: 3}
+ counter: 7
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 26, y: 3}
+ counter: 8
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 27, y: 3}
+ counter: 9
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 28, y: 3}
+ counter: 10
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 29, y: 3}
+ counter: 11
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 30, y: 3}
+ counter: 12
+
+ - tileSetFile: items.gif
+ tile: 14
+ position: {x: 29, y: 12}
+ counter: 13
diff --git a/data/room/19.room b/data/room/19.room
deleted file mode 100644
index 8d474bc..0000000
--- a/data/room/19.room
+++ /dev/null
@@ -1,87 +0,0 @@
-name=THIS CAN'T BE THE BATCAVE
-bgColor=black
-border=cyan
-tileMapFile=19.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=20.room
-roomRight=18.room
-itemColor1=cyan
-itemColor2=blue
-
-[enemy]
-animation=batman.ani
-x=10
-y=13
-vx=48.0
-vy=0
-x1=5
-y1=13
-x2=26
-y2=13
-color=bright_cyan
-flip=true
-[/enemy]
-
-[enemy]
-animation=spider.ani
-x=0
-y=1
-vx=36.0
-vy=0
-x1=1
-y1=1
-x2=31
-y2=1
-color=cyan
-mirror=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=34
-x=14
-y=6
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=34
-x=15
-y=6
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=34
-x=16
-y=6
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=34
-x=17
-y=6
-counter=4
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=34
-x=5
-y=12
-counter=5
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=34
-x=26
-y=12
-counter=6
-[/item]
\ No newline at end of file
diff --git a/data/room/19.tmx b/data/room/19.tmx
deleted file mode 100644
index cfd8b4c..0000000
--- a/data/room/19.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/19.yaml b/data/room/19.yaml
new file mode 100644
index 0000000..6cfe111
--- /dev/null
+++ b/data/room/19.yaml
@@ -0,0 +1,97 @@
+# THIS CAN'T BE THE BATCAVE
+room:
+ number: "19"
+ name: "THIS CAN'T BE THE BATCAVE"
+ bgColor: black
+ border: cyan
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "20"
+ right: "18"
+
+ # Item display colors
+ itemColor1: cyan
+ itemColor2: blue
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348]
+ - [-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, -1, -1, -1, 187]
+ - [-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, -1, -1, -1, 187]
+ - [-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, -1, -1, -1, 187]
+ - [-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, -1, -1, -1, 187]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 37, 37, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 187]
+ - [-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, -1, -1, -1, 187]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 240, 240, -1, -1, -1, -1, -1, -1, 240, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 187]
+ - [-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, -1, -1, -1, 187]
+ - [-1, -1, -1, -1, -1, -1, 37, 37, 240, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 240, 240, 37, 37, -1, -1, -1, -1, -1, 187]
+ - [-1, -1, -1, -1, -1, 37, 37, -1, -1, -1, -1, 240, 240, -1, -1, -1, -1, -1, -1, 240, 240, -1, -1, -1, -1, 37, 37, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, 37, 37, -1, -1, -1, -1, -1, -1, -1, -1, 240, 240, 240, 240, -1, -1, -1, -1, -1, -1, -1, -1, 37, 37, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, 240, 240, -1, -1, -1, -1, -1, -1, 240, 240, -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, -1]
+ - [-1, -1, -1, 240, 37, -1, -1, -1, 240, 240, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 240, 240, -1, -1, -1, 37, 240, -1, -1, -1]
+ - [-1, -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, -1]
+ - [37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37]
+
+# Enemies in this room
+enemies:
+ - animation: batman.yaml
+ position: {x: 10, y: 13}
+ velocity: {x: 48.0, y: 0}
+ boundaries:
+ x1: 5
+ y1: 13
+ x2: 26
+ y2: 13
+ color: bright_cyan
+ flip: true
+
+ - animation: spider.yaml
+ position: {x: 0, y: 1}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 1
+ x2: 31
+ y2: 1
+ color: cyan
+ mirror: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 34
+ position: {x: 14, y: 6}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 34
+ position: {x: 15, y: 6}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 34
+ position: {x: 16, y: 6}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 34
+ position: {x: 17, y: 6}
+ counter: 4
+
+ - tileSetFile: items.gif
+ tile: 34
+ position: {x: 5, y: 12}
+ counter: 5
+
+ - tileSetFile: items.gif
+ tile: 34
+ position: {x: 26, y: 12}
+ counter: 6
diff --git a/data/room/20.room b/data/room/20.room
deleted file mode 100644
index f64ad1c..0000000
--- a/data/room/20.room
+++ /dev/null
@@ -1,53 +0,0 @@
-name=ENTRANCE TO THE VALLEY
-bgColor=black
-border=red
-tileMapFile=20.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=21.room
-roomRight=19.room
-itemColor1=magenta
-itemColor2=green
-
-[enemy]
-animation=bin.ani
-x=8
-y=12
-vx=1
-vy=0
-x1=8
-y1=12
-x2=24
-y2=12
-color=green
-[/enemy]
-
-[enemy]
-animation=code.ani
-x=13
-y=2
-vx=0
-vy=30.0
-x1=13
-y1=2
-x2=13
-y2=9
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=19
-x=7
-y=3
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=19
-x=27
-y=8
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/20.tmx b/data/room/20.tmx
deleted file mode 100644
index 379f171..0000000
--- a/data/room/20.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/20.yaml b/data/room/20.yaml
new file mode 100644
index 0000000..af0bab5
--- /dev/null
+++ b/data/room/20.yaml
@@ -0,0 +1,75 @@
+# ENTRANCE TO THE VALLEY
+room:
+ number: "20"
+ name: "ENTRANCE TO THE VALLEY"
+ bgColor: black
+ border: red
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "21"
+ right: "19"
+
+ # Item display colors
+ itemColor1: magenta
+ itemColor2: green
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [20, 20, 20, 20, 20, 20, -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]
+ - [20, 20, 20, 306, -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]
+ - [20, 306, -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, -1, -1]
+ - [20, -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, -1, -1, -1]
+ - [20, -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, -1, -1, -1]
+ - [20, -1, -1, -1, -1, -1, -1, 412, 412, 412, 412, 412, -1, -1, -1, -1, 412, 412, 412, 412, 412, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, -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, -1, -1, -1]
+ - [20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 412, -1, -1, -1, -1, -1, -1, -1]
+ - [20, -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, -1, -1, -1]
+ - [20, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 412, 412, 412, 412, 412, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, 20, 20, -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, -1]
+ - [20, 20, 20, -1, -1, -1, -1, -1, -1, -1, 412, 412, 412, 412, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 412, 412, 412, -1, -1, -1]
+ - [306, 306, -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, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 412, 412, 412, 412, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1]
+ - [20, 20, 20, 20, 20, 20, 20, 20, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155]
+
+# Enemies in this room
+enemies:
+ - animation: bin.yaml
+ position: {x: 8, y: 12}
+ velocity: {x: 60.0, y: 0}
+ boundaries:
+ x1: 8
+ y1: 12
+ x2: 24
+ y2: 12
+ color: green
+
+ - animation: code.yaml
+ position: {x: 13, y: 2}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 13
+ y1: 2
+ x2: 13
+ y2: 9
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 19
+ position: {x: 7, y: 3}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 19
+ position: {x: 27, y: 8}
+ counter: 2
diff --git a/data/room/21.room b/data/room/21.room
deleted file mode 100644
index 81a2d9f..0000000
--- a/data/room/21.room
+++ /dev/null
@@ -1,63 +0,0 @@
-name=ENTER PAKU SIMBEL
-bgColor=bright_black
-border=yellow
-tileMapFile=21.tmx
-tileSetFile=standard.gif
-roomUp=23.room
-roomDown=0
-roomLeft=22.room
-roomRight=20.room
-itemColor1=magenta
-itemColor2=yellow
-
-[enemy]
-animation=mummy.ani
-x=13
-y=13
-vx=18.0
-vy=0
-x1=9
-y1=13
-x2=18
-y2=13
-color=yellow
-flip=true
-[/enemy]
-
-[enemy]
-animation=spider.ani
-x=13
-y=9
-vx=36.0
-vy=0
-x1=4
-y1=9
-x2=21
-y2=9
-color=bright_green
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=36
-x=8
-y=11
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=36
-x=19
-y=11
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=36
-x=5
-y=3
-counter=3
-[/item]
\ No newline at end of file
diff --git a/data/room/21.tmx b/data/room/21.tmx
deleted file mode 100644
index 3422412..0000000
--- a/data/room/21.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/21.yaml b/data/room/21.yaml
new file mode 100644
index 0000000..a14bff2
--- /dev/null
+++ b/data/room/21.yaml
@@ -0,0 +1,82 @@
+# ENTER PAKU SIMBEL
+room:
+ number: "21"
+ name: "ENTER PAKU SIMBEL"
+ bgColor: bright_black
+ border: yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "23"
+ down: null
+ left: "22"
+ right: "20"
+
+ # Item display colors
+ itemColor1: magenta
+ itemColor2: yellow
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 529, -1, -1, -1, -1, 20, 20, 20, 20, 20]
+ - [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, -1, -1, 529, -1, -1, -1, -1, -1, 306, 20, 20]
+ - [20, 20, 20, 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, 20]
+ - [20, 20, 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, 20]
+ - [20, -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, 529, -1, -1, -1, -1, 20]
+ - [-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, 529, -1, 518, 20, 20]
+ - [-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, 518, 20, 20, 20, 20]
+ - [-1, -1, -1, -1, -1, 399, -1, -1, -1, 396, 396, 396, 396, 397, 399, 399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, 298, 20, 22, 23, 20]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 399, -1, -1, -1, -1, -1, -1, 518, 298, 298, 20, 46, 47, 20]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, 298, 298, 298, 20, 20, 20, 20]
+ - [418, 396, -1, 418, 398, 398, 418, 418, -1, 396, 396, 396, 418, 418, 418, 398, 418, 396, 418, -1, 418, 398, 418, 418, 418, 396, 418, 418, 418, 418, 418, 20]
+ - [-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, -1, -1, -1, 20]
+ - [-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, -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, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
+
+# Enemies in this room
+enemies:
+ - animation: mummy.yaml
+ position: {x: 13, y: 13}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 9
+ y1: 13
+ x2: 18
+ y2: 13
+ color: yellow
+ flip: true
+
+ - animation: spider.yaml
+ position: {x: 13, y: 9}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 4
+ y1: 9
+ x2: 21
+ y2: 9
+ color: bright_green
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 36
+ position: {x: 8, y: 11}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 36
+ position: {x: 19, y: 11}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 36
+ position: {x: 5, y: 3}
+ counter: 3
diff --git a/data/room/22.room b/data/room/22.room
deleted file mode 100644
index d550afa..0000000
--- a/data/room/22.room
+++ /dev/null
@@ -1,67 +0,0 @@
-name=AEE REMAKE, PLEASE
-bgColor=bright_black
-border=yellow
-tileMapFile=22.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=0
-roomRight=21.room
-
-[enemy]
-animation=mummy.ani
-x=15
-y=13
-vx=18.0
-vy=0
-x1=12
-y1=13
-x2=21
-y2=13
-color=yellow
-flip=true
-[/enemy]
-
-[enemy]
-animation=mummy.ani
-x=13
-y=8
-vx=18.0
-vy=0
-x1=13
-y1=8
-x2=19
-y2=8
-color=bright_yellow
-flip=true
-[/enemy]
-
-[enemy]
-animation=mummy.ani
-x=22
-y=8
-vx=24.0
-vy=0
-x1=22
-y1=8
-x2=28
-y2=8
-color=bright_yellow
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=37
-x=1
-y=2
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=37
-x=19
-y=5
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/22.tmx b/data/room/22.tmx
deleted file mode 100644
index 18be45a..0000000
--- a/data/room/22.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/22.yaml b/data/room/22.yaml
new file mode 100644
index 0000000..2d4a7f3
--- /dev/null
+++ b/data/room/22.yaml
@@ -0,0 +1,88 @@
+# AEE REMAKE, PLEASE
+room:
+ number: "22"
+ name: "AEE REMAKE, PLEASE"
+ bgColor: bright_black
+ border: yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: null
+ right: "21"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 22, 23, 20]
+ - [20, 20, 20, 20, 22, 23, 20, 22, 23, 20, 22, 23, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 46, 47, 20]
+ - [20, -1, -1, 20, 46, 47, 20, 46, 47, 20, 46, 47, 20, 20, 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, 306, 20, 20, 20, 20, 20, 20, 20]
+ - [20, -1, -1, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 306, 20, 20]
+ - [20, -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, -1, -1, 20]
+ - [20, 399, -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, -1, -1]
+ - [20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 399, 399, 399, 399, 399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, 399, 399, -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, -1]
+ - [20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, -1, -1, 398, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, -1, -1, -1, 398, -1, -1, 505, 418, 396, 396, 396, 418, 418, 397, 418, 418, 418, 418, 418, -1, 396, 396, 396, 418, 397, 396, 396, 418, -1, 418, 418]
+ - [20, -1, -1, -1, -1, -1, 505, -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]
+ - [20, -1, -1, -1, -1, 505, -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]
+ - [20, -1, -1, -1, 505, -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]
+ - [20, -1, -1, 505, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
+
+# Enemies in this room
+enemies:
+ - animation: mummy.yaml
+ position: {x: 15, y: 13}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 12
+ y1: 13
+ x2: 21
+ y2: 13
+ color: yellow
+ flip: true
+
+ - animation: mummy.yaml
+ position: {x: 13, y: 8}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 13
+ y1: 8
+ x2: 19
+ y2: 8
+ color: bright_yellow
+ flip: true
+
+ - animation: mummy.yaml
+ position: {x: 22, y: 8}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 22
+ y1: 8
+ x2: 28
+ y2: 8
+ color: bright_yellow
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 37
+ position: {x: 1, y: 2}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 37
+ position: {x: 19, y: 5}
+ counter: 2
diff --git a/data/room/23.room b/data/room/23.room
deleted file mode 100644
index e6c6078..0000000
--- a/data/room/23.room
+++ /dev/null
@@ -1,64 +0,0 @@
-name=INNER CHAMBER
-bgColor=black
-border=bright_yellow
-tileMapFile=23.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=21.room
-roomLeft=24.room
-roomRight=0
-
-[enemy]
-animation=shock.ani
-x=7
-y=7
-vx=0
-vy=48.0
-x1=7
-y1=3
-x2=7
-y2=14
-color=magenta
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=20
-y=10
-vx=0
-vy=48.0
-x1=20
-y1=3
-x2=20
-y2=14
-color=magenta
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=27
-y=10
-vx=0
-vy=-48.000000
-x1=27
-y1=3
-x2=27
-y2=14
-color=magenta
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=38
-x=29
-y=5
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=38
-x=2
-y=4
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/23.tmx b/data/room/23.tmx
deleted file mode 100644
index e140bee..0000000
--- a/data/room/23.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/23.yaml b/data/room/23.yaml
new file mode 100644
index 0000000..6302b6d
--- /dev/null
+++ b/data/room/23.yaml
@@ -0,0 +1,85 @@
+# INNER CHAMBER
+room:
+ number: "23"
+ name: "INNER CHAMBER"
+ bgColor: black
+ border: bright_yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: "21"
+ left: "24"
+ right: null
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [20, 20, 20, 20, 20, 22, 23, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
+ - [20, 20, 20, 20, 20, 46, 47, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
+ - [20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
+ - [20, 20, 20, -1, -1, -1, -1, 306, -1, 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 306, 20, 20, 20]
+ - [20, 20, -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, 306, 20, 20]
+ - [20, 20, -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, 20, 20]
+ - [20, 20, 399, -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, 20, 20]
+ - [20, 20, -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, 20, 20]
+ - [20, 20, -1, -1, 399, 399, 399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 399, 399, 399, -1, -1, -1, -1, -1, 399, 20, 20]
+ - [20, 20, -1, 399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 399, 399, -1, -1, -1, 20, 20]
+ - [20, 20, -1, -1, -1, -1, -1, -1, 399, 399, 399, -1, -1, -1, -1, -1, -1, 399, 399, 399, -1, -1, -1, -1, -1, -1, -1, -1, 20, 20, 20, 20]
+ - [20, 20, -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, 20, 22, 23, 20]
+ - [20, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, 20, 20, 20, 20, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 46, 47, 20]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, 20, 20, 22, 23, 20, 20, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 22, 23, 20]
+ - [-1, -1, -1, -1, -1, 555, -1, -1, -1, 518, 20, 20, 20, 46, 47, 20, 20, 20, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 46, 47, 20]
+ - [21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, -1, -1, 21, 21, 21, 21, 21]
+
+# Enemies in this room
+enemies:
+ - animation: shock.yaml
+ position: {x: 7, y: 7}
+ velocity: {x: 0, y: 48.0}
+ boundaries:
+ x1: 7
+ y1: 3
+ x2: 7
+ y2: 14
+ color: magenta
+
+ - animation: shock.yaml
+ position: {x: 20, y: 10}
+ velocity: {x: 0, y: 48.0}
+ boundaries:
+ x1: 20
+ y1: 3
+ x2: 20
+ y2: 14
+ color: magenta
+
+ - animation: shock.yaml
+ position: {x: 27, y: 10}
+ velocity: {x: 0, y: -48.0}
+ boundaries:
+ x1: 27
+ y1: 3
+ x2: 27
+ y2: 14
+ color: magenta
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 38
+ position: {x: 29, y: 5}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 38
+ position: {x: 2, y: 4}
+ counter: 2
diff --git a/data/room/24.room b/data/room/24.room
deleted file mode 100644
index 24e6b0c..0000000
--- a/data/room/24.room
+++ /dev/null
@@ -1,80 +0,0 @@
-name=PLAY IT AGAIN, SAM
-bgColor=black
-border=bright_yellow
-tileMapFile=24.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=0
-roomRight=23.room
-
-[enemy]
-animation=sam.ani
-x=4
-y=2
-vx=0
-vy=0
-x1=4
-y1=2
-x2=4
-y2=2
-color=white
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=5
-y=11
-vx=0
-vy=30.0
-x1=5
-y1=11
-x2=5
-y2=14
-color=bright_green
-[/enemy]
-
-[enemy]
-animation=spider.ani
-x=25
-y=1
-vx=0
-vy=30.0
-x1=25
-y1=1
-x2=25
-y2=10
-color=bright_green
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=31
-x=2
-y=6
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=31
-x=2
-y=14
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=31
-x=15
-y=7
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=31
-x=29
-y=5
-counter=4
-[/item]
\ No newline at end of file
diff --git a/data/room/24.tmx b/data/room/24.tmx
deleted file mode 100644
index 4a32158..0000000
--- a/data/room/24.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/24.yaml b/data/room/24.yaml
new file mode 100644
index 0000000..a685e9f
--- /dev/null
+++ b/data/room/24.yaml
@@ -0,0 +1,95 @@
+# PLAY IT AGAIN, SAM
+room:
+ number: "24"
+ name: "PLAY IT AGAIN, SAM"
+ bgColor: black
+ border: bright_yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: null
+ right: "23"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21]
+ - [19, 19, 19, 19, 19, 19, 19, -1, -1, -1, -1, 306, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 306, -1, -1, -1, -1, 20, 20, 20, 20]
+ - [19, 19, 19, -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 306, 20, 20, 20]
+ - [19, 19, 19, -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 20]
+ - [19, 19, 19, 19, 19, 19, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 20]
+ - [19, 19, 306, 306, -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, 20, 20]
+ - [19, 19, -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, 44, 45]
+ - [19, 19, 19, 19, 19, 19, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, 69]
+ - [44, 45, 44, 45, 44, 45, 133, 399, -1, -1, -1, -1, -1, 518, 19, 19, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 399, 399, 20, 20]
+ - [68, 69, 68, 69, 68, 69, 133, -1, 399, -1, -1, -1, 518, 19, 22, 23, 19, 542, -1, -1, -1, -1, -1, 399, 399, -1, 399, 399, -1, -1, 20, 20]
+ - [19, 19, 19, 19, 19, 19, 19, -1, -1, -1, -1, 518, 19, 19, 46, 47, 19, 19, 542, -1, -1, -1, 399, -1, -1, -1, -1, -1, -1, -1, 20, 20]
+ - [19, 19, 19, 306, -1, -1, -1, -1, -1, -1, 518, 19, 19, 44, 45, 22, 23, 19, 19, 542, -1, -1, -1, -1, -1, 399, -1, -1, -1, -1, 20, 20]
+ - [19, 19, 306, -1, -1, -1, -1, -1, -1, 518, 19, 19, 19, 68, 69, 46, 47, 19, 19, 19, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 20]
+ - [19, 19, -1, -1, -1, -1, -1, -1, 518, 19, 19, 19, 22, 23, 22, 23, 22, 23, 19, 19, 19, 542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [19, 19, -1, -1, -1, -1, -1, 518, 19, 19, 19, 19, 46, 47, 46, 47, 46, 47, 19, 19, 19, 19, 542, -1, -1, 555, -1, -1, -1, -1, -1, -1]
+ - [21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21]
+
+# Enemies in this room
+enemies:
+ - animation: sam.yaml
+ position: {x: 4, y: 2}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 4
+ y1: 2
+ x2: 4
+ y2: 2
+ color: white
+
+ - animation: shock.yaml
+ position: {x: 5, y: 11}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 5
+ y1: 11
+ x2: 5
+ y2: 14
+ color: bright_green
+
+ - animation: spider.yaml
+ position: {x: 25, y: 1}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 25
+ y1: 1
+ x2: 25
+ y2: 10
+ color: bright_green
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 31
+ position: {x: 2, y: 6}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 31
+ position: {x: 2, y: 14}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 31
+ position: {x: 15, y: 7}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 31
+ position: {x: 29, y: 5}
+ counter: 4
diff --git a/data/room/25.room b/data/room/25.room
deleted file mode 100644
index 4c5383d..0000000
--- a/data/room/25.room
+++ /dev/null
@@ -1,111 +0,0 @@
-name=THE CHAPPEL
-bgColor=blue
-border=yellow
-tileMapFile=25.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=06.room
-roomRight=26.room
-itemColor1=yellow
-itemColor2=cyan
-
-[enemy]
-# Batman tocando la campana
-animation=batman_bell.ani
-x=28
-y=13
-vx=0
-vy=0
-x1=28
-y1=13
-x2=28
-y2=13
-color=cyan
-[/enemy]
-
-[enemy]
-# Campana de Batman
-animation=bell.ani
-x=28
-y=10
-vx=0
-vy=0
-x1=28
-y1=10
-x2=28
-y2=10
-color=cyan
-[/enemy]
-
-[enemy]
-# Campana izquierda
-animation=bell.ani
-x=6
-y=2
-vx=0
-vy=0
-x1=6
-y1=2
-x2=6
-y2=2
-color=cyan
-[/enemy]
-
-[enemy]
-# Dong izquierdo
-animation=dong.ani
-x=6
-y=4
-vx=0
-vy=24.0
-x1=6
-y1=4
-x2=6
-y2=13
-color=cyan
-[/enemy]
-
-[enemy]
-# Campana derecha
-animation=bell.ani
-x=20
-y=2
-vx=0
-vy=0
-x1=20
-y1=2
-x2=20
-y2=2
-color=cyan
-[/enemy]
-
-[enemy]
-# Dong derecha
-animation=dong.ani
-x=20
-y=13
-vx=0
-vy=-30.000000
-x1=20
-y1=4
-x2=20
-y2=13
-color=cyan
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=48
-x=1
-y=2
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=48
-x=26
-y=13
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/25.tmx b/data/room/25.tmx
deleted file mode 100644
index ea77628..0000000
--- a/data/room/25.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/25.yaml b/data/room/25.yaml
new file mode 100644
index 0000000..a666c4a
--- /dev/null
+++ b/data/room/25.yaml
@@ -0,0 +1,115 @@
+# THE CHAPPEL
+room:
+ number: "25"
+ name: "THE CHAPPEL"
+ bgColor: blue
+ border: yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "06"
+ right: "26"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: cyan
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67]
+ - [90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91]
+ - [92, -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, -1, -1, 92]
+ - [116, -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, -1, -1, 116]
+ - [116, -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, -1, -1, 116]
+ - [116, 397, -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, -1, 140]
+ - [116, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, 92, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31]
+ - [116, 403, 404, -1, -1, -1, -1, -1, -1, -1, -1, -1, 402, 403, 403, 403, 403, 404, 399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [116, -1, -1, -1, -1, -1, -1, -1, -1, -1, 398, 399, -1, -1, -1, 116, -1, -1, -1, 427, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1]
+ - [116, -1, -1, 402, 403, 404, -1, -1, -1, 427, -1, -1, -1, -1, -1, 116, -1, -1, -1, -1, -1, -1, -1, 525, 402, 403, 403, 31, 31, 31, 31, 31]
+ - [116, -1, 427, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, -1, -1, -1, -1, -1, -1, 525, -1, -1, -1, -1, 31, -1, -1, 31, 31]
+ - [140, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, -1, -1, -1, -1, -1, 525, -1, -1, -1, -1, -1, 31, -1, -1, 31, 31]
+ - [31, 403, 403, 404, 398, -1, -1, -1, 396, -1, -1, -1, 402, 403, 403, 403, 403, 404, -1, 402, 404, -1, -1, -1, 402, 403, 403, 31, 31, 31, 31, 31]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, 31, 31]
+ - [-1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, 88, 93, 140, 555, -1, -1, -1, -1, -1, -1, -1, -1, 88, 93, 134, -1, -1, 31, 88]
+ - [88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89]
+
+# Enemies in this room
+enemies:
+ - animation: batman_bell.yaml
+ position: {x: 28, y: 13}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 28
+ y1: 13
+ x2: 28
+ y2: 13
+ color: cyan
+
+ - animation: bell.yaml
+ position: {x: 28, y: 10}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 28
+ y1: 10
+ x2: 28
+ y2: 10
+ color: cyan
+
+ - animation: bell.yaml
+ position: {x: 6, y: 2}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 6
+ y1: 2
+ x2: 6
+ y2: 2
+ color: cyan
+
+ - animation: dong.yaml
+ position: {x: 6, y: 4}
+ velocity: {x: 0, y: 24.0}
+ boundaries:
+ x1: 6
+ y1: 4
+ x2: 6
+ y2: 13
+ color: cyan
+
+ - animation: bell.yaml
+ position: {x: 20, y: 2}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 20
+ y1: 2
+ x2: 20
+ y2: 2
+ color: cyan
+
+ - animation: dong.yaml
+ position: {x: 20, y: 13}
+ velocity: {x: 0, y: -30.0}
+ boundaries:
+ x1: 20
+ y1: 4
+ x2: 20
+ y2: 13
+ color: cyan
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 48
+ position: {x: 1, y: 2}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 48
+ position: {x: 26, y: 13}
+ counter: 2
diff --git a/data/room/26.room b/data/room/26.room
deleted file mode 100644
index 47dc4a2..0000000
--- a/data/room/26.room
+++ /dev/null
@@ -1,161 +0,0 @@
-name=JINGLE BELLS
-bgColor=blue
-border=yellow
-tileMapFile=26.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=25.room
-roomRight=27.room
-itemColor1=magenta
-itemColor2=red
-
-[enemy]
-animation=batman_bell.ani
-x=1
-y=13
-vx=0
-vy=0
-x1=1
-y1=13
-x2=1
-y2=13
-color=cyan
-[/enemy]
-
-[enemy]
-animation=abad_bell.ani
-x=29
-y=13
-vx=0
-vy=0
-x1=29
-y1=13
-x2=29
-y2=13
-color=cyan
-[/enemy]
-
-[enemy]
-# Campana uno
-animation=bell.ani
-x=1
-y=4
-vx=36.0
-vy=0
-x1=1
-y1=4
-x2=29
-y2=4
-color=yellow
-[/enemy]
-
-[enemy]
-# Dong izquierda
-animation=dong.ani
-x=1
-y=2
-vx=0
-vy=0
-x1=1
-y1=2
-x2=1
-y2=2
-color=yellow
-[/enemy]
-
-[enemy]
-# Campana dos
-animation=bell.ani
-x=26
-y=7
-vx=-36.000000
-vy=0
-x1=1
-y1=7
-x2=29
-y2=7
-color=yellow
-[/enemy]
-
-[enemy]
-# Dong derecha
-animation=dong.ani
-x=28
-y=2
-vx=-0
-vy=0
-x1=28
-y1=2
-x2=28
-y2=2
-color=yellow
-[/enemy]
-
-[enemy]
-# Campana tres
-animation=bell.ani
-x=1
-y=10
-vx=36.0
-vy=0
-x1=1
-y1=10
-x2=29
-y2=10
-color=yellow
-[/enemy]
-
-[enemy]
-# Campana cuatro
-animation=bell.ani
-x=26
-y=13
-vx=-36.000000
-vy=0
-x1=4
-y1=13
-x2=26
-y2=13
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=60
-x=26
-y=3
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=60
-x=5
-y=6
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=60
-x=26
-y=9
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=60
-x=4
-y=13
-counter=4
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=60
-x=27
-y=13
-counter=5
-[/item]
\ No newline at end of file
diff --git a/data/room/26.tmx b/data/room/26.tmx
deleted file mode 100644
index 55b2158..0000000
--- a/data/room/26.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/26.yaml b/data/room/26.yaml
new file mode 100644
index 0000000..feff4f2
--- /dev/null
+++ b/data/room/26.yaml
@@ -0,0 +1,150 @@
+# JINGLE BELLS
+room:
+ number: "26"
+ name: "JINGLE BELLS"
+ bgColor: blue
+ border: yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "25"
+ right: "27"
+
+ # Item display colors
+ itemColor1: magenta
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67]
+ - [90, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 226, 225, 91]
+ - [92, -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, -1, -1, 92]
+ - [116, -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, -1, -1, 116]
+ - [116, -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, -1, -1, 116]
+ - [140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, 427, -1, -1, -1, -1, 116]
+ - [31, -1, -1, -1, -1, -1, -1, 402, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 404, -1, -1, -1, -1, -1, -1, 116]
+ - [-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, -1, -1, -1, 116]
+ - [-1, -1, -1, -1, -1, 427, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 140]
+ - [92, -1, -1, -1, -1, -1, -1, 402, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 404, -1, -1, -1, -1, -1, -1, 31]
+ - [116, 549, -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, -1, -1]
+ - [140, -1, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, 427, -1, -1, -1, -1, -1]
+ - [31, 31, 31, 31, -1, -1, -1, 402, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 404, -1, -1, -1, 31, 31, 31, 31]
+ - [92, -1, -1, 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, -1, -1, 92]
+ - [140, -1, -1, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 525, 427, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 140, -1, -1, 140]
+ - [88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89, 88, 89]
+
+# Enemies in this room
+enemies:
+ - animation: batman_bell.yaml
+ position: {x: 1, y: 13}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 13
+ x2: 1
+ y2: 13
+ color: cyan
+
+ - animation: abad_bell.yaml
+ position: {x: 29, y: 13}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 29
+ y1: 13
+ x2: 29
+ y2: 13
+ color: cyan
+
+ - animation: bell.yaml
+ position: {x: 1, y: 4}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 4
+ x2: 29
+ y2: 4
+ color: yellow
+
+ - animation: dong.yaml
+ position: {x: 1, y: 2}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 2
+ x2: 1
+ y2: 2
+ color: yellow
+
+ - animation: bell.yaml
+ position: {x: 26, y: 7}
+ velocity: {x: -36.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 7
+ x2: 29
+ y2: 7
+ color: yellow
+
+ - animation: dong.yaml
+ position: {x: 28, y: 2}
+ velocity: {x: -0, y: 0}
+ boundaries:
+ x1: 28
+ y1: 2
+ x2: 28
+ y2: 2
+ color: yellow
+
+ - animation: bell.yaml
+ position: {x: 1, y: 10}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 10
+ x2: 29
+ y2: 10
+ color: yellow
+
+ - animation: bell.yaml
+ position: {x: 26, y: 13}
+ velocity: {x: -36.0, y: 0}
+ boundaries:
+ x1: 4
+ y1: 13
+ x2: 26
+ y2: 13
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 60
+ position: {x: 26, y: 3}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 60
+ position: {x: 5, y: 6}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 60
+ position: {x: 26, y: 9}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 60
+ position: {x: 4, y: 13}
+ counter: 4
+
+ - tileSetFile: items.gif
+ tile: 60
+ position: {x: 27, y: 13}
+ counter: 5
diff --git a/data/room/27.room b/data/room/27.room
deleted file mode 100644
index fd4c772..0000000
--- a/data/room/27.room
+++ /dev/null
@@ -1,49 +0,0 @@
-name=THE BACKYARD
-bgColor=blue
-border=cyan
-tileMapFile=27.tmx
-tileSetFile=standard.gif
-roomUp=28.room
-roomDown=29.room
-roomLeft=26.room
-roomRight=0
-
-#[enemy]
-#tileSetFile=floppy.gif
-#animation=floppy.ani
-#width=16
-#height=16
-#x=2
-#y=2
-#vx=0
-#vy=0
-#x1=2
-#y1=2
-#x2=2
-#y2=2
-#color=magenta
-#[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=28
-x=1
-y=13
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=32
-x=11
-y=14
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=32
-x=14
-y=14
-counter=3
-[/item]
\ No newline at end of file
diff --git a/data/room/27.tmx b/data/room/27.tmx
deleted file mode 100644
index f7e3c13..0000000
--- a/data/room/27.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/27.yaml b/data/room/27.yaml
new file mode 100644
index 0000000..a3507df
--- /dev/null
+++ b/data/room/27.yaml
@@ -0,0 +1,61 @@
+# THE BACKYARD
+room:
+ number: "27"
+ name: "THE BACKYARD"
+ bgColor: blue
+ border: cyan
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "28"
+ down: "29"
+ left: "26"
+ right: null
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [66, 67, 66, 67, 66, 67, -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, 16]
+ - [90, 91, 90, 91, 90, -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, 16]
+ - [92, -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, -1, -1, 16]
+ - [116, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, 256, -1, -1, -1, -1, -1, 16]
+ - [116, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, -1, -1, -1, -1, -1, 16]
+ - [116, -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, -1, -1, 16]
+ - [116, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 304, 304, -1, 304, -1, -1, -1, -1, -1, 16]
+ - [116, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, 304, 304, 304, 304, -1, 304, 304, -1, -1, -1, 16]
+ - [140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, 304, -1, 304, 304, 304, 304, -1, -1, -1, -1, -1, 16]
+ - [31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, 304, 304, 304, 304, 304, 304, -1, 304, -1, -1, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 304, 304, 304, 304, 304, 304, 304, 304, -1, -1, -1, 16]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, 304, 304, 40, 40, 304, 304, 304, -1, -1, -1, 16]
+ - [31, 425, 426, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, 304, -1, 40, 40, 304, -1, -1, 304, -1, -1, 16]
+ - [92, -1, 425, 426, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 304, -1, -1, 40, 40, -1, -1, 304, -1, -1, -1, 16]
+ - [140, 425, 426, 425, 426, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 40, -1, -1, -1, -1, -1, -1, 16]
+ - [88, 89, 88, 89, 88, 89, 88, 89, 88, 93, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, -1, 522, 16, 16, 16]
+
+# No enemies in this room
+enemies: []
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 28
+ position: {x: 1, y: 13}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 32
+ position: {x: 11, y: 14}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 32
+ position: {x: 14, y: 14}
+ counter: 3
diff --git a/data/room/28.room b/data/room/28.room
deleted file mode 100644
index bc327e8..0000000
--- a/data/room/28.room
+++ /dev/null
@@ -1,32 +0,0 @@
-name=YOU SHALL NOT PASS
-bgColor=bright_black
-border=black
-tileMapFile=28.tmx
-tileSetFile=standard.gif
-roomUp=32.room
-roomDown=27.room
-roomLeft=0
-roomRight=31.room
-itemColor1=bright_magenta
-itemColor2=bright_green
-
-[enemy]
-animation=lord_abad.ani
-x=0
-y=5
-vx=0
-vy=0
-x1=0
-y1=5
-x2=0
-y2=5
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=58
-x=2
-y=11
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/28.tmx b/data/room/28.tmx
deleted file mode 100644
index 15493ff..0000000
--- a/data/room/28.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/28.yaml b/data/room/28.yaml
new file mode 100644
index 0000000..f8ddcf7
--- /dev/null
+++ b/data/room/28.yaml
@@ -0,0 +1,60 @@
+# YOU SHALL NOT PASS
+room:
+ number: "28"
+ name: "YOU SHALL NOT PASS"
+ bgColor: bright_black
+ border: black
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "32"
+ down: "27"
+ left: null
+ right: "31"
+
+ # Item display colors
+ itemColor1: bright_magenta
+ itemColor2: bright_green
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [89, 88, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, 93, 40, 234, 234, -1, -1, 234, 234, 40, 88, 89, 88]
+ - [88, 93, 214, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 213, 214, -1, -1, -1, -1, -1, -1, -1, -1, 213, 88, 89]
+ - [213, 214, -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, 213, 88]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, 234, -1, -1, -1, -1, -1, 213]
+ - [-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, 234, -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, 234, -1, -1, -1, -1, 234, -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, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [88, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [93, 214, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, -1, -1, -1, -1, -1]
+ - [88, 93, -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, -1, -1]
+ - [93, 214, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 414, 414, 414, 414, 414, 414]
+ - [88, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [89, 88, 93, -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, -1]
+ - [88, 89, 88, 93, -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]
+ - [66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 66, 67, 88, 93, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 90, 91, 66, 67, 88, 93, 428, 428, 428, 428, 428, 428, 428, 428, -1, 428, 428, 428, 428, 428, 428, 428]
+
+# Enemies in this room
+enemies:
+ - animation: lord_abad.yaml
+ position: {x: 0, y: 5}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 0
+ y1: 5
+ x2: 0
+ y2: 5
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 58
+ position: {x: 2, y: 11}
+ counter: 1
diff --git a/data/room/29.room b/data/room/29.room
deleted file mode 100644
index 9cc0513..0000000
--- a/data/room/29.room
+++ /dev/null
@@ -1,79 +0,0 @@
-name=QUO VOIDIS
-bgColor=blue
-border=bright_black
-tileMapFile=29.tmx
-tileSetFile=standard.gif
-roomUp=27.room
-roomDown=0
-roomLeft=30.room
-roomRight=0
-itemColor1=green
-itemColor2=magenta
-
-[enemy]
-animation=qvoid.ani
-x=7
-y=1
-vx=0
-vy=48.0
-x1=7
-y1=1
-x2=7
-y2=13
-color=magenta
-[/enemy]
-
-[enemy]
-animation=qvoid.ani
-x=12
-y=6
-vx=0
-vy=36.0
-x1=12
-y1=1
-x2=12
-y2=13
-color=green
-[/enemy]
-
-[enemy]
-animation=qvoid.ani
-x=17
-y=8
-vx=0
-vy=54.0
-x1=17
-y1=1
-x2=17
-y2=13
-color=green
-[/enemy]
-
-[enemy]
-animation=qvoid.ani
-x=22
-y=10
-vx=0
-vy=42.0
-x1=22
-y1=1
-x2=22
-y2=13
-color=magenta
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=20
-x=9
-y=9
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=20
-x=30
-y=6
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/29.tmx b/data/room/29.tmx
deleted file mode 100644
index da5e13f..0000000
--- a/data/room/29.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/29.yaml b/data/room/29.yaml
new file mode 100644
index 0000000..d970a03
--- /dev/null
+++ b/data/room/29.yaml
@@ -0,0 +1,95 @@
+# QUO VOIDIS
+room:
+ number: "29"
+ name: "QUO VOIDIS"
+ bgColor: blue
+ border: bright_black
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "27"
+ down: null
+ left: "30"
+ right: null
+
+ # Item display colors
+ itemColor1: green
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-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, -1, -1, 504, 132]
+ - [-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, -1, 504, -1, 132]
+ - [132, 132, -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, 504, -1, -1, 132]
+ - [132, 132, -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, 504, -1, -1, -1, 132]
+ - [132, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, 132]
+ - [132, 132, -1, -1, 233, 233, 233, -1, -1, 233, 233, 233, -1, -1, 233, 233, 233, -1, -1, 233, 233, 233, -1, -1, 233, 233, -1, -1, 233, -1, -1, 132]
+ - [132, 132, -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, -1, 132]
+ - [132, 132, 233, 233, -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, 233, 230, 132]
+ - [132, 132, 233, 233, -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, 132]
+ - [132, 132, -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, -1, 132]
+ - [132, 132, -1, -1, 233, 233, 233, -1, -1, 229, 233, 233, -1, -1, 233, 233, 233, -1, -1, 233, 233, 233, -1, -1, 233, 233, -1, -1, -1, -1, -1, 132]
+ - [132, 132, -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, 233, 233, 132]
+ - [132, 132, -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, -1, 132]
+ - [-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, 233, 233, -1, -1, -1, -1, 132]
+ - [-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, -1, -1, -1, 132]
+ - [132, 132, 132, 132, 132, 132, 132, 128, 128, 132, 132, 132, 129, 129, 132, 132, 132, 129, 129, 132, 132, 132, 128, 128, 132, 132, 132, 132, 132, 132, 132, 132]
+
+# Enemies in this room
+enemies:
+ - animation: qvoid.yaml
+ position: {x: 7, y: 1}
+ velocity: {x: 0, y: 48.0}
+ boundaries:
+ x1: 7
+ y1: 1
+ x2: 7
+ y2: 13
+ color: magenta
+
+ - animation: qvoid.yaml
+ position: {x: 12, y: 6}
+ velocity: {x: 0, y: 36.0}
+ boundaries:
+ x1: 12
+ y1: 1
+ x2: 12
+ y2: 13
+ color: green
+
+ - animation: qvoid.yaml
+ position: {x: 17, y: 8}
+ velocity: {x: 0, y: 54.0}
+ boundaries:
+ x1: 17
+ y1: 1
+ x2: 17
+ y2: 13
+ color: green
+
+ - animation: qvoid.yaml
+ position: {x: 22, y: 10}
+ velocity: {x: 0, y: 42.0}
+ boundaries:
+ x1: 22
+ y1: 1
+ x2: 22
+ y2: 13
+ color: magenta
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 20
+ position: {x: 9, y: 9}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 20
+ position: {x: 30, y: 6}
+ counter: 2
diff --git a/data/room/30.room b/data/room/30.room
deleted file mode 100644
index 03d8f0d..0000000
--- a/data/room/30.room
+++ /dev/null
@@ -1,59 +0,0 @@
-name=QVOID IS A JAILGAME!
-bgColor=blue
-border=bright_black
-tileMapFile=30.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=0
-roomRight=29.room
-
-[enemy]
-animation=qvoid.ani
-x=1
-y=1
-vx=42.0
-vy=0
-x1=1
-y1=1
-x2=29
-y2=1
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=qvoid.ani
-x=29
-y=1
-vx=-42.000000
-vy=0
-x1=1
-y1=1
-x2=29
-y2=1
-color=red
-flip=true
-[/enemy]
-
-[enemy]
-animation=qvoid.ani
-x=6
-y=7
-vx=-30.000000
-vy=0
-x1=1
-y1=7
-x2=27
-y2=7
-color=green
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=20
-x=1
-y=2
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/30.tmx b/data/room/30.tmx
deleted file mode 100644
index 96fc950..0000000
--- a/data/room/30.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/30.yaml b/data/room/30.yaml
new file mode 100644
index 0000000..a721bda
--- /dev/null
+++ b/data/room/30.yaml
@@ -0,0 +1,83 @@
+# QVOID IS A JAILGAME!
+room:
+ number: "30"
+ name: "QVOID IS A JAILGAME!"
+ bgColor: blue
+ border: bright_black
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: null
+ right: "29"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129]
+ - [131, -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, -1, 131, 127]
+ - [130, -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, -1, -1, 128]
+ - [129, 227, 228, -1, -1, 229, 230, -1, -1, 231, 232, -1, -1, 233, 227, -1, -1, 228, 229, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129]
+ - [128, -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, -1, -1, 130]
+ - [127, -1, -1, 230, 231, -1, -1, 232, 233, -1, -1, 227, 228, -1, -1, 229, 230, -1, -1, -1, 231, 232, -1, -1, -1, -1, -1, -1, -1, -1, -1, 131]
+ - [126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, 227, 230, 547, -1, -1, 132]
+ - [126, -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, 228, 230, 126]
+ - [127, -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, -1, -1, 127]
+ - [127, -1, -1, -1, -1, -1, -1, -1, -1, 231, 232, 227, -1, -1, -1, 484, 484, -1, -1, -1, 229, 230, 231, -1, -1, -1, 484, 484, -1, -1, -1, 128]
+ - [128, -1, -1, -1, 228, 229, 230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 129]
+ - [129, -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, -1, -1, 130]
+ - [130, 231, 232, 547, -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, 131]
+ - [131, -1, -1, -1, 547, -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]
+ - [131, -1, -1, -1, -1, 547, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, -1, 554, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [132, 554, 554, 554, 554, 554, 126, 127, 128, 129, 130, 131, 484, 484, 484, 484, 484, 484, 484, 484, 484, 127, 128, 129, 130, 131, 132, 126, 127, 128, 129, 130]
+
+# Enemies in this room
+enemies:
+ - animation: qvoid.yaml
+ position: {x: 1, y: 1}
+ velocity: {x: 42.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 1
+ x2: 29
+ y2: 1
+ color: white
+ flip: true
+
+ - animation: qvoid.yaml
+ position: {x: 29, y: 1}
+ velocity: {x: -42.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 1
+ x2: 29
+ y2: 1
+ color: red
+ flip: true
+
+ - animation: qvoid.yaml
+ position: {x: 6, y: 7}
+ velocity: {x: -30.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 7
+ x2: 27
+ y2: 7
+ color: green
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 20
+ position: {x: 1, y: 2}
+ counter: 1
diff --git a/data/room/31.room b/data/room/31.room
deleted file mode 100644
index 8890b2a..0000000
--- a/data/room/31.room
+++ /dev/null
@@ -1,80 +0,0 @@
-name=256 COLORS
-bgColor=black
-border=bright_magenta
-tileMapFile=31.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=28.room
-roomRight=0
-autoSurface=left
-itemColor1=bright_red
-itemColor2=bright_cyan
-
-[enemy]
-animation=guitar.ani
-x=13
-y=5
-vx=0
-vy=36.0
-x1=13
-y1=5
-x2=13
-y2=13
-color=magenta
-[/enemy]
-
-[enemy]
-animation=sigmasua.ani
-x=24
-y=2
-vx=0
-vy=36.0
-x1=24
-y1=2
-x2=24
-y2=9
-color=red
-[/enemy]
-
-[enemy]
-animation=paco.ani
-x=6
-y=2
-vx=0
-vy=36.0
-x1=6
-y1=2
-x2=6
-y2=8
-color=yellow
-[/enemy]
-
-[enemy]
-animation=chip.ani
-x=15
-y=9
-vx=36.0
-vy=0
-x1=15
-y1=9
-x2=23
-y2=9
-color=green
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=61
-x=10
-y=3
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=61
-x=29
-y=3
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/31.tmx b/data/room/31.tmx
deleted file mode 100644
index 33489a6..0000000
--- a/data/room/31.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/31.yaml b/data/room/31.yaml
new file mode 100644
index 0000000..f500f9c
--- /dev/null
+++ b/data/room/31.yaml
@@ -0,0 +1,95 @@
+# 256 COLORS
+room:
+ number: "31"
+ name: "256 COLORS"
+ bgColor: black
+ border: bright_magenta
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "28"
+ right: null
+
+ # Item display colors
+ itemColor1: bright_red
+ itemColor2: bright_cyan
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: -1
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [192, 197, 192, 193, 195, 201, 199, 194, 196, 200, 199, 193, 193, 195, 198, 193, 195, 193, 193, 201, 199, 196, 195, 193, 192, 201, 193, 202, 192, 196, 203, 195]
+ - [192, 200, 194, 203, 194, 196, 199, 193, 202, 197, 197, 195, 196, 201, 199, 194, 193, 198, 200, 194, 195, 193, 198, 194, 197, 200, 193, 194, 198, 193, 201, 193]
+ - [193, 199, 195, 195, 200, 197, -1, -1, 196, 198, -1, -1, 193, 197, 193, 192, 202, 203, 194, 193, 194, 192, 193, -1, -1, -1, -1, -1, -1, -1, 193, 199]
+ - [194, 202, 193, 192, 199, 192, -1, -1, 197, 192, -1, -1, 194, 198, 196, 193, 201, 194, -1, -1, -1, 196, 201, -1, -1, -1, -1, -1, -1, -1, 203, 200]
+ - [197, 194, 198, 196, 202, 194, -1, -1, 203, 194, -1, -1, 195, 193, 200, 194, 194, 195, -1, -1, -1, 202, 195, -1, -1, -1, -1, -1, -1, -1, 203, 193]
+ - [193, 196, 194, 197, 192, 195, -1, -1, 194, 193, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 198, 202, -1, -1, -1, -1, -1, -1, -1, 196, 199]
+ - [199, 201, 192, 193, 194, 198, -1, -1, 195, 195, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 192, 193, -1, -1, -1, -1, -1, -1, -1, 192, 194]
+ - [192, 195, 197, 195, 193, 197, -1, -1, 192, 202, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 194, 195, -1, -1, -1, -1, -1, -1, 513, 196, 203]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 394, -1, -1, -1, -1, -1, -1, -1, -1, -1, 203, 192, -1, -1, -1, -1, -1, 512, 192, 193, 195]
+ - [-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, 518, 196, 196, 201, 196]
+ - [198, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 517, 197, 199, 198, 200, 199]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 397, 397, 397, 397, 397, 397, 397, 397, 397, -1, 516, 195, 202, 200, 193, 196, 194]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, 199, 193, 192, 194, 196, 198, 197]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 514, 201, 195, 193, 198, 194, 203, 201, 196]
+ - [-1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, 559, -1, -1, -1, 555, -1, -1, -1, -1, 559, -1, 513, 195, 203, 197, 200, 195, 197, 193, 194, 197]
+ - [192, 193, 194, 198, 197, 195, 203, 199, 197, 202, 198, 197, 194, 201, 201, 199, 200, 197, 199, 198, 192, 196, 194, 196, 198, 194, 195, 196, 193, 199, 194, 192]
+
+# Enemies in this room
+enemies:
+ - animation: guitar.yaml
+ position: {x: 13, y: 5}
+ velocity: {x: 0, y: 36.0}
+ boundaries:
+ x1: 13
+ y1: 5
+ x2: 13
+ y2: 13
+ color: magenta
+
+ - animation: sigmasua.yaml
+ position: {x: 24, y: 2}
+ velocity: {x: 0, y: 36.0}
+ boundaries:
+ x1: 24
+ y1: 2
+ x2: 24
+ y2: 9
+ color: red
+
+ - animation: paco.yaml
+ position: {x: 6, y: 2}
+ velocity: {x: 0, y: 36.0}
+ boundaries:
+ x1: 6
+ y1: 2
+ x2: 6
+ y2: 8
+ color: yellow
+
+ - animation: chip.yaml
+ position: {x: 15, y: 9}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 15
+ y1: 9
+ x2: 23
+ y2: 9
+ color: green
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 61
+ position: {x: 10, y: 3}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 61
+ position: {x: 29, y: 3}
+ counter: 2
diff --git a/data/room/32.room b/data/room/32.room
deleted file mode 100644
index 3d6ce81..0000000
--- a/data/room/32.room
+++ /dev/null
@@ -1,36 +0,0 @@
-name=...?
-bgColor=black
-border=cyan
-tileMapFile=32.tmx
-tileSetFile=standard.gif
-roomUp=34.room
-roomDown=28.room
-roomLeft=0
-roomRight=33.room
-
-[enemy]
-animation=tree_thing.ani
-x=23
-y=4
-vx=0
-vy=24.0
-x1=23
-y1=4
-x2=23
-y2=13
-color=yellow
-[/enemy]
-
-[enemy]
-animation=shooting_star.ani
-x=10
-y=2
-vx=0
-vy=0
-x1=10
-y1=2
-x2=10
-y2=2
-color=white
-frame=0
-[/enemy]
\ No newline at end of file
diff --git a/data/room/32.tmx b/data/room/32.tmx
deleted file mode 100644
index 64f2446..0000000
--- a/data/room/32.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/32.yaml b/data/room/32.yaml
new file mode 100644
index 0000000..92c2f8e
--- /dev/null
+++ b/data/room/32.yaml
@@ -0,0 +1,67 @@
+# ...?
+room:
+ number: "32"
+ name: "...?"
+ bgColor: black
+ border: cyan
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "34"
+ down: "28"
+ left: null
+ right: "33"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, 234, 234, -1, -1, 234, 234, 40, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, 142, -1, 234, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, 142, -1, 234, 234, 234, 234, -1, 40, 234, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, 234, -1, 142, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, 234, 40, -1, 141, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, 234, 234, -1, 40, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, 142, 234, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, 40, 234, -1, -1, -1, -1, -1, 142, -1, 234, -1]
+ - [-1, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, 234, 234, 40, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, 142, -1, -1, -1, -1, -1, -1, 142, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, -1, 142, -1, -1, -1, 234, 234, -1, 40, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, 355, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 142, 234, -1, -1, -1, -1, -1, 355, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 380, -1, 40, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 234, 234, 234, 40, 234, 234, -1, -1, 234, 234, 40, 234, 187, 187]
+
+# Enemies in this room
+enemies:
+ - animation: tree_thing.yaml
+ position: {x: 23, y: 4}
+ velocity: {x: 0, y: 24.0}
+ boundaries:
+ x1: 23
+ y1: 4
+ x2: 23
+ y2: 13
+ color: yellow
+
+ - animation: shooting_star.yaml
+ position: {x: 10, y: 2}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 10
+ y1: 2
+ x2: 10
+ y2: 2
+ color: white
+ frame: 0
+
+# No items in this room
+items: []
\ No newline at end of file
diff --git a/data/room/33.room b/data/room/33.room
deleted file mode 100644
index 1bce7de..0000000
--- a/data/room/33.room
+++ /dev/null
@@ -1,82 +0,0 @@
-name=} WE ALL LOVE JAILGAMES }
-bgColor=black
-border=bright_black
-tileMapFile=33.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=32.room
-roomRight=0
-itemColor1=bright_red
-itemColor2=bright_yellow
-
-[enemy]
-animation=pepe_rosita_job.ani
-x=2
-y=2
-vx=0
-vy=3.0
-x1=2
-y1=2
-x2=2
-y2=3
-color=white
-[/enemy]
-
-[enemy]
-animation=aerojailer.ani
-x=14
-y=5
-vx=0
-vy=-2.400000
-x1=14
-y1=4
-x2=14
-y2=6
-color=white
-[/enemy]
-
-[enemy]
-animation=arounder.ani
-x=22
-y=5
-vx=0
-vy=1.8
-x1=22
-y1=5
-x2=22
-y2=6
-color=white
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=62
-x=13
-y=14
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=63
-x=14
-y=14
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=64
-x=15
-y=14
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=65
-x=16
-y=14
-counter=4
-[/item]
\ No newline at end of file
diff --git a/data/room/33.tmx b/data/room/33.tmx
deleted file mode 100644
index d5dc33e..0000000
--- a/data/room/33.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/33.yaml b/data/room/33.yaml
new file mode 100644
index 0000000..59577d0
--- /dev/null
+++ b/data/room/33.yaml
@@ -0,0 +1,95 @@
+# } WE ALL LOVE JAILGAMES }
+room:
+ number: "33"
+ name: "} WE ALL LOVE JAILGAMES }"
+ bgColor: black
+ border: bright_black
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "32"
+ right: null
+
+ # Item display colors
+ itemColor1: bright_red
+ itemColor2: bright_yellow
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, -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, 70, -1, -1, -1, 94, 95, -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, -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, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -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, -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, -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, -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, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, 141, -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]
+ - [-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, -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, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 164, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562]
+
+# Enemies in this room
+enemies:
+ - animation: pepe_rosita_job.yaml
+ position: {x: 2, y: 2}
+ velocity: {x: 0, y: 3.0}
+ boundaries:
+ x1: 2
+ y1: 2
+ x2: 2
+ y2: 3
+ color: white
+
+ - animation: aerojailer.yaml
+ position: {x: 14, y: 5}
+ velocity: {x: 0, y: -2.4}
+ boundaries:
+ x1: 14
+ y1: 4
+ x2: 14
+ y2: 6
+ color: white
+
+ - animation: arounder.yaml
+ position: {x: 22, y: 5}
+ velocity: {x: 0, y: 1.8}
+ boundaries:
+ x1: 22
+ y1: 5
+ x2: 22
+ y2: 6
+ color: white
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 62
+ position: {x: 13, y: 14}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 63
+ position: {x: 14, y: 14}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 64
+ position: {x: 15, y: 14}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 65
+ position: {x: 16, y: 14}
+ counter: 4
diff --git a/data/room/34.room b/data/room/34.room
deleted file mode 100644
index 0bf06f7..0000000
--- a/data/room/34.room
+++ /dev/null
@@ -1,85 +0,0 @@
-name=ULA HOP!
-bgColor=black
-border=cyan
-tileMapFile=34.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=32.room
-roomLeft=35.room
-roomRight=0
-itemColor1=green
-itemColor2=red
-
-[enemy]
-animation=floppy.ani
-x=20
-y=1
-vx=0
-vy=48.0
-x1=20
-y1=1
-x2=20
-y2=13
-color=cyan
-[/enemy]
-
-[enemy]
-animation=spark.ani
-x=11
-y=4
-vx=30.0
-vy=0
-x1=11
-y1=4
-x2=18
-y2=4
-color=cyan
-[/enemy]
-
-[enemy]
-animation=spark.ani
-x=1
-y=1
-vx=1
-vy=0
-x1=1
-y1=1
-x2=29
-y2=1
-color=yellow
-mirror=true
-[/enemy]
-
-[enemy]
-animation=wave.ani
-x=1
-y=6
-vx=30.0
-vy=0
-x1=1
-y1=6
-x2=10
-y2=6
-color=yellow
-[/enemy]
-
-[enemy]
-animation=wave.ani
-x=17
-y=8
-vx=54.0
-vy=0
-x1=17
-y1=8
-x2=29
-y2=8
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=66
-x=29
-y=3
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/34.tmx b/data/room/34.tmx
deleted file mode 100644
index a9045d9..0000000
--- a/data/room/34.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/34.yaml b/data/room/34.yaml
new file mode 100644
index 0000000..7c2f464
--- /dev/null
+++ b/data/room/34.yaml
@@ -0,0 +1,101 @@
+# ULA HOP!
+room:
+ number: "34"
+ name: "ULA HOP!"
+ bgColor: black
+ border: cyan
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: "32"
+ left: "35"
+ right: null
+
+ # Item display colors
+ itemColor1: green
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114]
+ - [115, -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, -1, 139, 115]
+ - [139, -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, -1, 115, 139]
+ - [115, -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, -1, 139, 115]
+ - [139, -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, -1, 115, 139]
+ - [115, -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, -1, 139, 115]
+ - [139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, 114, 113, 114, 113, 114, 113, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 376, 115, 139]
+ - [115, -1, -1, -1, -1, -1, -1, -1, 376, -1, -1, 113, 114, 113, 114, 113, 114, 113, 114, -1, -1, -1, -1, 376, 376, -1, -1, -1, -1, -1, 139, 115]
+ - [139, -1, -1, -1, -1, -1, -1, -1, -1, 376, -1, -1, -1, 113, 114, 113, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 139]
+ - [115, -1, -1, -1, 376, 376, 376, -1, -1, -1, -1, -1, -1, 114, 113, 114, 113, -1, -1, -1, -1, -1, 376, 376, 376, 376, -1, -1, -1, -1, 139, 115]
+ - [139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 376, -1, 113, 114, 113, 114, -1, -1, 376, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 139]
+ - [115, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 113, 114, 113, -1, -1, -1, -1, -1, -1, -1, -1, -1, 430, 431, 113, 114, 139, 115]
+ - [139, -1, -1, -1, -1, -1, -1, 376, 376, -1, -1, -1, -1, 113, 114, 113, 114, -1, -1, -1, -1, -1, -1, 430, 431, 430, 431, 430, 431, -1, 115, 139]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 376, 114, 113, 114, 113, -1, -1, 376, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, 115]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, 114, 113, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 139]
+ - [113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, -1, -1, 113, 114, 113, 114, 113, 114]
+
+# Enemies in this room
+enemies:
+ - animation: floppy.yaml
+ position: {x: 20, y: 1}
+ velocity: {x: 0, y: 48.0}
+ boundaries:
+ x1: 20
+ y1: 1
+ x2: 20
+ y2: 13
+ color: cyan
+
+ - animation: spark.yaml
+ position: {x: 11, y: 4}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 11
+ y1: 4
+ x2: 18
+ y2: 4
+ color: cyan
+
+ - animation: spark.yaml
+ position: {x: 1, y: 1}
+ velocity: {x: 60.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 1
+ x2: 29
+ y2: 1
+ color: yellow
+ mirror: true
+
+ - animation: wave.yaml
+ position: {x: 1, y: 6}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 6
+ x2: 10
+ y2: 6
+ color: yellow
+
+ - animation: wave.yaml
+ position: {x: 17, y: 8}
+ velocity: {x: 54.0, y: 0}
+ boundaries:
+ x1: 17
+ y1: 8
+ x2: 29
+ y2: 8
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 66
+ position: {x: 29, y: 3}
+ counter: 1
diff --git a/data/room/35.room b/data/room/35.room
deleted file mode 100644
index 946f029..0000000
--- a/data/room/35.room
+++ /dev/null
@@ -1,104 +0,0 @@
-name=SILICON BOOBS
-bgColor=black
-border=bright_green
-tileMapFile=35.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=36.room
-roomRight=34.room
-itemColor1=green
-itemColor2=red
-autoSurface=left
-
-[enemy]
-animation=jeannine.ani
-x=6
-y=13
-vx=30.0
-vy=0
-x1=6
-y1=13
-x2=14
-y2=13
-color=yellow
-flip=true
-[/enemy]
-
-[enemy]
-animation=jeannine.ani
-x=16
-y=13
-vx=24.0
-vy=0
-x1=16
-y1=13
-x2=28
-y2=13
-color=cyan
-flip=true
-[/enemy]
-
-[enemy]
-animation=jeannine.ani
-x=7
-y=9
-vx=36.0
-vy=0
-x1=7
-y1=9
-x2=15
-y2=9
-color=red
-flip=true
-[/enemy]
-
-[enemy]
-animation=jeannine.ani
-x=16
-y=9
-vx=24.0
-vy=0
-x1=16
-y1=9
-x2=27
-y2=9
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=jeannine.ani
-x=5
-y=5
-vx=30.0
-vy=0
-x1=5
-y1=5
-x2=12
-y2=5
-color=green
-flip=true
-[/enemy]
-
-[enemy]
-animation=chip.ani
-x=16
-y=5
-vx=24.0
-vy=0
-x1=16
-y1=5
-x2=26
-y2=5
-color=yellow
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=57
-x=2
-y=4
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/35.tmx b/data/room/35.tmx
deleted file mode 100644
index 1c82ea3..0000000
--- a/data/room/35.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/35.yaml b/data/room/35.yaml
new file mode 100644
index 0000000..6115a51
--- /dev/null
+++ b/data/room/35.yaml
@@ -0,0 +1,116 @@
+# SILICON BOOBS
+room:
+ number: "35"
+ name: "SILICON BOOBS"
+ bgColor: black
+ border: bright_green
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "36"
+ right: "34"
+
+ # Item display colors
+ itemColor1: green
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: -1
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [117, 118, 113, 114, 117, 118, 113, 114, 113, 114, 113, 114, 117, 118, 113, 114, 113, 114, 113, 114, 117, 118, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114]
+ - [114, 117, 118, 113, 114, 113, 114, 117, 118, 113, 114, 113, 114, 113, 114, 113, 114, 117, 118, 113, 114, 113, 114, 113, 114, 113, 114, 117, 118, 113, 114, 113]
+ - [115, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 561, -1, -1, -1, -1, -1, -1, -1, 115, 139]
+ - [139, 115, -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, 139, 119]
+ - [119, 139, -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, 115, 143]
+ - [143, 115, 406, 407, -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, 139, 115]
+ - [115, 139, -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, 115, 139]
+ - [139, 115, -1, -1, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 139, 115]
+ - [115, 139, -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, 119, 139]
+ - [139, 119, -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, 430, 143, 115]
+ - [115, 143, 430, 431, -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, 115, 139]
+ - [-1, -1, -1, -1, -1, -1, 430, 431, 430, 431, 430, 431, 430, 431, 430, 431, 430, 431, 430, 431, 430, 431, 430, 431, 430, 431, 430, 431, 430, 431, 139, 115]
+ - [-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, -1, -1, 115, 139]
+ - [113, 114, 113, 540, -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]
+ - [114, 113, 114, 113, 540, -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]
+ - [117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114, 117, 118, 113, 114]
+
+# Enemies in this room
+enemies:
+ - animation: jeannine.yaml
+ position: {x: 6, y: 13}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 6
+ y1: 13
+ x2: 14
+ y2: 13
+ color: yellow
+ flip: true
+
+ - animation: jeannine.yaml
+ position: {x: 16, y: 13}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 16
+ y1: 13
+ x2: 28
+ y2: 13
+ color: cyan
+ flip: true
+
+ - animation: jeannine.yaml
+ position: {x: 7, y: 9}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 9
+ x2: 15
+ y2: 9
+ color: red
+ flip: true
+
+ - animation: jeannine.yaml
+ position: {x: 16, y: 9}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 16
+ y1: 9
+ x2: 27
+ y2: 9
+ color: white
+ flip: true
+
+ - animation: jeannine.yaml
+ position: {x: 5, y: 5}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 5
+ y1: 5
+ x2: 12
+ y2: 5
+ color: green
+ flip: true
+
+ - animation: chip.yaml
+ position: {x: 16, y: 5}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 16
+ y1: 5
+ x2: 26
+ y2: 5
+ color: yellow
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 57
+ position: {x: 2, y: 4}
+ counter: 1
diff --git a/data/room/36.room b/data/room/36.room
deleted file mode 100644
index f84faa1..0000000
--- a/data/room/36.room
+++ /dev/null
@@ -1,159 +0,0 @@
-name=BE CAREFUL WITH THE FUSE
-bgColor=black
-border=bright_cyan
-tileMapFile=36.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=37.room
-roomRight=35.room
-itemColor1=green
-itemColor2=red
-
-[enemy]
-animation=spark.ani
-x=6
-y=13
-vx=24.0
-vy=0
-x1=2
-y1=13
-x2=14
-y2=13
-color=yellow
-[/enemy]
-
-[enemy]
-animation=spark.ani
-x=21
-y=13
-vx=24.0
-vy=0
-x1=17
-y1=13
-x2=29
-y2=13
-color=yellow
-[/enemy]
-
-[enemy]
-animation=spark.ani
-x=2
-y=10
-vx=24.0
-vy=0
-x1=2
-y1=10
-x2=14
-y2=10
-color=yellow
-mirror=true
-[/enemy]
-
-[enemy]
-animation=spark.ani
-x=17
-y=10
-vx=24.0
-vy=0
-x1=17
-y1=10
-x2=29
-y2=10
-color=yellow
-mirror=true
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=13
-y=2
-vx=0
-vy=24.0
-x1=13
-y1=2
-x2=13
-y2=7
-color=bright_yellow
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=10
-y=4
-vx=0
-vy=30.0
-x1=10
-y1=2
-x2=10
-y2=7
-color=bright_yellow
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=7
-y=6
-vx=0
-vy=36.0
-x1=7
-y1=2
-x2=7
-y2=7
-color=bright_yellow
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=24
-y=2
-vx=0
-vy=24.0
-x1=24
-y1=2
-x2=24
-y2=7
-color=bright_yellow
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=21
-y=4
-vx=0
-vy=30.0
-x1=21
-y1=2
-x2=21
-y2=7
-color=bright_yellow
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=18
-y=6
-vx=0
-vy=36.0
-x1=18
-y1=2
-x2=18
-y2=7
-color=bright_yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=57
-x=3
-y=7
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=57
-x=28
-y=7
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/36.tmx b/data/room/36.tmx
deleted file mode 100644
index c43c02c..0000000
--- a/data/room/36.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/36.yaml b/data/room/36.yaml
new file mode 100644
index 0000000..f76afca
--- /dev/null
+++ b/data/room/36.yaml
@@ -0,0 +1,157 @@
+# BE CAREFUL WITH THE FUSE
+room:
+ number: "36"
+ name: "BE CAREFUL WITH THE FUSE"
+ bgColor: black
+ border: bright_cyan
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "37"
+ right: "35"
+
+ # Item display colors
+ itemColor1: green
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118]
+ - [118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117]
+ - [-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, -1, -1, -1, 119]
+ - [-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, -1, -1, -1, 143]
+ - [-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, -1, -1, -1, 119]
+ - [-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, -1, -1, -1, 143]
+ - [-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, -1, -1, -1, 119]
+ - [-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, -1, -1, -1, 143]
+ - [-1, -1, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 353, -1, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, -1, 119]
+ - [-1, -1, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, -1, 353, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, -1, 143]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 119]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -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, -1, -1, 353, -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, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 119]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143]
+ - [117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 118]
+
+# Enemies in this room
+enemies:
+ - animation: spark.yaml
+ position: {x: 6, y: 13}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 2
+ y1: 13
+ x2: 14
+ y2: 13
+ color: yellow
+
+ - animation: spark.yaml
+ position: {x: 21, y: 13}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 17
+ y1: 13
+ x2: 29
+ y2: 13
+ color: yellow
+
+ - animation: spark.yaml
+ position: {x: 2, y: 10}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 2
+ y1: 10
+ x2: 14
+ y2: 10
+ color: yellow
+ mirror: true
+
+ - animation: spark.yaml
+ position: {x: 17, y: 10}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 17
+ y1: 10
+ x2: 29
+ y2: 10
+ color: yellow
+ mirror: true
+
+ - animation: shock.yaml
+ position: {x: 13, y: 2}
+ velocity: {x: 0, y: 24.0}
+ boundaries:
+ x1: 13
+ y1: 2
+ x2: 13
+ y2: 7
+ color: bright_yellow
+
+ - animation: shock.yaml
+ position: {x: 10, y: 4}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 10
+ y1: 2
+ x2: 10
+ y2: 7
+ color: bright_yellow
+
+ - animation: shock.yaml
+ position: {x: 7, y: 6}
+ velocity: {x: 0, y: 36.0}
+ boundaries:
+ x1: 7
+ y1: 2
+ x2: 7
+ y2: 7
+ color: bright_yellow
+
+ - animation: shock.yaml
+ position: {x: 24, y: 2}
+ velocity: {x: 0, y: 24.0}
+ boundaries:
+ x1: 24
+ y1: 2
+ x2: 24
+ y2: 7
+ color: bright_yellow
+
+ - animation: shock.yaml
+ position: {x: 21, y: 4}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 21
+ y1: 2
+ x2: 21
+ y2: 7
+ color: bright_yellow
+
+ - animation: shock.yaml
+ position: {x: 18, y: 6}
+ velocity: {x: 0, y: 36.0}
+ boundaries:
+ x1: 18
+ y1: 2
+ x2: 18
+ y2: 7
+ color: bright_yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 57
+ position: {x: 3, y: 7}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 57
+ position: {x: 28, y: 7}
+ counter: 2
diff --git a/data/room/37.room b/data/room/37.room
deleted file mode 100644
index 9e6393d..0000000
--- a/data/room/37.room
+++ /dev/null
@@ -1,93 +0,0 @@
-name=CHIP'N CHIP
-bgColor=black
-border=bright_green
-tileMapFile=37.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=38.room
-roomRight=36.room
-itemColor1=green
-itemColor2=red
-
-[enemy]
-animation=z80.ani
-x=15
-y=1
-vx=0
-vy=18.0
-x1=15
-y1=1
-x2=15
-y2=10
-color=bright_green
-[/enemy]
-
-[enemy]
-animation=chip.ani
-x=1
-y=8
-vx=18.0
-vy=0
-x1=1
-y1=8
-x2=6
-y2=8
-color=bright_green
-[/enemy]
-
-[enemy]
-animation=chip.ani
-x=28
-y=8
-vx=18.0
-vy=0
-x1=25
-y1=8
-x2=30
-y2=8
-color=bright_green
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=8
-y=1
-vx=0
-vy=1
-x1=8
-y1=1
-x2=8
-y2=14
-color=bright_green
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=23
-y=7
-vx=0
-vy=1
-x1=23
-y1=1
-x2=23
-y2=14
-color=bright_green
-[/enemy]
-
-
-[item]
-tileSetFile=items.gif
-tile=57
-x=3
-y=6
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=57
-x=26
-y=5
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/37.tmx b/data/room/37.tmx
deleted file mode 100644
index 1171a5c..0000000
--- a/data/room/37.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/37.yaml b/data/room/37.yaml
new file mode 100644
index 0000000..a909281
--- /dev/null
+++ b/data/room/37.yaml
@@ -0,0 +1,105 @@
+# CHIP'N CHIP
+room:
+ number: "37"
+ name: "CHIP'N CHIP"
+ bgColor: black
+ border: bright_green
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "38"
+ right: "36"
+
+ # Item display colors
+ itemColor1: green
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114]
+ - [-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, -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, -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, -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, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 376, 376, 376, -1, -1, -1, -1, 376, 376, 376, -1, -1, -1, -1]
+ - [-1, -1, 113, 114, -1, -1, -1, -1, -1, -1, -1, 376, 376, 376, -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, -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, -1, -1, -1, -1, 376, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, 430, 431, 430, 431, 430, 431, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, 114, 113, 114, 113, 114, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 376, 376, 376, 115, -1, -1, -1, -1, 115, 376, 376, 376, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, -1, -1, -1, -1, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 376, 376, 376, -1, 115, -1, -1, -1, -1, 115, -1, 376, 376, 376, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, 554, 554, 554, 554, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114, 113, 114]
+
+# Enemies in this room
+enemies:
+ - animation: z80.yaml
+ position: {x: 15, y: 1}
+ velocity: {x: 0, y: 18.0}
+ boundaries:
+ x1: 15
+ y1: 1
+ x2: 15
+ y2: 10
+ color: bright_green
+
+ - animation: chip.yaml
+ position: {x: 1, y: 8}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 8
+ x2: 6
+ y2: 8
+ color: bright_green
+
+ - animation: chip.yaml
+ position: {x: 28, y: 8}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 25
+ y1: 8
+ x2: 30
+ y2: 8
+ color: bright_green
+
+ - animation: shock.yaml
+ position: {x: 8, y: 1}
+ velocity: {x: 0, y: 60.0}
+ boundaries:
+ x1: 8
+ y1: 1
+ x2: 8
+ y2: 14
+ color: bright_green
+
+ - animation: shock.yaml
+ position: {x: 23, y: 7}
+ velocity: {x: 0, y: 60.0}
+ boundaries:
+ x1: 23
+ y1: 1
+ x2: 23
+ y2: 14
+ color: bright_green
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 57
+ position: {x: 3, y: 6}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 57
+ position: {x: 26, y: 5}
+ counter: 2
diff --git a/data/room/38.room b/data/room/38.room
deleted file mode 100644
index 6719749..0000000
--- a/data/room/38.room
+++ /dev/null
@@ -1,115 +0,0 @@
-name=THE FINAL CROSSOVER
-bgColor=bright_black
-border=yellow
-tileMapFile=38.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=39.room
-roomRight=37.room
-
-[enemy]
-animation=stopped_arounder.ani
-x=9
-y=11
-vx=0
-vy=0
-x1=9
-y1=11
-x2=9
-y2=11
-color=white
-[/enemy]
-
-[enemy]
-animation=stopped_arounder.ani
-x=18
-y=11
-vx=0
-vy=0
-x1=18
-y1=11
-x2=18
-y2=11
-color=white
-[/enemy]
-
-[enemy]
-animation=walking_arounder.ani
-x=12
-y=1
-vx=30.0
-vy=0
-x1=11
-y1=1
-x2=16
-y2=1
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=arounders_door.ani
-x=9
-y=0
-vx=0
-vy=0
-x1=9
-y1=0
-x2=9
-y2=0
-color=yellow
-flip=true
-[/enemy]
-
-[enemy]
-animation=flying_arounder.ani
-x=3
-y=1
-vx=0
-vy=42.0
-x1=3
-y1=1
-x2=3
-y2=9
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=mummy.ani
-x=12
-y=10
-vx=12.0
-vy=0
-x1=10
-y1=10
-x2=17
-y2=10
-color=bright_yellow
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=37
-x=16
-y=6
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=37
-x=1
-y=4
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=37
-x=29
-y=6
-counter=3
-[/item]
\ No newline at end of file
diff --git a/data/room/38.tmx b/data/room/38.tmx
deleted file mode 100644
index abea954..0000000
--- a/data/room/38.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/38.yaml b/data/room/38.yaml
new file mode 100644
index 0000000..70be0ca
--- /dev/null
+++ b/data/room/38.yaml
@@ -0,0 +1,124 @@
+# THE FINAL CROSSOVER
+room:
+ number: "38"
+ name: "THE FINAL CROSSOVER"
+ bgColor: bright_black
+ border: yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "39"
+ right: "37"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [20, 20, 20, 20, 20, 20, 20, 22, 23, -1, -1, 20, 20, 20, 20, 20, 20, 22, 23, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20]
+ - [20, 20, -1, -1, -1, 20, 20, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, 46, 47, 20, 20, 20, -1, -1, -1, 20, 20, 20, 20, 20, -1, -1]
+ - [20, -1, -1, -1, -1, -1, 20, 20, 222, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, 20, 20, -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, -1]
+ - [20, 20, 20, -1, -1, -1, -1, -1, -1, 397, 397, 397, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [20, 20, -1, -1, 262, 397, 397, 334, -1, -1, -1, -1, 396, -1, -1, -1, 396, -1, -1, -1, -1, -1, -1, -1, -1, 505, 20, 20, 20, 20, -1, -1]
+ - [20, -1, -1, -1, 286, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 505, -1, -1, -1, 262, -1, -1, -1]
+ - [20, -1, -1, -1, 310, -1, -1, 382, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 396, 398, 398, 399, 396, -1, -1, -1, -1, 286, -1, -1, -1]
+ - [-1, -1, -1, 398, 396, 397, 398, 399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 334, -1, -1, -1, -1, -1, -1, -1, -1, 286, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 382, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, 555, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 311, -1, 555, -1, -1, -1, -1, -1, 310, -1, -1, -1]
+ - [217, 217, 217, 218, 20, 20, 20, 20, 20, 20, 556, 556, 556, 556, 556, 556, 556, 556, 20, 20, 20, 20, 20, 20, 20, 219, 220, 220, 220, 220, 220, 221]
+
+# Enemies in this room
+enemies:
+ - animation: stopped_arounder.yaml
+ position: {x: 9, y: 11}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 9
+ y1: 11
+ x2: 9
+ y2: 11
+ color: white
+
+ - animation: stopped_arounder.yaml
+ position: {x: 18, y: 11}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 18
+ y1: 11
+ x2: 18
+ y2: 11
+ color: white
+
+ - animation: walking_arounder.yaml
+ position: {x: 12, y: 1}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 11
+ y1: 1
+ x2: 16
+ y2: 1
+ color: white
+ flip: true
+
+ - animation: arounders_door.yaml
+ position: {x: 9, y: 0}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 9
+ y1: 0
+ x2: 9
+ y2: 0
+ color: yellow
+ flip: true
+
+ - animation: flying_arounder.yaml
+ position: {x: 3, y: 1}
+ velocity: {x: 0, y: 42.0}
+ boundaries:
+ x1: 3
+ y1: 1
+ x2: 3
+ y2: 9
+ color: white
+ flip: true
+
+ - animation: mummy.yaml
+ position: {x: 12, y: 10}
+ velocity: {x: 12.0, y: 0}
+ boundaries:
+ x1: 10
+ y1: 10
+ x2: 17
+ y2: 10
+ color: bright_yellow
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 37
+ position: {x: 16, y: 6}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 37
+ position: {x: 1, y: 4}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 37
+ position: {x: 29, y: 6}
+ counter: 3
diff --git a/data/room/39.room b/data/room/39.room
deleted file mode 100644
index cbfcbd4..0000000
--- a/data/room/39.room
+++ /dev/null
@@ -1,112 +0,0 @@
-name=YOU'LL BELIEVE AROUNDER CAN FLY
-bgColor=black
-border=cyan
-tileMapFile=39.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=40.room
-roomRight=38.room
-itemColor1=magenta
-itemColor2=cyan
-
-[enemy]
-animation=arounders_door.ani
-x=3
-y=1
-vx=0
-vy=0
-x1=3
-y1=1
-x2=3
-y2=1
-color=white
-[/enemy]
-
-[enemy]
-animation=flying_arounder.ani
-x=9
-y=1
-vx=0
-vy=42.0
-x1=9
-y1=1
-x2=9
-y2=10
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=flying_arounder.ani
-x=15
-y=0
-vx=0
-vy=42.0
-x1=15
-y1=0
-x2=15
-y2=14
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=flying_arounder.ani
-x=22
-y=10
-vx=0
-vy=42.0
-x1=22
-y1=0
-x2=22
-y2=14
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=flying_arounder.ani
-x=16
-y=5
-vx=0
-vy=42.0
-x1=16
-y1=0
-x2=16
-y2=10
-color=white
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=47
-x=4
-y=5
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=47
-x=26
-y=1
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=47
-x=25
-y=7
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=47
-x=25
-y=14
-counter=4
-[/item]
\ No newline at end of file
diff --git a/data/room/39.tmx b/data/room/39.tmx
deleted file mode 100644
index 57f6fb5..0000000
--- a/data/room/39.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/39.yaml b/data/room/39.yaml
new file mode 100644
index 0000000..9012cba
--- /dev/null
+++ b/data/room/39.yaml
@@ -0,0 +1,119 @@
+# YOU'LL BELIEVE AROUNDER CAN FLY
+room:
+ number: "39"
+ name: "YOU'LL BELIEVE AROUNDER CAN FLY"
+ bgColor: black
+ border: cyan
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "40"
+ right: "38"
+
+ # Item display colors
+ itemColor1: magenta
+ itemColor2: cyan
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-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, -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, -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, -1, -1, -1, -1, 219, 220, 220, 221, -1, -1, -1, -1]
+ - [-1, -1, 219, 220, 220, 221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 219, 220, 220, 220, 221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, 219, 220, 220, 220, 221, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, 263, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, 262, -1, -1, -1, 219, 220, 220, 221, -1, -1, -1, 287, -1, 287, -1, -1, -1, -1, 311, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, 287, -1, -1, -1, -1, 219, 220, 220, 221, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 286, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, 219, 220, 220, 220, 221, -1, -1, -1, -1, -1, 219, 220, 220, 220, 220, 221, -1, -1, -1, 286, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [223, 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1, -1, 311, -1, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [556, 556, 216, 217, 217, 217, 217, 218, 556, 556, 556, 556, 216, 217, 217, 217, 217, 217, 218, 556, 556, 556, 216, 217, 217, 217, 217, 217, 217, 217, 217, 217]
+
+# Enemies in this room
+enemies:
+ - animation: arounders_door.yaml
+ position: {x: 3, y: 1}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 3
+ y1: 1
+ x2: 3
+ y2: 1
+ color: white
+
+ - animation: flying_arounder.yaml
+ position: {x: 9, y: 1}
+ velocity: {x: 0, y: 42.0}
+ boundaries:
+ x1: 9
+ y1: 1
+ x2: 9
+ y2: 10
+ color: white
+ flip: true
+
+ - animation: flying_arounder.yaml
+ position: {x: 15, y: 0}
+ velocity: {x: 0, y: 42.0}
+ boundaries:
+ x1: 15
+ y1: 0
+ x2: 15
+ y2: 14
+ color: white
+ flip: true
+
+ - animation: flying_arounder.yaml
+ position: {x: 22, y: 10}
+ velocity: {x: 0, y: 42.0}
+ boundaries:
+ x1: 22
+ y1: 0
+ x2: 22
+ y2: 14
+ color: white
+ flip: true
+
+ - animation: flying_arounder.yaml
+ position: {x: 16, y: 5}
+ velocity: {x: 0, y: 42.0}
+ boundaries:
+ x1: 16
+ y1: 0
+ x2: 16
+ y2: 10
+ color: white
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 47
+ position: {x: 4, y: 5}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 47
+ position: {x: 26, y: 1}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 47
+ position: {x: 25, y: 7}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 47
+ position: {x: 25, y: 14}
+ counter: 4
diff --git a/data/room/40.room b/data/room/40.room
deleted file mode 100644
index 4e48a49..0000000
--- a/data/room/40.room
+++ /dev/null
@@ -1,94 +0,0 @@
-name=PREVENT THE CRISIS
-bgColor=black
-border=bright_magenta
-tileMapFile=40.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=41.room
-roomRight=39.room
-
-[enemy]
-animation=arounders_machine.ani
-x=7
-y=1
-vx=0
-vy=0
-x1=7
-y1=1
-x2=7
-y2=1
-color=red
-[/enemy]
-
-[enemy]
-animation=walking_arounder.ani
-x=10
-y=12
-vx=24.0
-vy=0
-x1=7
-y1=12
-x2=26
-y2=12
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=walking_arounder.ani
-x=15
-y=12
-vx=24.0
-vy=0
-x1=7
-y1=12
-x2=26
-y2=12
-color=green
-flip=true
-[/enemy]
-
-[enemy]
-animation=walking_arounder.ani
-x=20
-y=12
-vx=24.0
-vy=0
-x1=7
-y1=12
-x2=26
-y2=12
-color=yellow
-flip=true
-[/enemy]
-
-[enemy]
-animation=walking_arounder.ani
-x=14
-y=2
-vx=24.0
-vy=0
-x1=11
-y1=2
-x2=18
-y2=2
-color=cyan
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=5
-x=10
-y=2
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=5
-x=25
-y=5
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/40.tmx b/data/room/40.tmx
deleted file mode 100644
index 77e3bf9..0000000
--- a/data/room/40.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/40.yaml b/data/room/40.yaml
new file mode 100644
index 0000000..59db8f0
--- /dev/null
+++ b/data/room/40.yaml
@@ -0,0 +1,109 @@
+# PREVENT THE CRISIS
+room:
+ number: "40"
+ name: "PREVENT THE CRISIS"
+ bgColor: black
+ border: bright_magenta
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "41"
+ right: "39"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-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, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, 222, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, 334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, 358, -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, -1, -1, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 222, 223, 223, 223, 224, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 334, -1, -1, -1, -1, 334, -1, 334, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 334, -1, -1, -1, -1, -1, -1, -1, -1, 358, -1, 358, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 334, -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, 382, -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, -1, -1, 222, 223, 224, -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, -1, -1, 358, -1, -1, -1, 382, -1, -1, -1, 382, -1, -1, -1, 382, -1, -1, -1, -1, 382, -1, 382, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, 222, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223]
+ - [-1, -1, -1, -1, 334, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 334, -1, -1, -1, -1, -1]
+ - [556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556]
+
+# Enemies in this room
+enemies:
+ - animation: arounders_machine.yaml
+ position: {x: 7, y: 1}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 1
+ x2: 7
+ y2: 1
+ color: red
+
+ - animation: walking_arounder.yaml
+ position: {x: 10, y: 12}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 12
+ x2: 26
+ y2: 12
+ color: white
+ flip: true
+
+ - animation: walking_arounder.yaml
+ position: {x: 15, y: 12}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 12
+ x2: 26
+ y2: 12
+ color: green
+ flip: true
+
+ - animation: walking_arounder.yaml
+ position: {x: 20, y: 12}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 12
+ x2: 26
+ y2: 12
+ color: yellow
+ flip: true
+
+ - animation: walking_arounder.yaml
+ position: {x: 14, y: 2}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 11
+ y1: 2
+ x2: 18
+ y2: 2
+ color: cyan
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 5
+ position: {x: 10, y: 2}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 5
+ position: {x: 25, y: 5}
+ counter: 2
diff --git a/data/room/41.room b/data/room/41.room
deleted file mode 100644
index 85e24c4..0000000
--- a/data/room/41.room
+++ /dev/null
@@ -1,111 +0,0 @@
-name=AROUND WITH ME
-bgColor=black
-border=blue
-tileMapFile=41.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=42.room
-roomRight=40.room
-
-[enemy]
-animation=arounders_door.ani
-x=6
-y=2
-vx=0
-vy=0
-x1=6
-y1=2
-x2=6
-y2=2
-color=bright_cyan
-[/enemy]
-
-[enemy]
-animation=stopped_arounder.ani
-x=8
-y=12
-vx=0
-vy=0
-x1=8
-y1=12
-x2=8
-y2=12
-color=bright_cyan
-[/enemy]
-
-[enemy]
-animation=stopped_arounder.ani
-x=11
-y=3
-vx=0
-vy=0
-x1=11
-y1=3
-x2=11
-y2=3
-color=bright_cyan
-[/enemy]
-
-[enemy]
-animation=stopped_arounder.ani
-x=24
-y=12
-vx=0
-vy=0
-x1=24
-y1=12
-x2=24
-y2=12
-color=bright_cyan
-[/enemy]
-
-[enemy]
-animation=walking_arounder.ani
-x=12
-y=12
-vx=18.0
-vy=0
-x1=9
-y1=12
-x2=23
-y2=12
-color=bright_cyan
-flip=true
-[/enemy]
-
-[enemy]
-animation=walking_arounder.ani
-x=14
-y=12
-vx=-24.000000
-vy=0
-x1=9
-y1=12
-x2=23
-y2=12
-color=bright_cyan
-flip=true
-[/enemy]
-
-[enemy]
-animation=walking_arounder.ani
-x=14
-y=6
-vx=-24.000000
-vy=0
-x1=12
-y1=6
-x2=20
-y2=6
-color=bright_cyan
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=46
-x=9
-y=2
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/41.tmx b/data/room/41.tmx
deleted file mode 100644
index 6d9ae23..0000000
--- a/data/room/41.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/41.yaml b/data/room/41.yaml
new file mode 100644
index 0000000..58d7d42
--- /dev/null
+++ b/data/room/41.yaml
@@ -0,0 +1,123 @@
+# AROUND WITH ME
+room:
+ number: "41"
+ name: "AROUND WITH ME"
+ bgColor: black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "42"
+ right: "40"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [187, -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, -1, -1, -1]
+ - [187, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [187, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, -1, -1, 287, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [187, -1, -1, -1, -1, 311, -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]
+ - [187, -1, -1, -1, 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -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, -1, -1, -1, 311, -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, -1, -1, 216, 217, 217, 217, 217, 217, 217, 217, 218, -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, -1, -1, 263, -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, -1, -1, -1, 311, -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, -1, -1, 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, 263, -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, 311, -1, -1, -1, -1, -1, 311, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, -1]
+ - [43, 43, 43, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556]
+
+# Enemies in this room
+enemies:
+ - animation: arounders_door.yaml
+ position: {x: 6, y: 2}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 6
+ y1: 2
+ x2: 6
+ y2: 2
+ color: bright_cyan
+
+ - animation: stopped_arounder.yaml
+ position: {x: 8, y: 12}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 8
+ y1: 12
+ x2: 8
+ y2: 12
+ color: bright_cyan
+
+ - animation: stopped_arounder.yaml
+ position: {x: 11, y: 3}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 11
+ y1: 3
+ x2: 11
+ y2: 3
+ color: bright_cyan
+
+ - animation: stopped_arounder.yaml
+ position: {x: 24, y: 12}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 24
+ y1: 12
+ x2: 24
+ y2: 12
+ color: bright_cyan
+
+ - animation: walking_arounder.yaml
+ position: {x: 12, y: 12}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 9
+ y1: 12
+ x2: 23
+ y2: 12
+ color: bright_cyan
+ flip: true
+
+ - animation: walking_arounder.yaml
+ position: {x: 14, y: 12}
+ velocity: {x: -24.0, y: 0}
+ boundaries:
+ x1: 9
+ y1: 12
+ x2: 23
+ y2: 12
+ color: bright_cyan
+ flip: true
+
+ - animation: walking_arounder.yaml
+ position: {x: 14, y: 6}
+ velocity: {x: -24.0, y: 0}
+ boundaries:
+ x1: 12
+ y1: 6
+ x2: 20
+ y2: 6
+ color: bright_cyan
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 46
+ position: {x: 9, y: 2}
+ counter: 1
diff --git a/data/room/42.room b/data/room/42.room
deleted file mode 100644
index fc15d9b..0000000
--- a/data/room/42.room
+++ /dev/null
@@ -1,54 +0,0 @@
-name=P.A.C.O. ON THE GO
-bgColor=black
-border=blue
-tileMapFile=42.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=43.room
-roomLeft=53.room
-roomRight=41.room
-itemColor1=magenta
-itemColor2=red
-
-[enemy]
-animation=paco.ani
-x=10
-y=2
-vx=0
-vy=30.0
-x1=10
-y1=2
-x2=10
-y2=11
-color=magenta
-[/enemy]
-
-[enemy]
-animation=abad.ani
-x=15
-y=13
-vx=48.0
-vy=0
-x1=4
-y1=13
-x2=19
-y2=13
-color=bright_cyan
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=41
-x=2
-y=9
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=41
-x=29
-y=3
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/42.tmx b/data/room/42.tmx
deleted file mode 100644
index c0afef9..0000000
--- a/data/room/42.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/42.yaml b/data/room/42.yaml
new file mode 100644
index 0000000..23c13b7
--- /dev/null
+++ b/data/room/42.yaml
@@ -0,0 +1,76 @@
+# P.A.C.O. ON THE GO
+room:
+ number: "42"
+ name: "P.A.C.O. ON THE GO"
+ bgColor: black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: "43"
+ left: "53"
+ right: "41"
+
+ # Item display colors
+ itemColor1: magenta
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [35, 35, 35, -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, 61]
+ - [35, 35, -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, -1, 61]
+ - [35, -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, -1, -1, 61]
+ - [35, -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, -1, -1, 61]
+ - [35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 414, 414, 414, 420, -1, -1, -1, -1, -1, 61]
+ - [35, -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, 414, 420, 61]
+ - [35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 420, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 414, 414, 420, 414, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [35, -1, -1, -1, -1, -1, -1, -1, 305, -1, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [35, -1, -1, -1, 305, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [35, -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, -1, -1, -1]
+ - [35, -1, 414, 420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 414, 414, -1, -1, 420, 414, -1, -1, -1, -1, -1, -1]
+ - [35, -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, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 506, 414, 420, 530, -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, 506, -1, -1, -1, -1, 530, -1, -1, -1, -1, -1, -1]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, 422, 384, -1, -1, 25, 43, 43, 43, 43, 43]
+
+# Enemies in this room
+enemies:
+ - animation: paco.yaml
+ position: {x: 10, y: 2}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 10
+ y1: 2
+ x2: 10
+ y2: 11
+ color: magenta
+
+ - animation: abad.yaml
+ position: {x: 15, y: 13}
+ velocity: {x: 48.0, y: 0}
+ boundaries:
+ x1: 4
+ y1: 13
+ x2: 19
+ y2: 13
+ color: bright_cyan
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 41
+ position: {x: 2, y: 9}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 41
+ position: {x: 29, y: 3}
+ counter: 2
diff --git a/data/room/43.room b/data/room/43.room
deleted file mode 100644
index 37c006a..0000000
--- a/data/room/43.room
+++ /dev/null
@@ -1,45 +0,0 @@
-name=THE TUBE
-bgColor=black
-border=blue
-tileMapFile=43.tmx
-tileSetFile=standard.gif
-roomUp=42.room
-roomDown=44.room
-roomLeft=0
-roomRight=0
-itemColor1=yellow
-itemColor2=red
-
-[enemy]
-animation=spider.ani
-x=20
-y=5
-vx=18.0
-vy=0
-x1=20
-y1=5
-x2=23
-y2=5
-color=cyan
-[/enemy]
-
-[enemy]
-animation=spider.ani
-x=22
-y=11
-vx=18.0
-vy=0
-x1=20
-y1=11
-x2=23
-y2=11
-color=green
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=8
-x=21
-y=10
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/43.tmx b/data/room/43.tmx
deleted file mode 100644
index 04a139b..0000000
--- a/data/room/43.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/43.yaml b/data/room/43.yaml
new file mode 100644
index 0000000..8fc8435
--- /dev/null
+++ b/data/room/43.yaml
@@ -0,0 +1,70 @@
+# THE TUBE
+room:
+ number: "43"
+ name: "THE TUBE"
+ bgColor: black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "42"
+ down: "44"
+ left: null
+ right: null
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, 423, 384, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, 384, 384, 422, 422, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, 424, 384, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, 384, 423, 384, 384, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, 384, 384, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, 384, 384, 423, 384, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, 422, 384, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, 384, 422, 384, 384, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, 384, 384, 25, 43, 43, 43, 43, 43]
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, 422, 384, 422, 384, -1, -1, 25, 43, 43, 43, 43, 43]
+
+# Enemies in this room
+enemies:
+ - animation: spider.yaml
+ position: {x: 20, y: 5}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 20
+ y1: 5
+ x2: 23
+ y2: 5
+ color: cyan
+
+ - animation: spider.yaml
+ position: {x: 22, y: 11}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 20
+ y1: 11
+ x2: 23
+ y2: 11
+ color: green
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 8
+ position: {x: 21, y: 10}
+ counter: 1
diff --git a/data/room/44.room b/data/room/44.room
deleted file mode 100644
index ca1bf0f..0000000
--- a/data/room/44.room
+++ /dev/null
@@ -1,46 +0,0 @@
-name=SANDWITCH AND COUNTER
-bgColor=black
-border=cyan
-tileMapFile=44.tmx
-tileSetFile=standard.gif
-roomUp=43.room
-roomDown=16.room
-roomLeft=0
-roomRight=0
-itemColor1=white
-itemColor2=red
-
-[enemy]
-animation=congo.ani
-x=2
-y=4
-vx=30.0
-vy=0
-x1=2
-y1=4
-x2=14
-y2=4
-color=green
-flip=true
-[/enemy]
-
-[enemy]
-animation=crosshair.ani
-x=23
-y=4
-vx=0
-vy=48.0
-x1=23
-y1=4
-x2=23
-y2=13
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=8
-x=2
-y=2
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/44.tmx b/data/room/44.tmx
deleted file mode 100644
index 6de24f6..0000000
--- a/data/room/44.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/44.yaml b/data/room/44.yaml
new file mode 100644
index 0000000..a74dc51
--- /dev/null
+++ b/data/room/44.yaml
@@ -0,0 +1,71 @@
+# SANDWITCH AND COUNTER
+room:
+ number: "44"
+ name: "SANDWITCH AND COUNTER"
+ bgColor: black
+ border: cyan
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "43"
+ down: "16"
+ left: null
+ right: null
+
+ # Item display colors
+ itemColor1: white
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 25, -1, -1, -1, -1, -1, -1, 25, 43, 43, 43, 43, 43]
+ - [36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, 36, 36, 36, 36]
+ - [36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, 36, 36, 36, 36]
+ - [36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, 36, 36, 342, 342, 342, 342, 342, 342, -1, -1, 36, 36, 36, 36]
+ - [36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, 36, 36, 36, 36]
+ - [36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, 36, 36, -1, -1, 342, -1, -1, -1, -1, -1, 36, 36, 36, 36]
+ - [36, 36, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, -1, -1, 344, 36, 36, -1, -1, -1, -1, -1, -1, 342, -1, 36, 36, 36, 36]
+ - [36, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, 36, 36, -1, -1, -1, -1, -1, -1, -1, 342, 36, 36, 36, 36]
+ - [36, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, 342, -1, -1, -1, -1, -1, 36, 36, 36, 36]
+ - [36, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, 36, 36, 36]
+ - [36, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, 342, -1, 36, 36, 36, 36]
+ - [36, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, 342, -1, -1, -1, -1, -1, -1, 36, 36, 36, 36]
+ - [36, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, 342, -1, 36, 36, 36, 36]
+ - [36, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, 36, 36, 36]
+ - [36, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 344, -1, -1, -1, -1, 342, -1, -1, -1, -1, -1, 36, 36, 36, 36]
+ - [37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 416, -1, -1, 416, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37]
+
+# Enemies in this room
+enemies:
+ - animation: congo.yaml
+ position: {x: 2, y: 4}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 2
+ y1: 4
+ x2: 14
+ y2: 4
+ color: green
+ flip: true
+
+ - animation: crosshair.yaml
+ position: {x: 23, y: 4}
+ velocity: {x: 0, y: 48.0}
+ boundaries:
+ x1: 23
+ y1: 4
+ x2: 23
+ y2: 13
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 8
+ position: {x: 2, y: 2}
+ counter: 1
diff --git a/data/room/45.room b/data/room/45.room
deleted file mode 100644
index acdaa70..0000000
--- a/data/room/45.room
+++ /dev/null
@@ -1,64 +0,0 @@
-name=FEEL THE PRESSURE
-bgColor=bright_black
-border=bright_yellow
-tileMapFile=45.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=14.room
-roomRight=46.room
-itemColor1=yellow
-itemColor2=green
-
-[enemy]
-animation=chip.ani
-x=4
-y=5
-vx=0
-vy=1
-x1=4
-y1=2
-x2=4
-y2=13
-color=green
-[/enemy]
-
-[enemy]
-animation=chip.ani
-x=10
-y=4
-vx=0
-vy=1
-x1=10
-y1=2
-x2=10
-y2=13
-color=bright_blue
-[/enemy]
-
-[enemy]
-animation=chip.ani
-x=16
-y=3
-vx=0
-vy=1
-x1=16
-y1=2
-x2=16
-y2=13
-color=magenta
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=54
-x=17
-y=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=54
-x=18
-y=12
-[/item]
\ No newline at end of file
diff --git a/data/room/45.tmx b/data/room/45.tmx
deleted file mode 100644
index fcce142..0000000
--- a/data/room/45.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/45.yaml b/data/room/45.yaml
new file mode 100644
index 0000000..c309b84
--- /dev/null
+++ b/data/room/45.yaml
@@ -0,0 +1,85 @@
+# FEEL THE PRESSURE
+room:
+ number: "45"
+ name: "FEEL THE PRESSURE"
+ bgColor: bright_black
+ border: bright_yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "14"
+ right: "46"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: green
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [29, 29, 29, -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, -1]
+ - [29, 29, -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, -1, -1]
+ - [29, -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, -1, -1, -1]
+ - [29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 322, 322, -1, -1, -1, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [29, -1, -1, -1, -1, -1, -1, -1, 322, 322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [29, -1, -1, -1, -1, 322, 322, -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]
+ - [29, -1, 322, -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, -1]
+ - [29, -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, -1, -1, -1]
+ - [-1, -1, 322, 322, -1, 322, 322, 322, 322, 322, -1, 322, 322, 322, 322, 322, -1, 322, 322, 322, 322, -1, 394, -1, -1, -1, 394, 394, 394, 394, 394, 394]
+ - [-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, -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, 394, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [29, 29, 29, -1, -1, -1, 394, 394, 394, -1, -1, -1, 394, 394, -1, -1, -1, -1, 394, 394, 394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [29, 29, -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, -1, -1]
+ - [29, -1, -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 394, 394, 394, -1, -1, -1, 394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [29, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569, 569]
+
+# Enemies in this room
+enemies:
+ - animation: chip.yaml
+ position: {x: 4, y: 5}
+ velocity: {x: 0, y: 60.0}
+ boundaries:
+ x1: 4
+ y1: 2
+ x2: 4
+ y2: 13
+ color: green
+
+ - animation: chip.yaml
+ position: {x: 10, y: 4}
+ velocity: {x: 0, y: 60.0}
+ boundaries:
+ x1: 10
+ y1: 2
+ x2: 10
+ y2: 13
+ color: bright_blue
+
+ - animation: chip.yaml
+ position: {x: 16, y: 3}
+ velocity: {x: 0, y: 60.0}
+ boundaries:
+ x1: 16
+ y1: 2
+ x2: 16
+ y2: 13
+ color: magenta
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 54
+ position: {x: 17, y: 1}
+ counter: 0
+
+ - tileSetFile: items.gif
+ tile: 54
+ position: {x: 18, y: 12}
+ counter: 0
diff --git a/data/room/46.room b/data/room/46.room
deleted file mode 100644
index 993925c..0000000
--- a/data/room/46.room
+++ /dev/null
@@ -1,60 +0,0 @@
-name=FEEL THE HEAT
-bgColor=bright_black
-border=bright_yellow
-tileMapFile=46.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=45.room
-roomRight=0
-itemColor1=red
-itemColor2=magenta
-autoSurface=left
-
-[enemy]
-animation=batman_fire.ani
-x=10
-y=13
-vx=1.3
-vy=0
-x1=0
-y1=13
-x2=29
-y2=13
-color=cyan
-flip=true
-[/enemy]
-
-[enemy]
-animation=heavy.ani
-x=11
-y=7
-vx=0
-vy=30.0
-x1=11
-y1=1
-x2=11
-y2=12
-color=green
-[/enemy]
-
-[enemy]
-animation=heavy.ani
-x=18
-y=2
-vx=0
-vy=48.0
-x1=18
-y1=1
-x2=18
-y2=12
-color=green
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=28
-x=28
-y=6
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/46.tmx b/data/room/46.tmx
deleted file mode 100644
index 17cc130..0000000
--- a/data/room/46.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/46.yaml b/data/room/46.yaml
new file mode 100644
index 0000000..72c4eb2
--- /dev/null
+++ b/data/room/46.yaml
@@ -0,0 +1,81 @@
+# FEEL THE HEAT
+room:
+ number: "46"
+ name: "FEEL THE HEAT"
+ bgColor: bright_black
+ border: bright_yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "45"
+ right: null
+
+ # Item display colors
+ itemColor1: red
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: -1
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-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, -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, -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, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29]
+ - [-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, -1, -1, 29, 29]
+ - [-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, -1, -1, 29, 29]
+ - [-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, -1, -1, 29, 29]
+ - [394, 394, 398, -1, -1, -1, -1, 472, 472, 472, -1, -1, -1, -1, 472, 472, 472, -1, -1, -1, -1, 472, 472, 472, 472, -1, -1, 394, 394, 398, 29, 29]
+ - [-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, -1, -1, 29, 29]
+ - [-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, -1, -1, 29, 29]
+ - [-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, -1, -1, -1, 29]
+ - [-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, -1, -1, -1, 134]
+ - [-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, -1, -1, -1, 134]
+ - [-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, -1, -1, -1, 134]
+ - [480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 134]
+
+# Enemies in this room
+enemies:
+ - animation: batman_fire.yaml
+ position: {x: 10, y: 13}
+ velocity: {x: 78.0, y: 0}
+ boundaries:
+ x1: 0
+ y1: 13
+ x2: 29
+ y2: 13
+ color: cyan
+ flip: true
+
+ - animation: heavy.yaml
+ position: {x: 11, y: 7}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 11
+ y1: 1
+ x2: 11
+ y2: 12
+ color: green
+
+ - animation: heavy.yaml
+ position: {x: 18, y: 2}
+ velocity: {x: 0, y: 48.0}
+ boundaries:
+ x1: 18
+ y1: 1
+ x2: 18
+ y2: 12
+ color: green
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 28
+ position: {x: 28, y: 6}
+ counter: 1
diff --git a/data/room/47.room b/data/room/47.room
deleted file mode 100644
index 87d688f..0000000
--- a/data/room/47.room
+++ /dev/null
@@ -1,107 +0,0 @@
-name=THE BATTLE NEVER ENDS
-bgColor=black
-border=white
-tileMapFile=47.tmx
-tileSetFile=standard.gif
-roomUp=51.room
-roomDown=0
-roomLeft=48.room
-roomRight=0
-itemColor1=red
-itemColor2=yellow
-
-[enemy]
-animation=jailbattle_alien.ani
-x=10
-y=3
-vx=48.0
-vy=0
-x1=3
-y1=3
-x2=27
-y2=3
-color=green
-flip=true
-[/enemy]
-
-[enemy]
-animation=jailbattle_alien.ani
-x=25
-y=4
-vx=0
-vy=48.0
-x1=25
-y1=4
-x2=25
-y2=10
-color=yellow
-flip=true
-[/enemy]
-
-[enemy]
-animation=jailbattle_human.ani
-x=7
-y=6
-vx=0
-vy=30.0
-x1=7
-y1=6
-x2=7
-y2=13
-color=red
-flip=true
-[/enemy]
-
-[enemy]
-animation=jailbattle_human.ani
-x=18
-y=13
-vx=30.0
-vy=0
-x1=15
-y1=13
-x2=27
-y2=13
-color=cyan
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=19
-x=6
-y=14
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=19
-x=14
-y=14
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=19
-x=23
-y=14
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=19
-x=28
-y=6
-counter=4
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=19
-x=14
-y=5
-counter=5
-[/item]
\ No newline at end of file
diff --git a/data/room/47.tmx b/data/room/47.tmx
deleted file mode 100644
index 9d623fd..0000000
--- a/data/room/47.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/47.yaml b/data/room/47.yaml
new file mode 100644
index 0000000..c4f43cd
--- /dev/null
+++ b/data/room/47.yaml
@@ -0,0 +1,114 @@
+# THE BATTLE NEVER ENDS
+room:
+ number: "47"
+ name: "THE BATTLE NEVER ENDS"
+ bgColor: black
+ border: white
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "51"
+ down: null
+ left: "48"
+ right: null
+
+ # Item display colors
+ itemColor1: red
+ itemColor2: yellow
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -1, -1, -1, -1, -1, 504, 27, 27, 27, 85, 85]
+ - [-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, 504, -1, -1, -1, -1, 85, 85]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, -1, 85, 85]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, -1, -1, 85, 85]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, -1, -1, -1, 85, 85]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 412, 412, -1, -1, -1, -1, -1, -1, -1, -1, 85, 85]
+ - [-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, -1, -1, 85, 85]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 412, 412, 412, 528, -1, -1, -1, -1, -1, -1, -1, 85, 85]
+ - [27, 528, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, 412, -1, -1, -1, -1, -1, -1, -1, 504, 412, -1, -1, -1, -1, 412, 412, 85, 85]
+ - [27, -1, 412, 528, -1, -1, -1, -1, -1, -1, -1, -1, 412, 528, -1, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, -1, -1, -1, -1, 85, 85]
+ - [27, -1, -1, -1, 412, -1, -1, -1, -1, -1, -1, -1, -1, -1, 528, -1, -1, -1, -1, -1, 412, 528, -1, -1, -1, -1, -1, -1, -1, -1, 85, 85]
+ - [27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, 412, 412, -1, -1, -1, -1, -1, 528, -1, -1, -1, -1, -1, -1, -1, 85, 85]
+ - [27, -1, -1, -1, 504, 412, -1, -1, -1, 412, 528, -1, 504, 412, -1, -1, -1, -1, -1, -1, -1, -1, -1, 412, 412, 528, -1, -1, -1, -1, 85, 85]
+ - [27, -1, -1, 412, -1, -1, -1, -1, -1, -1, -1, 412, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 412, -1, -1, -1, 85, 85]
+ - [27, -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, -1, 85, 85]
+ - [27, 27, 27, 27, 27, 388, 388, 388, 27, 27, 27, 27, 27, 388, 388, 388, 27, 27, 27, 27, 27, 388, 388, 27, 388, 27, 27, 27, 27, 27, 85, 85]
+
+# Enemies in this room
+enemies:
+ - animation: jailbattle_alien.yaml
+ position: {x: 10, y: 3}
+ velocity: {x: 48.0, y: 0}
+ boundaries:
+ x1: 3
+ y1: 3
+ x2: 27
+ y2: 3
+ color: green
+ flip: true
+
+ - animation: jailbattle_alien.yaml
+ position: {x: 25, y: 4}
+ velocity: {x: 0, y: 48.0}
+ boundaries:
+ x1: 25
+ y1: 4
+ x2: 25
+ y2: 10
+ color: yellow
+ flip: true
+
+ - animation: jailbattle_human.yaml
+ position: {x: 7, y: 6}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 7
+ y1: 6
+ x2: 7
+ y2: 13
+ color: red
+ flip: true
+
+ - animation: jailbattle_human.yaml
+ position: {x: 18, y: 13}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 15
+ y1: 13
+ x2: 27
+ y2: 13
+ color: cyan
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 19
+ position: {x: 6, y: 14}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 19
+ position: {x: 14, y: 14}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 19
+ position: {x: 23, y: 14}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 19
+ position: {x: 28, y: 6}
+ counter: 4
+
+ - tileSetFile: items.gif
+ tile: 19
+ position: {x: 14, y: 5}
+ counter: 5
diff --git a/data/room/48.room b/data/room/48.room
deleted file mode 100644
index da511a1..0000000
--- a/data/room/48.room
+++ /dev/null
@@ -1,77 +0,0 @@
-name=WELCOME TO THE JAILBATTLE
-bgColor=green
-border=bright_green
-tileMapFile=48.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=49.room
-roomLeft=0
-roomRight=47.room
-itemColor1=white
-itemColor2=green
-
-[enemy]
-animation=jailbattle_human.ani
-x=17
-y=6
-vx=30.0
-vy=0
-x1=12
-y1=6
-x2=27
-y2=6
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=jailbattle_human.ani
-x=2
-y=13
-vx=36.0
-vy=0
-x1=2
-y1=13
-x2=16
-y2=13
-color=white
-flip=true
-[/enemy]
-
-[enemy]
-animation=jailbattle_alien.ani
-x=24
-y=10
-vx=0
-vy=30.0
-x1=24
-y1=9
-x2=24
-y2=13
-color=white
-flip=true
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=19
-x=27
-y=11
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=19
-x=3
-y=3
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=19
-x=23
-y=4
-counter=3
-[/item]
\ No newline at end of file
diff --git a/data/room/48.tmx b/data/room/48.tmx
deleted file mode 100644
index bb2f31b..0000000
--- a/data/room/48.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/48.yaml b/data/room/48.yaml
new file mode 100644
index 0000000..b289f09
--- /dev/null
+++ b/data/room/48.yaml
@@ -0,0 +1,93 @@
+# WELCOME TO THE JAILBATTLE
+room:
+ number: "48"
+ name: "WELCOME TO THE JAILBATTLE"
+ bgColor: green
+ border: bright_green
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: "49"
+ left: null
+ right: "47"
+
+ # Item display colors
+ itemColor1: white
+ itemColor2: green
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32]
+ - [32, -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, -1, -1, -1]
+ - [32, -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, -1, -1, -1]
+ - [32, -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, -1, -1, -1]
+ - [32, -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, -1, -1, -1]
+ - [32, -1, 400, 400, 400, -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]
+ - [32, -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, -1, -1, -1]
+ - [32, -1, -1, -1, -1, -1, 400, 400, 400, 400, 400, 528, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 528, -1, -1, -1, -1, 32, -1, 32, -1, 32, -1, 32, -1, 32, -1, 32, -1, 32, 400, 32]
+ - [32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 528, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133]
+ - [32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 528, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32]
+ - [32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 504, 400, 400, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133]
+ - [32, -1, -1, -1, -1, 504, 400, 400, 400, 400, 400, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32]
+ - [32, -1, -1, -1, 504, -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, 133]
+ - [32, -1, -1, 504, -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, 32]
+ - [32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -1, -1, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32]
+
+# Enemies in this room
+enemies:
+ - animation: jailbattle_human.yaml
+ position: {x: 17, y: 6}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 12
+ y1: 6
+ x2: 27
+ y2: 6
+ color: white
+ flip: true
+
+ - animation: jailbattle_human.yaml
+ position: {x: 2, y: 13}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 2
+ y1: 13
+ x2: 16
+ y2: 13
+ color: white
+ flip: true
+
+ - animation: jailbattle_alien.yaml
+ position: {x: 24, y: 10}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 24
+ y1: 9
+ x2: 24
+ y2: 13
+ color: white
+ flip: true
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 19
+ position: {x: 27, y: 11}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 19
+ position: {x: 3, y: 3}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 19
+ position: {x: 23, y: 4}
+ counter: 3
diff --git a/data/room/49.room b/data/room/49.room
deleted file mode 100644
index f821fac..0000000
--- a/data/room/49.room
+++ /dev/null
@@ -1,23 +0,0 @@
-name=WE NEED A ROBOT
-bgColor=black
-border=red
-tileMapFile=49.tmx
-tileSetFile=standard.gif
-roomUp=48.room
-roomDown=0
-roomLeft=50.room
-roomRight=17.room
-
-[enemy]
-animation=robot.ani
-x=10
-y=8
-vx=42.0
-vy=0
-x1=1
-y1=8
-x2=29
-y2=8
-color=yellow
-flip=true
-[/enemy]
\ No newline at end of file
diff --git a/data/room/49.tmx b/data/room/49.tmx
deleted file mode 100644
index b757a52..0000000
--- a/data/room/49.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/49.yaml b/data/room/49.yaml
new file mode 100644
index 0000000..95ce455
--- /dev/null
+++ b/data/room/49.yaml
@@ -0,0 +1,57 @@
+# WE NEED A ROBOT
+room:
+ number: "49"
+ name: "WE NEED A ROBOT"
+ bgColor: black
+ border: red
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "48"
+ down: null
+ left: "50"
+ right: "17"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, -1, -1, -1, -1, 522, 38, 38, 38, 38, 38, 38, 38, 38]
+ - [38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, 38]
+ - [38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38]
+ - [38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38]
+ - [38, 268, 268, 268, 268, 268, 268, 546, -1, -1, -1, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 38]
+ - [38, -1, -1, -1, -1, -1, -1, -1, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38]
+ - [38, -1, -1, -1, -1, -1, -1, -1, -1, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38]
+ - [38, -1, -1, -1, -1, -1, -1, -1, -1, -1, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38]
+ - [38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38]
+ - [38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 546, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38]
+ - [38, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, -1, -1, 522, 268, 268, 268, 268, 268, 268, 268, 268, 38]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 522, -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, -1, -1, 522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38]
+
+# Enemies in this room
+enemies:
+ - animation: robot.yaml
+ position: {x: 10, y: 8}
+ velocity: {x: 42.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 8
+ x2: 29
+ y2: 8
+ color: yellow
+ flip: true
+
+# No items in this room
+items: []
\ No newline at end of file
diff --git a/data/room/50.room b/data/room/50.room
deleted file mode 100644
index 5b1445c..0000000
--- a/data/room/50.room
+++ /dev/null
@@ -1,67 +0,0 @@
-name=STORED JAILGAMES
-bgColor=black
-border=blue
-tileMapFile=50.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=0
-roomRight=49.room
-
-[enemy]
-animation=floppy.ani
-x=7
-y=2
-vx=0
-vy=30.0
-x1=7
-y1=2
-x2=7
-y2=12
-color=magenta
-[/enemy]
-
-[enemy]
-animation=floppy.ani
-x=20
-y=6
-vx=0
-vy=30.0
-x1=20
-y1=2
-x2=20
-y2=12
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=1
-x=4
-y=9
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=1
-x=25
-y=9
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=1
-x=2
-y=5
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=1
-x=1
-y=14
-counter=4
-[/item]
\ No newline at end of file
diff --git a/data/room/50.tmx b/data/room/50.tmx
deleted file mode 100644
index bc06e84..0000000
--- a/data/room/50.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/50.yaml b/data/room/50.yaml
new file mode 100644
index 0000000..b95d79b
--- /dev/null
+++ b/data/room/50.yaml
@@ -0,0 +1,85 @@
+# STORED JAILGAMES
+room:
+ number: "50"
+ name: "STORED JAILGAMES"
+ bgColor: black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: null
+ right: "49"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41]
+ - [41, 41, -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, 41, 41]
+ - [41, -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, -1, -1, 41]
+ - [41, -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, -1, -1, 41]
+ - [41, -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, -1, -1, -1]
+ - [41, -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, -1, -1, -1]
+ - [41, 63, 63, 63, 63, 63, -1, -1, -1, -1, 436, 436, 436, -1, -1, -1, 436, 436, 436, -1, -1, -1, -1, 63, 63, 63, 63, 63, 63, 63, 63, 41]
+ - [41, -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, -1, -1, 41]
+ - [41, -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, -1, -1, 41]
+ - [41, -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, -1, -1, 41]
+ - [41, -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, -1, -1, 41]
+ - [41, -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, -1, -1, 41]
+ - [41, -1, -1, 388, 388, 388, -1, -1, -1, -1, 388, 388, 388, 388, 364, 388, 388, 388, 388, -1, -1, -1, -1, 388, 388, 388, 388, -1, -1, -1, -1, 41]
+ - [41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41]
+
+# Enemies in this room
+enemies:
+ - animation: floppy.yaml
+ position: {x: 7, y: 2}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 7
+ y1: 2
+ x2: 7
+ y2: 12
+ color: magenta
+
+ - animation: floppy.yaml
+ position: {x: 20, y: 6}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 20
+ y1: 2
+ x2: 20
+ y2: 12
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 1
+ position: {x: 4, y: 9}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 1
+ position: {x: 25, y: 9}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 1
+ position: {x: 2, y: 5}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 1
+ position: {x: 1, y: 14}
+ counter: 4
diff --git a/data/room/51.room b/data/room/51.room
deleted file mode 100644
index 13cdff3..0000000
--- a/data/room/51.room
+++ /dev/null
@@ -1,66 +0,0 @@
-name=MINI ASCII
-bgColor=black
-border=black
-tileMapFile=51.tmx
-tileSetFile=standard.gif
-roomUp=53.room
-roomDown=47.room
-roomLeft=52.room
-roomRight=0
-itemColor1=bright_white
-itemColor2=black
-
-[enemy]
-animation=amstrad_cs.ani
-x=1
-y=6
-vx=1.2
-vy=0
-x1=1
-y1=6
-x2=30
-y2=6
-color=white
-[/enemy]
-
-[enemy]
-animation=amstrad_cs.ani
-x=19
-y=1
-vx=0
-vy=1.2
-x1=19
-y1=1
-x2=19
-y2=14
-color=yellow
-[/enemy]
-
-[enemy]
-animation=amstrad_cs.ani
-x=5
-y=6
-vx=0
-vy=1.2
-x1=5
-y1=1
-x2=5
-y2=12
-color=green
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=39
-x=28
-y=2
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=39
-x=9
-y=9
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/51.tmx b/data/room/51.tmx
deleted file mode 100644
index 20ce3fa..0000000
--- a/data/room/51.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/51.yaml b/data/room/51.yaml
new file mode 100644
index 0000000..b1292ef
--- /dev/null
+++ b/data/room/51.yaml
@@ -0,0 +1,85 @@
+# MINI ASCII
+room:
+ number: "51"
+ name: "MINI ASCII"
+ bgColor: black
+ border: black
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "53"
+ down: "47"
+ left: "52"
+ right: null
+
+ # Item display colors
+ itemColor1: bright_white
+ itemColor2: black
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [186, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 294, -1, -1, 183, 183, 183, 183, 183, 182]
+ - [186, -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, -1, -1, 182]
+ - [186, -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, -1, -1, 182]
+ - [186, -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, 183, 183, -1, -1, -1, 182]
+ - [186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, 183, -1, -1, -1, -1, -1, 292]
+ - [186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 294, -1, -1, -1, -1, -1, -1, -1, 292]
+ - [186, -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, -1, -1, 182]
+ - [186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 298, 185, -1, -1, -1, -1, -1, -1, -1, -1, 182]
+ - [186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, -1, -1, -1, -1, -1, -1, -1, 182]
+ - [186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 185, -1, -1, -1, -1, -1, -1, 182]
+ - [-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, 298, -1, -1, -1, -1, -1, 182]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 184, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 298, -1, -1, -1, -1, 182]
+ - [-1, -1, -1, -1, -1, -1, -1, 183, 183, 183, 183, 183, -1, -1, -1, -1, -1, -1, -1, -1, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 288, 182]
+ - [-1, -1, -1, -1, -1, 182, 182, 182, 182, 182, 182, 182, 182, 182, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 182]
+ - [-1, -1, -1, 181, 181, 181, 181, 181, 290, 181, 181, 181, 181, 181, 181, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 182]
+ - [184, 184, 184, 184, 184, 296, 296, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 180, 180, -1, -1, 180, 180, 180, 180, 180, 180, 180, 182]
+
+# Enemies in this room
+enemies:
+ - animation: amstrad_cs.yaml
+ position: {x: 1, y: 6}
+ velocity: {x: 72.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 6
+ x2: 30
+ y2: 6
+ color: white
+
+ - animation: amstrad_cs.yaml
+ position: {x: 19, y: 1}
+ velocity: {x: 0, y: 72.0}
+ boundaries:
+ x1: 19
+ y1: 1
+ x2: 19
+ y2: 14
+ color: yellow
+
+ - animation: amstrad_cs.yaml
+ position: {x: 5, y: 6}
+ velocity: {x: 0, y: 72.0}
+ boundaries:
+ x1: 5
+ y1: 1
+ x2: 5
+ y2: 12
+ color: green
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 39
+ position: {x: 28, y: 2}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 39
+ position: {x: 9, y: 9}
+ counter: 2
diff --git a/data/room/52.room b/data/room/52.room
deleted file mode 100644
index 3358acd..0000000
--- a/data/room/52.room
+++ /dev/null
@@ -1,32 +0,0 @@
-name=BREAKOUT.LUA
-bgColor=black
-border=black
-tileMapFile=52.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=0
-roomRight=51.room
-itemColor1=bright_white
-itemColor2=black
-
-[enemy]
-animation=breakout.ani
-x=1
-y=6
-vx=2.2
-vy=0
-x1=1
-y1=6
-x2=22
-y2=6
-color=white
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=39
-x=1
-y=13
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/52.tmx b/data/room/52.tmx
deleted file mode 100644
index f659360..0000000
--- a/data/room/52.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/52.yaml b/data/room/52.yaml
new file mode 100644
index 0000000..01d5f10
--- /dev/null
+++ b/data/room/52.yaml
@@ -0,0 +1,60 @@
+# BREAKOUT.LUA
+room:
+ number: "52"
+ name: "BREAKOUT.LUA"
+ bgColor: black
+ border: black
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: null
+ right: "51"
+
+ # Item display colors
+ itemColor1: bright_white
+ itemColor2: black
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [183, 181, 181, 181, 181, 181, 181, 181, 290, 290, 181, 181, 186, 186, 186, 186, 186, 186, 309, 186, 186, 186, 186, 186, 186, 186, 184, 184, 184, 184, 296, 296]
+ - [183, -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, -1, -1, 288]
+ - [183, -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, -1, -1, 180]
+ - [183, -1, 180, 180, 181, 181, 183, 183, 184, 184, 182, 182, 185, 185, 180, 180, 181, 181, 183, 183, 184, 184, 182, 182, -1, -1, -1, -1, -1, -1, -1, 180]
+ - [183, -1, 185, 185, 180, 180, 181, 181, 183, 183, 184, 184, 182, 182, 185, 185, 180, 180, 181, 181, 183, 183, 184, 184, -1, -1, -1, -1, -1, -1, -1, 180]
+ - [183, -1, 182, 182, 185, 185, 180, 180, 181, 181, 183, 183, 184, 184, 182, 182, 185, 185, 180, 180, 181, 181, 183, 183, -1, -1, -1, -1, -1, -1, -1, 180]
+ - [183, -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, -1, -1, 180]
+ - [183, -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, -1, -1, 180]
+ - [183, -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, -1, -1, 180]
+ - [185, -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, -1, -1, 180]
+ - [185, -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, -1, -1, -1]
+ - [185, -1, -1, 183, -1, -1, -1, -1, 183, -1, -1, -1, -1, 185, -1, -1, -1, -1, -1, -1, -1, 182, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [185, -1, 183, 183, 183, 184, -1, -1, 183, -1, -1, -1, 182, 182, -1, -1, -1, 184, 184, -1, -1, 182, 292, 292, 182, -1, -1, -1, -1, -1, -1, -1]
+ - [185, -1, 183, 186, 186, 186, 180, -1, 185, 183, -1, 182, 182, 292, -1, 184, 184, 184, 296, 184, -1, 182, 182, 182, 182, -1, -1, -1, -1, -1, -1, -1]
+ - [185, 181, 181, 290, 181, 181, 181, 181, 183, 183, 183, 183, 294, 183, 183, 183, 183, 185, 185, 298, 185, 185, 185, 185, 185, 185, -1, -1, -1, -1, -1, -1]
+ - [182, 182, 182, 182, 182, 292, 288, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184]
+
+# Enemies in this room
+enemies:
+ - animation: breakout.yaml
+ position: {x: 1, y: 6}
+ velocity: {x: 132.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 6
+ x2: 22
+ y2: 6
+ color: white
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 39
+ position: {x: 1, y: 13}
+ counter: 1
diff --git a/data/room/53.room b/data/room/53.room
deleted file mode 100644
index 00dad89..0000000
--- a/data/room/53.room
+++ /dev/null
@@ -1,87 +0,0 @@
-name=P.A.C.O. WORKSHOP
-bgColor=black
-border=yellow
-tileMapFile=53.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=51.room
-roomLeft=0
-roomRight=42.room
-itemColor1=magenta
-itemColor2=red
-
-[enemy]
-animation=paco.ani
-x=6
-y=6
-vx=18.0
-vy=0
-x1=6
-y1=6
-x2=13
-y2=6
-color=yellow
-[/enemy]
-
-[enemy]
-animation=paco.ani
-x=16
-y=2
-vx=0
-vy=48.0
-x1=16
-y1=2
-x2=16
-y2=13
-color=bright_red
-[/enemy]
-
-[enemy]
-animation=wave.ani
-x=1
-y=10
-vx=24.0
-vy=0
-x1=1
-y1=10
-x2=14
-y2=10
-color=bright_yellow
-[/enemy]
-
-[enemy]
-animation=lamp.ani
-x=22
-y=2
-vx=0
-vy=0
-x1=22
-y1=2
-x2=22
-y2=2
-color=bright_yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=40
-x=1
-y=6
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=40
-x=1
-y=9
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=40
-x=30
-y=5
-counter=3
-[/item]
diff --git a/data/room/53.tmx b/data/room/53.tmx
deleted file mode 100644
index 34c7733..0000000
--- a/data/room/53.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/53.yaml b/data/room/53.yaml
new file mode 100644
index 0000000..379ffe3
--- /dev/null
+++ b/data/room/53.yaml
@@ -0,0 +1,100 @@
+# P.A.C.O. WORKSHOP
+room:
+ number: "53"
+ name: "P.A.C.O. WORKSHOP"
+ bgColor: black
+ border: yellow
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: "51"
+ left: null
+ right: "42"
+
+ # Item display colors
+ itemColor1: magenta
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35]
+ - [35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35]
+ - [35, 35, 35, -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, 35, 35]
+ - [35, 35, -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, -1, 35]
+ - [35, -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, -1, -1, 35]
+ - [35, -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, -1, -1, 35]
+ - [35, -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, -1, -1, 35]
+ - [35, -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, -1, -1, 35]
+ - [35, 410, -1, -1, -1, -1, 410, 410, 410, 410, 410, 410, 410, 410, 410, -1, -1, -1, -1, 452, 452, 452, 452, 452, 452, 452, 452, -1, -1, -1, -1, 35]
+ - [35, -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, -1, 386, 35]
+ - [35, -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, -1, -1, 35]
+ - [35, 410, 410, 410, 410, 410, 410, 362, 410, 410, 410, 410, 410, 410, 410, -1, -1, -1, -1, 452, 452, 452, 452, 452, 452, 452, 452, -1, -1, -1, -1, 35]
+ - [35, -1, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 35]
+ - [35, -1, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [134, -1, -1, -1, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, -1, -1, 35, 35, 35, 35, 35, 35]
+
+# Enemies in this room
+enemies:
+ - animation: paco.yaml
+ position: {x: 6, y: 6}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 6
+ y1: 6
+ x2: 13
+ y2: 6
+ color: yellow
+
+ - animation: paco.yaml
+ position: {x: 16, y: 2}
+ velocity: {x: 0, y: 48.0}
+ boundaries:
+ x1: 16
+ y1: 2
+ x2: 16
+ y2: 13
+ color: bright_red
+
+ - animation: wave.yaml
+ position: {x: 1, y: 10}
+ velocity: {x: 24.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 10
+ x2: 14
+ y2: 10
+ color: bright_yellow
+
+ - animation: lamp.yaml
+ position: {x: 22, y: 2}
+ velocity: {x: 0, y: 0}
+ boundaries:
+ x1: 22
+ y1: 2
+ x2: 22
+ y2: 2
+ color: bright_yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 40
+ position: {x: 1, y: 6}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 40
+ position: {x: 1, y: 9}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 40
+ position: {x: 30, y: 5}
+ counter: 3
diff --git a/data/room/54.room b/data/room/54.room
deleted file mode 100644
index 65b581b..0000000
--- a/data/room/54.room
+++ /dev/null
@@ -1,74 +0,0 @@
-name=THE BASEMENT
-bgColor=black
-border=blue
-tileMapFile=54.tmx
-tileSetFile=standard.gif
-roomUp=18.room
-roomDown=0
-roomLeft=0
-roomRight=55.room
-itemColor1=yellow
-itemColor2=blue
-
-[enemy]
-animation=spider.ani
-x=2
-y=14
-vx=30.0
-vy=0
-x1=2
-y1=14
-x2=18
-y2=14
-color=magenta
-[/enemy]
-
-[enemy]
-animation=spider.ani
-x=10
-y=1
-vx=0
-vy=1
-x1=10
-y1=1
-x2=10
-y2=6
-color=yellow
-[/enemy]
-
-[enemy]
-animation=spider.ani
-x=7
-y=11
-vx=18.0
-vy=0
-x1=7
-y1=11
-x2=14
-y2=11
-color=cyan
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=35
-x=15
-y=9
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=35
-x=1
-y=14
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=35
-x=1
-y=9
-counter=3
-[/item]
\ No newline at end of file
diff --git a/data/room/54.tmx b/data/room/54.tmx
deleted file mode 100644
index 21e74c0..0000000
--- a/data/room/54.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/54.yaml b/data/room/54.yaml
new file mode 100644
index 0000000..b642ccd
--- /dev/null
+++ b/data/room/54.yaml
@@ -0,0 +1,90 @@
+# THE BASEMENT
+room:
+ number: "54"
+ name: "THE BASEMENT"
+ bgColor: black
+ border: blue
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "18"
+ down: null
+ left: null
+ right: "55"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: blue
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [15, 15, 15, 15, 15, 15, 15, 15, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, -1, -1, -1, -1, 518, 348, 348, 348, 15, 15, 15, 15, 15, 15]
+ - [15, 15, 15, 15, 15, 301, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, -1, -1, -1, -1, -1, -1, 301, 15, 15, 15]
+ - [15, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 15]
+ - [15, 301, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, 31, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15]
+ - [15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15]
+ - [15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, -1, -1, -1, -1, -1, -1, -1, 348, 15, 15, -1, -1, -1, -1, -1, -1]
+ - [15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, -1, -1, -1, -1, -1, -1, 348, 15, 15, 301, -1, -1, -1, -1, -1, -1, -1]
+ - [31, -1, -1, -1, -1, -1, -1, 505, 31, 31, 31, 31, 31, 31, -1, -1, -1, -1, -1, -1, -1, -1, 301, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [31, -1, -1, -1, -1, -1, 505, -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]
+ - [31, -1, -1, -1, -1, 505, -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]
+ - [31, 31, 31, 31, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 408, 408, 408, 408, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [31, -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, -1, -1, -1]
+ - [31, -1, -1, -1, -1, -1, -1, 408, 408, 408, 408, 408, 408, 408, 408, -1, -1, -1, -1, -1, -1, -1, -1, 518, 15, 15, 15, 15, 15, 15, 15, 15]
+ - [31, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, 31, 15, 133, 15, 133, 15, 15, 15, 15]
+ - [31, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, 31, 31, 15, 133, 15, 133, 15, 15, 15, 15]
+ - [31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348]
+
+# Enemies in this room
+enemies:
+ - animation: spider.yaml
+ position: {x: 2, y: 14}
+ velocity: {x: 30.0, y: 0}
+ boundaries:
+ x1: 2
+ y1: 14
+ x2: 18
+ y2: 14
+ color: magenta
+
+ - animation: spider.yaml
+ position: {x: 10, y: 1}
+ velocity: {x: 0, y: 60.0}
+ boundaries:
+ x1: 10
+ y1: 1
+ x2: 10
+ y2: 6
+ color: yellow
+
+ - animation: spider.yaml
+ position: {x: 7, y: 11}
+ velocity: {x: 18.0, y: 0}
+ boundaries:
+ x1: 7
+ y1: 11
+ x2: 14
+ y2: 11
+ color: cyan
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 35
+ position: {x: 15, y: 9}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 35
+ position: {x: 1, y: 14}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 35
+ position: {x: 1, y: 9}
+ counter: 3
diff --git a/data/room/55.room b/data/room/55.room
deleted file mode 100644
index 6c546f6..0000000
--- a/data/room/55.room
+++ /dev/null
@@ -1,54 +0,0 @@
-name=THAT'S A GUITAR
-bgColor=black
-border=black
-tileMapFile=55.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=54.room
-roomRight=56.room
-itemColor1=magenta
-itemColor2=red
-autoSurface=left
-
-[enemy]
-animation=dimallas.ani
-x=15
-y=13
-vx=36.0
-vy=0
-x1=9
-y1=13
-x2=25
-y2=13
-color=cyan
-[/enemy]
-
-[enemy]
-animation=guitar.ani
-x=16
-y=4
-vx=0
-vy=18.0
-x1=16
-y1=4
-x2=16
-y2=10
-color=red
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=25
-x=9
-y=4
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=25
-x=20
-y=11
-counter=2
-[/item]
\ No newline at end of file
diff --git a/data/room/55.tmx b/data/room/55.tmx
deleted file mode 100644
index efa169c..0000000
--- a/data/room/55.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/55.yaml b/data/room/55.yaml
new file mode 100644
index 0000000..61c6505
--- /dev/null
+++ b/data/room/55.yaml
@@ -0,0 +1,75 @@
+# THAT'S A GUITAR
+room:
+ number: "55"
+ name: "THAT'S A GUITAR"
+ bgColor: black
+ border: black
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "54"
+ right: "56"
+
+ # Item display colors
+ itemColor1: magenta
+ itemColor2: red
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: -1
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [15, 15, 15, -1, -1, -1, -1, 301, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15]
+ - [15, 301, -1, -1, -1, -1, -1, -1, 301, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 15, 15, 15, 15, 15, 15, 15]
+ - [15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, 15, 15, 15, 15, 15, 15]
+ - [301, -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, 301, 15, 15, 15, 15]
+ - [-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, -1, -1, 15, 15]
+ - [-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, -1, -1, 301, 15]
+ - [-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, -1, -1, -1, 15]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, 301, -1, -1, -1, -1, 301, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, -1, -1, -1, -1, 301, -1, -1, -1, -1, -1, -1, 15]
+ - [-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, -1, -1, -1, 15]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 301, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 476, -1, -1, -1, 15]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, 325, -1, -1, -1, -1, -1, -1, -1, -1, -1, 325, -1, -1, -1, -1, 325, -1, -1, -1, -1, -1, -1, -1, 15]
+ - [15, 15, 15, 15, 537, -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, 15]
+ - [15, 15, 15, 15, 15, 537, -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]
+ - [15, 15, 15, 15, 15, 15, 537, -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]
+ - [348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348, 348]
+
+# Enemies in this room
+enemies:
+ - animation: dimallas.yaml
+ position: {x: 15, y: 13}
+ velocity: {x: 36.0, y: 0}
+ boundaries:
+ x1: 9
+ y1: 13
+ x2: 25
+ y2: 13
+ color: cyan
+
+ - animation: guitar.yaml
+ position: {x: 16, y: 4}
+ velocity: {x: 0, y: 18.0}
+ boundaries:
+ x1: 16
+ y1: 4
+ x2: 16
+ y2: 10
+ color: red
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 25
+ position: {x: 9, y: 4}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 25
+ position: {x: 20, y: 11}
+ counter: 2
diff --git a/data/room/56.room b/data/room/56.room
deleted file mode 100644
index db65239..0000000
--- a/data/room/56.room
+++ /dev/null
@@ -1,70 +0,0 @@
-name=HEAVY DEMONS ON LEGGINS
-bgColor=black
-border=black
-tileMapFile=56.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=55.room
-roomRight=57.room
-itemColor1=bright_red
-itemColor2=green
-autoSurface=left
-
-[enemy]
-animation=demon.ani
-x=12
-y=3
-vx=0
-vy=30.0
-x1=12
-y1=3
-x2=12
-y2=12
-color=red
-[/enemy]
-
-[enemy]
-animation=demon.ani
-x=18
-y=5
-vx=0
-vy=30.0
-x1=18
-y1=3
-x2=18
-y2=12
-color=red
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=28
-x=15
-y=10
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=28
-x=16
-y=10
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=28
-x=15
-y=5
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=28
-x=16
-y=5
-counter=4
-[/item]
\ No newline at end of file
diff --git a/data/room/56.tmx b/data/room/56.tmx
deleted file mode 100644
index ba4193c..0000000
--- a/data/room/56.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/56.yaml b/data/room/56.yaml
new file mode 100644
index 0000000..1257002
--- /dev/null
+++ b/data/room/56.yaml
@@ -0,0 +1,85 @@
+# HEAVY DEMONS ON LEGGINS
+room:
+ number: "56"
+ name: "HEAVY DEMONS ON LEGGINS"
+ bgColor: black
+ border: black
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "55"
+ right: "57"
+
+ # Item display colors
+ itemColor1: bright_red
+ itemColor2: green
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: -1
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-1, -1, -1, 302, 302, 302, 302, -1, 302, 302, 302, 302, 302, -1, 302, 302, 302, 302, 302, 302, 302, 302, 302, -1, -1, 302, 302, 302, 302, -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, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [17, 568, -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, 567, 17]
+ - [17, 568, -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, 567, 17]
+ - [17, 568, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 468, 468, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 567, 17]
+ - [17, 568, -1, -1, -1, -1, -1, -1, 410, 410, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 410, 410, 410, -1, -1, -1, -1, -1, -1, 567, 17]
+ - [17, 568, -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, 567, 17]
+ - [17, 568, -1, 17, 17, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 17, 17, 17, -1, 567, 17]
+ - [17, 568, -1, 566, 566, 566, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 566, 566, 566, -1, 567, 17]
+ - [17, 568, -1, -1, -1, -1, -1, -1, 519, 410, 410, -1, -1, -1, -1, 468, 468, -1, -1, -1, -1, 410, 410, 543, -1, -1, -1, -1, -1, -1, 567, 17]
+ - [17, 568, -1, -1, -1, -1, -1, 519, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 543, -1, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, -1, 519, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 543, -1, -1, -1, -1, -1, -1]
+ - [-1, -1, -1, -1, -1, 519, -1, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, 562, -1, 543, -1, -1, -1, 514, 17]
+ - [17, 17, 17, 17, 17, 17, 17, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 17, 17, 17, 17, 17, 17, 17]
+
+# Enemies in this room
+enemies:
+ - animation: demon.yaml
+ position: {x: 12, y: 3}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 12
+ y1: 3
+ x2: 12
+ y2: 12
+ color: red
+
+ - animation: demon.yaml
+ position: {x: 18, y: 5}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 18
+ y1: 3
+ x2: 18
+ y2: 12
+ color: red
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 28
+ position: {x: 15, y: 10}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 28
+ position: {x: 16, y: 10}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 28
+ position: {x: 15, y: 5}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 28
+ position: {x: 16, y: 5}
+ counter: 4
diff --git a/data/room/57.room b/data/room/57.room
deleted file mode 100644
index 0620222..0000000
--- a/data/room/57.room
+++ /dev/null
@@ -1,99 +0,0 @@
-name=JAILGAMES GO TO HELL
-bgColor=red
-border=bright_red
-tileMapFile=57.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=56.room
-roomRight=58.room
-itemColor1=yellow
-itemColor2=green
-autoSurface=left
-
-[enemy]
-animation=dimallas.ani
-x=13
-y=12
-vx=54.0
-vy=0
-x1=4
-y1=12
-x2=21
-y2=12
-color=green
-[/enemy]
-
-[enemy]
-animation=heavy.ani
-x=17
-y=5
-vx=0
-vy=36.0
-x1=17
-y1=2
-x2=17
-y2=10
-color=white
-[/enemy]
-
-[enemy]
-animation=heavy.ani
-x=10
-y=8
-vx=0
-vy=36.0
-x1=10
-y1=2
-x2=10
-y2=10
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=32
-x=7
-y=8
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=32
-x=14
-y=8
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=32
-x=21
-y=8
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=49
-x=7
-y=11
-counter=4
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=49
-x=14
-y=11
-counter=5
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=49
-x=21
-y=11
-counter=6
-[/item]
\ No newline at end of file
diff --git a/data/room/57.tmx b/data/room/57.tmx
deleted file mode 100644
index c2f580c..0000000
--- a/data/room/57.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/57.yaml b/data/room/57.yaml
new file mode 100644
index 0000000..dff8ef6
--- /dev/null
+++ b/data/room/57.yaml
@@ -0,0 +1,105 @@
+# JAILGAMES GO TO HELL
+room:
+ number: "57"
+ name: "JAILGAMES GO TO HELL"
+ bgColor: red
+ border: bright_red
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "56"
+ right: "58"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: green
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: -1
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [-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, -1, -1, -1, -1]
+ - [18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18]
+ - [18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18]
+ - [18, -1, -1, -1, -1, -1, 18, 18, 18, -1, -1, -1, -1, 18, 18, 18, -1, -1, -1, -1, 18, 18, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [18, -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, -1, 524, 18]
+ - [18, -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, 524, -1, 18]
+ - [18, -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, 307, -1, -1, 18]
+ - [18, -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, -1, -1, 18]
+ - [18, -1, -1, -1, -1, 524, 307, 307, 307, -1, -1, -1, -1, 307, 307, 307, -1, -1, -1, -1, 307, 307, 307, -1, -1, -1, -1, 307, -1, -1, -1, 18]
+ - [18, -1, -1, -1, 307, -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, 18]
+ - [18, -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, -1, -1, 18]
+ - [-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, -1, -1, -1, -1]
+ - [-1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18]
+ - [492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492]
+
+# Enemies in this room
+enemies:
+ - animation: dimallas.yaml
+ position: {x: 13, y: 12}
+ velocity: {x: 54.0, y: 0}
+ boundaries:
+ x1: 4
+ y1: 12
+ x2: 21
+ y2: 12
+ color: green
+
+ - animation: heavy.yaml
+ position: {x: 17, y: 5}
+ velocity: {x: 0, y: 36.0}
+ boundaries:
+ x1: 17
+ y1: 2
+ x2: 17
+ y2: 10
+ color: white
+
+ - animation: heavy.yaml
+ position: {x: 10, y: 8}
+ velocity: {x: 0, y: 36.0}
+ boundaries:
+ x1: 10
+ y1: 2
+ x2: 10
+ y2: 10
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 32
+ position: {x: 7, y: 8}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 32
+ position: {x: 14, y: 8}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 32
+ position: {x: 21, y: 8}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 49
+ position: {x: 7, y: 11}
+ counter: 4
+
+ - tileSetFile: items.gif
+ tile: 49
+ position: {x: 14, y: 11}
+ counter: 5
+
+ - tileSetFile: items.gif
+ tile: 49
+ position: {x: 21, y: 11}
+ counter: 6
diff --git a/data/room/58.room b/data/room/58.room
deleted file mode 100644
index 512faa5..0000000
--- a/data/room/58.room
+++ /dev/null
@@ -1,80 +0,0 @@
-name=CHIRPING
-bgColor=black
-border=magenta
-tileMapFile=58.tmx
-tileSetFile=standard.gif
-roomUp=0
-roomDown=0
-roomLeft=57.room
-roomRight=59.room
-
-[enemy]
-animation=bird.ani
-x=4
-y=2
-vx=0
-vy=30.0
-x1=4
-y1=2
-x2=4
-y2=12
-color=yellow
-[/enemy]
-
-[enemy]
-animation=bird.ani
-x=9
-y=11
-vx=0
-vy=-30.000000
-x1=9
-y1=0
-x2=9
-y2=10
-color=green
-[/enemy]
-
-[enemy]
-animation=bird.ani
-x=26
-y=5
-vx=0
-vy=-30.000000
-x1=26
-y1=2
-x2=26
-y2=12
-color=white
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=10
-x=2
-y=8
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=10
-x=2
-y=3
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=10
-x=29
-y=8
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=10
-x=29
-y=3
-counter=4
-[/item]
\ No newline at end of file
diff --git a/data/room/58.tmx b/data/room/58.tmx
deleted file mode 100644
index 018be9f..0000000
--- a/data/room/58.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/58.yaml b/data/room/58.yaml
new file mode 100644
index 0000000..218e200
--- /dev/null
+++ b/data/room/58.yaml
@@ -0,0 +1,95 @@
+# CHIRPING
+room:
+ number: "58"
+ name: "CHIRPING"
+ bgColor: black
+ border: magenta
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: null
+ down: null
+ left: "57"
+ right: "59"
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [36, -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, -1, -1, 36]
+ - [36, -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, -1, -1, 36]
+ - [36, -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, -1, -1, 36]
+ - [-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, -1, -1, -1, 36]
+ - [-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, -1, -1, -1, 36]
+ - [36, 410, 410, 410, -1, -1, 410, 410, 410, -1, -1, 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, -1, -1, 520, 410, 410, -1, -1, 410, 410, 410, 36]
+ - [36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, 36]
+ - [36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36]
+ - [36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36]
+ - [36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 520, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36]
+ - [36, 410, 410, 410, -1, -1, 410, 410, 410, -1, -1, 410, 410, 410, 544, -1, -1, 410, 410, 410, 410, 410, 410, 410, 410, 410, -1, -1, 410, 410, 410, 36]
+ - [36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 544, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 544, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 544, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [36, 536, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 544, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]
+ - [36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36]
+
+# Enemies in this room
+enemies:
+ - animation: bird.yaml
+ position: {x: 4, y: 2}
+ velocity: {x: 0, y: 30.0}
+ boundaries:
+ x1: 4
+ y1: 2
+ x2: 4
+ y2: 12
+ color: yellow
+
+ - animation: bird.yaml
+ position: {x: 9, y: 11}
+ velocity: {x: 0, y: -30.0}
+ boundaries:
+ x1: 9
+ y1: 0
+ x2: 9
+ y2: 10
+ color: green
+
+ - animation: bird.yaml
+ position: {x: 26, y: 5}
+ velocity: {x: 0, y: -30.0}
+ boundaries:
+ x1: 26
+ y1: 2
+ x2: 26
+ y2: 12
+ color: white
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 10
+ position: {x: 2, y: 8}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 10
+ position: {x: 2, y: 3}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 10
+ position: {x: 29, y: 8}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 10
+ position: {x: 29, y: 3}
+ counter: 4
diff --git a/data/room/59.room b/data/room/59.room
deleted file mode 100644
index fa23fc6..0000000
--- a/data/room/59.room
+++ /dev/null
@@ -1,89 +0,0 @@
-name=STATIC
-bgColor=black
-border=bright_magenta
-tileMapFile=59.tmx
-tileSetFile=standard.gif
-roomUp=60.room
-roomDown=0
-roomLeft=58.room
-roomRight=0
-
-[enemy]
-animation=wave.ani
-x=1
-y=10
-vx=48.0
-vy=0
-x1=1
-y1=10
-x2=30
-y2=10
-color=magenta
-[/enemy]
-
-[enemy]
-animation=wave.ani
-x=30
-y=4
-vx=-48.000000
-vy=0
-x1=1
-y1=4
-x2=30
-y2=4
-color=cyan
-[/enemy]
-
-[enemy]
-animation=wave.ani
-x=15
-y=14
-vx=-24.000000
-vy=0
-x1=3
-y1=14
-x2=30
-y2=14
-color=green
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=24
-x=29
-y=13
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=24
-x=17
-y=6
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=24
-x=9
-y=6
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=24
-x=2
-y=9
-counter=4
-[/item]
-
-
-[item]
-tileSetFile=items.gif
-tile=24
-x=29
-y=3
-counter=5
-[/item]
\ No newline at end of file
diff --git a/data/room/59.tmx b/data/room/59.tmx
deleted file mode 100644
index e261a43..0000000
--- a/data/room/59.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/59.yaml b/data/room/59.yaml
new file mode 100644
index 0000000..e75971f
--- /dev/null
+++ b/data/room/59.yaml
@@ -0,0 +1,100 @@
+# STATIC
+room:
+ number: "59"
+ name: "STATIC"
+ bgColor: black
+ border: bright_magenta
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "60"
+ down: null
+ left: "58"
+ right: null
+
+ # Item display colors
+ itemColor1: yellow
+ itemColor2: magenta
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [63, -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, 505, -1, 63]
+ - [63, -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, 505, -1, -1, 63]
+ - [63, -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, 505, -1, -1, -1, 63]
+ - [63, -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, 505, -1, -1, -1, -1, 63]
+ - [63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 505, -1, -1, -1, -1, -1, 63]
+ - [63, 63, 63, 529, -1, -1, -1, 63, 63, 63, 63, -1, -1, -1, -1, 63, 63, 63, 63, -1, -1, -1, -1, 63, 63, 63, 63, -1, -1, 63, 63, 63]
+ - [63, -1, -1, -1, 529, -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, 63]
+ - [63, -1, -1, -1, -1, 529, -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, 63]
+ - [63, -1, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63]
+ - [63, -1, -1, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63]
+ - [63, -1, -1, -1, -1, -1, -1, -1, 529, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63]
+ - [63, 416, 416, 416, 416, -1, -1, -1, -1, 416, 416, 416, -1, -1, -1, -1, 416, 416, 416, 416, 416, 416, 416, -1, -1, -1, 505, 416, 416, 416, 416, 63]
+ - [63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 505, -1, -1, -1, -1, -1, 63]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 505, -1, -1, -1, -1, -1, -1, 63]
+ - [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 505, -1, -1, -1, -1, -1, -1, -1, 63]
+ - [63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63]
+
+# Enemies in this room
+enemies:
+ - animation: wave.yaml
+ position: {x: 1, y: 10}
+ velocity: {x: 48.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 10
+ x2: 30
+ y2: 10
+ color: magenta
+
+ - animation: wave.yaml
+ position: {x: 30, y: 4}
+ velocity: {x: -48.0, y: 0}
+ boundaries:
+ x1: 1
+ y1: 4
+ x2: 30
+ y2: 4
+ color: cyan
+
+ - animation: wave.yaml
+ position: {x: 15, y: 14}
+ velocity: {x: -24.0, y: 0}
+ boundaries:
+ x1: 3
+ y1: 14
+ x2: 30
+ y2: 14
+ color: green
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 24
+ position: {x: 29, y: 13}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 24
+ position: {x: 17, y: 6}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 24
+ position: {x: 9, y: 6}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 24
+ position: {x: 2, y: 9}
+ counter: 4
+
+ - tileSetFile: items.gif
+ tile: 24
+ position: {x: 29, y: 3}
+ counter: 5
diff --git a/data/room/60.room b/data/room/60.room
deleted file mode 100644
index 2c5b627..0000000
--- a/data/room/60.room
+++ /dev/null
@@ -1,85 +0,0 @@
-name=MAGNETIC FIELDS
-bgColor=black
-border=bright_red
-tileMapFile=60.tmx
-tileSetFile=standard.gif
-roomUp=05.room
-roomDown=59.room
-roomLeft=0
-roomRight=0
-itemColor1=red
-itemColor2=green
-
-[enemy]
-animation=shock.ani
-x=7
-y=2
-vx=0
-vy=1.5
-x1=7
-y1=1
-x2=7
-y2=14
-color=yellow
-[/enemy]
-
-[enemy]
-animation=shock.ani
-x=24
-y=6
-vx=0
-vy=-90.000000
-x1=24
-y1=1
-x2=24
-y2=14
-color=yellow
-[/enemy]
-
-[item]
-tileSetFile=items.gif
-tile=1
-x=5
-y=4
-counter=1
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=1
-x=4
-y=9
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=1
-x=9
-y=9
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=1
-x=22
-y=9
-counter=2
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=1
-x=27
-y=9
-counter=3
-[/item]
-
-[item]
-tileSetFile=items.gif
-tile=1
-x=26
-y=4
-counter=1
-[/item]
\ No newline at end of file
diff --git a/data/room/60.tmx b/data/room/60.tmx
deleted file mode 100644
index 327a673..0000000
--- a/data/room/60.tmx
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
diff --git a/data/room/60.yaml b/data/room/60.yaml
new file mode 100644
index 0000000..fd7f455
--- /dev/null
+++ b/data/room/60.yaml
@@ -0,0 +1,95 @@
+# MAGNETIC FIELDS
+room:
+ number: "60"
+ name: "MAGNETIC FIELDS"
+ bgColor: black
+ border: bright_red
+ tileSetFile: standard.gif
+
+ # Room connections (null for no connection)
+ connections:
+ up: "05"
+ down: "59"
+ left: null
+ right: null
+
+ # Item display colors
+ itemColor1: red
+ itemColor2: green
+
+ # Conveyor belt direction: left (-1), none (0), right (1)
+ autoSurface: 0
+
+# Tilemap: 16 rows × 32 columns (256×192 pixels @ 8px/tile)
+# Values are 0-based tile indices (0 = empty)
+tilemap:
+ - [168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 410, -1, -1, 410, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168]
+ - [168, -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, -1, -1, 168]
+ - [168, -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, -1, -1, 168]
+ - [168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 410, 410, 410, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168]
+ - [168, -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, -1, -1, 168]
+ - [168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 410, -1, -1, -1, -1, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168]
+ - [168, -1, -1, -1, -1, 307, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 307, -1, -1, -1, -1, 168]
+ - [168, -1, -1, -1, -1, -1, -1, -1, -1, -1, 410, 410, 410, 410, -1, -1, -1, -1, 410, 410, 410, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168]
+ - [168, -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, -1, -1, 168]
+ - [168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 410, -1, -1, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168]
+ - [168, -1, -1, -1, 307, -1, -1, -1, -1, 307, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 307, -1, -1, -1, -1, 307, -1, -1, -1, 168]
+ - [168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 410, 410, 410, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168]
+ - [168, -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, -1, -1, 168]
+ - [168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 410, -1, -1, -1, -1, 410, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168]
+ - [168, -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, -1, -1, 168]
+ - [168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, -1, -1, 168, 168, 168, 168]
+
+# Enemies in this room
+enemies:
+ - animation: shock.yaml
+ position: {x: 7, y: 2}
+ velocity: {x: 0, y: 90.0}
+ boundaries:
+ x1: 7
+ y1: 1
+ x2: 7
+ y2: 14
+ color: yellow
+
+ - animation: shock.yaml
+ position: {x: 24, y: 6}
+ velocity: {x: 0, y: -90.0}
+ boundaries:
+ x1: 24
+ y1: 1
+ x2: 24
+ y2: 14
+ color: yellow
+
+# Items in this room
+items:
+ - tileSetFile: items.gif
+ tile: 1
+ position: {x: 5, y: 4}
+ counter: 1
+
+ - tileSetFile: items.gif
+ tile: 1
+ position: {x: 4, y: 9}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 1
+ position: {x: 9, y: 9}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 1
+ position: {x: 22, y: 9}
+ counter: 2
+
+ - tileSetFile: items.gif
+ tile: 1
+ position: {x: 27, y: 9}
+ counter: 3
+
+ - tileSetFile: items.gif
+ tile: 1
+ position: {x: 26, y: 4}
+ counter: 1
diff --git a/data/room/map.world b/data/room/map.world
deleted file mode 100644
index 85e9571..0000000
--- a/data/room/map.world
+++ /dev/null
@@ -1,426 +0,0 @@
-{
- "maps": [
- {
- "fileName": "01.tmx",
- "height": 128,
- "width": 256,
- "x": -1424,
- "y": 792
- },
- {
- "fileName": "02.tmx",
- "height": 128,
- "width": 256,
- "x": -1168,
- "y": 792
- },
- {
- "fileName": "03.tmx",
- "height": 128,
- "width": 256,
- "x": -912,
- "y": 792
- },
- {
- "fileName": "04.tmx",
- "height": 128,
- "width": 256,
- "x": -1168,
- "y": 920
- },
- {
- "fileName": "05.tmx",
- "height": 128,
- "width": 256,
- "x": -912,
- "y": 920
- },
- {
- "fileName": "06.tmx",
- "height": 128,
- "width": 256,
- "x": -656,
- "y": 920
- },
- {
- "fileName": "07.tmx",
- "height": 128,
- "width": 256,
- "x": -1424,
- "y": 920
- },
- {
- "fileName": "08.tmx",
- "height": 128,
- "width": 256,
- "x": -1680,
- "y": 920
- },
- {
- "fileName": "09.tmx",
- "height": 128,
- "width": 256,
- "x": -1680,
- "y": 792
- },
- {
- "fileName": "10.tmx",
- "height": 128,
- "width": 256,
- "x": -1680,
- "y": 664
- },
- {
- "fileName": "11.tmx",
- "height": 128,
- "width": 256,
- "x": -1424,
- "y": 664
- },
- {
- "fileName": "12.tmx",
- "height": 128,
- "width": 256,
- "x": -1168,
- "y": 664
- },
- {
- "fileName": "13.tmx",
- "height": 128,
- "width": 256,
- "x": -912,
- "y": 664
- },
- {
- "fileName": "14.tmx",
- "height": 128,
- "width": 256,
- "x": -656,
- "y": 664
- },
- {
- "fileName": "15.tmx",
- "height": 128,
- "width": 256,
- "x": -656,
- "y": 792
- },
- {
- "fileName": "16.tmx",
- "height": 128,
- "width": 256,
- "x": -1936,
- "y": 920
- },
- {
- "fileName": "17.tmx",
- "height": 128,
- "width": 256,
- "x": -2192,
- "y": 920
- },
- {
- "fileName": "18.tmx",
- "height": 128,
- "width": 256,
- "x": -2192,
- "y": 1048
- },
- {
- "fileName": "19.tmx",
- "height": 128,
- "width": 256,
- "x": -2448,
- "y": 1048
- },
- {
- "fileName": "20.tmx",
- "height": 128,
- "width": 256,
- "x": -2704,
- "y": 1048
- },
- {
- "fileName": "21.tmx",
- "height": 128,
- "width": 256,
- "x": -2960,
- "y": 1048
- },
- {
- "fileName": "22.tmx",
- "height": 128,
- "width": 256,
- "x": -3216,
- "y": 1048
- },
- {
- "fileName": "23.tmx",
- "height": 128,
- "width": 256,
- "x": -2960,
- "y": 920
- },
- {
- "fileName": "24.tmx",
- "height": 128,
- "width": 256,
- "x": -3216,
- "y": 920
- },
- {
- "fileName": "25.tmx",
- "height": 128,
- "width": 256,
- "x": -400,
- "y": 920
- },
- {
- "fileName": "26.tmx",
- "height": 128,
- "width": 256,
- "x": -144,
- "y": 920
- },
- {
- "fileName": "27.tmx",
- "height": 128,
- "width": 256,
- "x": 112,
- "y": 920
- },
- {
- "fileName": "28.tmx",
- "height": 128,
- "width": 256,
- "x": 112,
- "y": 792
- },
- {
- "fileName": "29.tmx",
- "height": 128,
- "width": 256,
- "x": 112,
- "y": 1048
- },
- {
- "fileName": "30.tmx",
- "height": 128,
- "width": 256,
- "x": -144,
- "y": 1048
- },
- {
- "fileName": "31.tmx",
- "height": 128,
- "width": 256,
- "x": 368,
- "y": 792
- },
- {
- "fileName": "32.tmx",
- "height": 128,
- "width": 256,
- "x": 112,
- "y": 664
- },
- {
- "fileName": "33.tmx",
- "height": 128,
- "width": 256,
- "x": 368,
- "y": 664
- },
- {
- "fileName": "34.tmx",
- "height": 128,
- "width": 256,
- "x": 112,
- "y": 536
- },
- {
- "fileName": "35.tmx",
- "height": 128,
- "width": 256,
- "x": -144,
- "y": 536
- },
- {
- "fileName": "36.tmx",
- "height": 128,
- "width": 256,
- "x": -400,
- "y": 536
- },
- {
- "fileName": "37.tmx",
- "height": 128,
- "width": 256,
- "x": -656,
- "y": 536
- },
- {
- "fileName": "38.tmx",
- "height": 128,
- "width": 256,
- "x": -912,
- "y": 536
- },
- {
- "fileName": "39.tmx",
- "height": 128,
- "width": 256,
- "x": -1168,
- "y": 536
- },
- {
- "fileName": "40.tmx",
- "height": 128,
- "width": 256,
- "x": -1424,
- "y": 536
- },
- {
- "fileName": "41.tmx",
- "height": 128,
- "width": 256,
- "x": -1680,
- "y": 536
- },
- {
- "fileName": "42.tmx",
- "height": 128,
- "width": 256,
- "x": -1936,
- "y": 536
- },
- {
- "fileName": "43.tmx",
- "height": 128,
- "width": 256,
- "x": -1936,
- "y": 664
- },
- {
- "fileName": "44.tmx",
- "height": 128,
- "width": 256,
- "x": -1936,
- "y": 792
- },
- {
- "fileName": "45.tmx",
- "height": 128,
- "width": 256,
- "x": -400,
- "y": 664
- },
- {
- "fileName": "46.tmx",
- "height": 128,
- "width": 256,
- "x": -144,
- "y": 664
- },
- {
- "fileName": "47.tmx",
- "height": 128,
- "width": 256,
- "x": -2192,
- "y": 792
- },
- {
- "fileName": "48.tmx",
- "height": 128,
- "width": 256,
- "x": -2448,
- "y": 792
- },
- {
- "fileName": "49.tmx",
- "height": 128,
- "width": 256,
- "x": -2448,
- "y": 920
- },
- {
- "fileName": "50.tmx",
- "height": 128,
- "width": 256,
- "x": -2704,
- "y": 920
- },
- {
- "fileName": "51.tmx",
- "height": 128,
- "width": 256,
- "x": -2192,
- "y": 664
- },
- {
- "fileName": "52.tmx",
- "height": 128,
- "width": 256,
- "x": -2448,
- "y": 664
- },
- {
- "fileName": "53.tmx",
- "height": 128,
- "width": 256,
- "x": -2192,
- "y": 536
- },
- {
- "fileName": "54.tmx",
- "height": 128,
- "width": 256,
- "x": -2192,
- "y": 1176
- },
- {
- "fileName": "55.tmx",
- "height": 128,
- "width": 256,
- "x": -1936,
- "y": 1176
- },
- {
- "fileName": "56.tmx",
- "height": 128,
- "width": 256,
- "x": -1680,
- "y": 1176
- },
- {
- "fileName": "57.tmx",
- "height": 128,
- "width": 256,
- "x": -1424,
- "y": 1176
- },
- {
- "fileName": "58.tmx",
- "height": 128,
- "width": 256,
- "x": -1168,
- "y": 1176
- },
- {
- "fileName": "59.tmx",
- "height": 128,
- "width": 256,
- "x": -912,
- "y": 1176
- },
- {
- "fileName": "60.tmx",
- "height": 128,
- "width": 256,
- "x": -912,
- "y": 1048
- }
- ],
- "onlyShowAdjacentMaps": false,
- "type": "world"
-}
diff --git a/data/room/standard.tsx b/data/room/standard.tsx
deleted file mode 100644
index 822a103..0000000
--- a/data/room/standard.tsx
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/source/fkYAML/node.hpp b/source/fkYAML/node.hpp
new file mode 100644
index 0000000..05e7957
--- /dev/null
+++ b/source/fkYAML/node.hpp
@@ -0,0 +1,14726 @@
+// _______ __ __ __ _____ __ __ __
+// | __| |_/ | \_/ |/ _ \ / \/ \| | fkYAML: A C++ header-only YAML library
+// | __| _ < \_ _/| ___ | _ | |___ version 0.4.2
+// |__| |_| \__| |_| |_| |_|___||___|______| https://github.com/fktn-k/fkYAML
+//
+// SPDX-FileCopyrightText: 2023-2025 Kensuke Fukutani
+// SPDX-License-Identifier: MIT
+
+#ifndef FK_YAML_NODE_HPP
+#define FK_YAML_NODE_HPP
+
+#include
+#include
+#include
+#include
+#include