map: doors are now rendered using templates
authorLukas Krickl <lukas@krickl.dev>
Tue, 16 Dec 2025 21:46:22 +0000 (22:46 +0100)
committerLukas Krickl <lukas@krickl.dev>
Tue, 16 Dec 2025 21:46:22 +0000 (22:46 +0100)
This makes it easier to change the door style later on.

14 files changed:
makefile
maps/far_center_door.inc [new file with mode: 0644]
maps/far_left_door.inc [new file with mode: 0644]
maps/far_right_door.inc [new file with mode: 0644]
maps/far_wall.inc
maps/l1.inc
maps/near_left_door.inc [new file with mode: 0644]
maps/near_right_door.inc [new file with mode: 0644]
maps/near_wall.inc
src/map.s
src/tiles.s
tiles/bank8000.inc
tiles/bank9000.inc
tools/tmx2map.py

index 80c3fc5cc496a68b57f810cb67a58d2206c1702c..bce0463b5afeb6f349d976b7fada85a2a37eb098 100644 (file)
--- a/makefile
+++ b/makefile
@@ -23,3 +23,9 @@ maps:
        ./tools/tmx2map.py assets/maps/near_wall.tmx 1 > maps/near_wall.inc
        ./tools/tmx2map.py assets/maps/far_wall.tmx 1 > maps/far_wall.inc
        ./tools/tmx2map.py assets/maps/l1.tmx > maps/l1.inc
+
+       ./tools/tmx2map.py assets/maps/near_left_door.tmx 1 > maps/near_left_door.inc 
+       ./tools/tmx2map.py assets/maps/near_right_door.tmx 1 > maps/near_right_door.inc 
+       ./tools/tmx2map.py assets/maps/far_left_door.tmx 1 > maps/far_left_door.inc 
+       ./tools/tmx2map.py assets/maps/far_right_door.tmx 1 > maps/far_right_door.inc 
+       ./tools/tmx2map.py assets/maps/far_center_door.tmx 1 > maps/far_center_door.inc 
diff --git a/maps/far_center_door.inc b/maps/far_center_door.inc
new file mode 100644 (file)
index 0000000..7619a84
--- /dev/null
@@ -0,0 +1,4 @@
+; this map was generated by tmx2map.py
+
+.db 0x18, 0x2a, 0x2a, 0x19, 0xb, 0x17, 0x17, 0xc, 0x28, 0x1a, 0x1a, 0x29
+
diff --git a/maps/far_left_door.inc b/maps/far_left_door.inc
new file mode 100644 (file)
index 0000000..9903466
--- /dev/null
@@ -0,0 +1,4 @@
+; this map was generated by tmx2map.py
+
+.db 0x8, 0x9, 0xa, 0x3, 0x17, 0x17, 0x17, 0x1b, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x2b, 0x38, 0x39, 0x3a, 0x33
+
diff --git a/maps/far_right_door.inc b/maps/far_right_door.inc
new file mode 100644 (file)
index 0000000..626b6a9
--- /dev/null
@@ -0,0 +1,4 @@
+; this map was generated by tmx2map.py
+
+.db 0x4, 0xd, 0xe, 0xf, 0x1c, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x2c, 0x17, 0x17, 0x17, 0x34, 0x3d, 0x3e, 0x3f
+
index 07fc901db236f22c33b765dcc206776bfd481390..192af87ade2b99440c52d12dd183fed4bf27d687 100644 (file)
@@ -14,3 +14,4 @@
 .db 0x17, 0x17, 0x70, 0x71, 0x72, 0x73, 0x74, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
 .db 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
 .db 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
+
index c42aaf11497bc2b3a55266c12f9fc632994aa12f..d463376a6ebf26450e9a652a2225c04878fb4b63 100644 (file)
@@ -14,3 +14,4 @@
 .db 0x3, 0x3, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x7
 .db 0x3, 0x3, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x7
 .db 0xa, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0xe, 0x6
+
diff --git a/maps/near_left_door.inc b/maps/near_left_door.inc
new file mode 100644 (file)
index 0000000..f66ce06
--- /dev/null
@@ -0,0 +1,5 @@
+; this map was generated by tmx2map.py
+
+.db 0x8, 0x9, 0xa, 0x3, 0x17, 0x17, 0x17, 0x1b, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
+.db 0x17, 0x17, 0x17, 0x2b, 0x38, 0x39, 0x3a, 0x33
+
diff --git a/maps/near_right_door.inc b/maps/near_right_door.inc
new file mode 100644 (file)
index 0000000..61554f3
--- /dev/null
@@ -0,0 +1,5 @@
+; this map was generated by tmx2map.py
+
+.db 0x4, 0xd, 0xe, 0xf, 0x1c, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
+.db 0x2c, 0x17, 0x17, 0x17, 0x34, 0x3d, 0x3e, 0x3f
+
index 8788c818fa7d4916543e33648929be31040abb3b..9282895fbc3fd6411c5ec9772620dae2bfe1435c 100644 (file)
@@ -14,3 +14,4 @@
 .db 0x17, 0x17, 0x70, 0x71, 0x72, 0x73, 0x74, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
 .db 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
 .db 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17
+
index 42f10cda232df4a47fd7b2e6c380181ccff8e9b1..3aed0a3e5bfc43acc5342cb0158aa01b8f7df8c2 100644 (file)
--- a/src/map.s
+++ b/src/map.s
@@ -412,51 +412,21 @@ _map_full_draw_near_doors:
        ld a, [tmp_map_near_left_door]
        cp a, 1
        jr nz, @no_near_left REL
-               ld hl, render_buffer
-               ld de, RENDER_BUF_W * 6 + 1
-               add hl, de
-
-               ld a, WALL_EMPTY_TILE
-               ld [hl+], a
-               ld [hl+], a
-
-               ld de, RENDER_BUF_W-2
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
-
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
-
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
+               ld hl, render_buffer + RENDER_BUF_W * 3
+               ld de, near_left_door
+               ld bc, RENDER_BUF_W-4
+               ld a, 7
+               call tiles_block_copy
 @no_near_left:
 
        ld a, [tmp_map_near_right_door]
        cp a, 1
        jr nz, @no_near_right REL
-               ld hl, render_buffer 
-               ld de, RENDER_BUF_W * 6 + 17
-               add hl, de
-
-               ld a, WALL_EMPTY_TILE
-               ld [hl+], a
-               ld [hl+], a
-
-               ld de, RENDER_BUF_W-2
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
-
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
-
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
+               ld hl, render_buffer + RENDER_BUF_W * 3 + 16
+               ld de, near_right_door
+               ld bc, RENDER_BUF_W-4
+               ld a, 7
+               call tiles_block_copy
 @no_near_right:
        ret
        
@@ -490,60 +460,31 @@ map_full_draw:
        ld a, [tmp_map_forward]
        cp a, 2
        jr nz, @no_far_forward_door REL
-               ld hl, render_buffer
-               ld de, RENDER_BUF_W * 6  + 9
-               add hl, de
-               ld a, WALL_EMPTY_TILE
-               ld [hl+], a
-               ld [hl+], a
-
-               ld de, RENDER_BUF_W-2
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
+               ld hl, render_buffer + RENDER_BUF_W * 5 + 8
+               ld de, far_center_door
+               ld bc, RENDER_BUF_W-4
+               ld a, 3
+               call tiles_block_copy
 @no_far_forward_door:
 
        ld a, [tmp_map_far_left_door]
        cp a, 1
        jr nz, @no_far_left_door REL
-               ld hl, render_buffer
-               ld de, RENDER_BUF_W * 6 + 5
-               add hl, de
-               ld a, WALL_EMPTY_TILE
-
-               ld [hl+], a
-               ld [hl+], a
-
-               ld de, RENDER_BUF_W-2
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
-
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
+               ld hl, render_buffer + RENDER_BUF_W * 4 + 4
+               ld de, far_left_door
+               ld bc, RENDER_BUF_W-4
+               ld a, 5
+               call tiles_block_copy
 @no_far_left_door:
 
        ld a, [tmp_map_far_right_door]
        cp a, 1
        jr nz, @no_far_right_door REL
-               ld hl, render_buffer
-               ld de, RENDER_BUF_W * 6 + 13
-               add hl, de
-               ld a, WALL_EMPTY_TILE
-
-               ld [hl+], a
-               ld [hl+], a
-
-               ld de, RENDER_BUF_W-2
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
-
-               add hl, de
-               ld [hl+], a
-               ld [hl+], a
-
+               ld hl, render_buffer + RENDER_BUF_W * 4 + 12
+               ld de, far_right_door
+               ld bc, RENDER_BUF_W-4
+               ld a, 5
+               call tiles_block_copy
 @no_far_right_door:
        
        call _map_full_draw_near_doors
index d00c3dd1ebaeeef931b2c4aa665ec6860df6a5e9..cddf1384bed6dd1bbea005bfc9b07f4c762b0481 100644 (file)
@@ -10,3 +10,58 @@ far_wall:
 
 near_wall:
 #include "near_wall.inc"
+
+; 4x7 tiles
+near_left_door:
+#include "near_left_door.inc"
+
+; 4x7 tiles
+near_right_door:
+#include "near_right_door.inc"
+
+; 4x5 tiles
+far_right_door:
+#include "far_right_door.inc"
+
+; 4x5 tiles
+far_left_door:
+#include "far_left_door.inc"
+
+; 4x3 tiles
+far_center_door:
+#include "far_center_door.inc"
+
+       ; copies a row of tiles
+       ; from a linear buffer into a new block
+       ; blocks must be 4 tiles wide
+       ; inputs:
+       ;               hl: destination
+       ;               de: source
+       ;               bc: row offset
+       ;               a: rows
+tiles_block_copy:
+@loop: 
+       push af
+
+       ld a, [de]
+       inc de
+       ld [hl+], a
+
+       ld a, [de]
+       inc de
+       ld [hl+], a
+
+       ld a, [de]
+       inc de
+       ld [hl+], a
+
+       ld a, [de]
+       inc de
+       ld [hl+], a
+
+       add hl, bc
+
+       pop af
+       dec a
+       jr nz, @loop REL
+       ret
index 6af0734907ff9da65f7cdffb4a8ff3a271f707c1..b711d6f90262454c845b2ee9de938ae07f04e62d 100644 (file)
 .chr 22222223
 .chr 22222223
 ; tile 8
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 33111111
+.chr 00333311
+.chr 00000033
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 9
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 11111111
+.chr 11111111
+.chr 33111111
+.chr 00333111
+.chr 00000333
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 10
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 31111111
+.chr 03333111
+.chr 00000333
 .chr 00000000
 ; tile 11
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
 ; tile 12
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
 ; tile 13
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111113
+.chr 11133330
+.chr 33300000
 .chr 00000000
+; tile 14
+.chr 11111111
+.chr 11111111
+.chr 11111133
+.chr 11133300
+.chr 33300000
 .chr 00000000
 .chr 00000000
 .chr 00000000
+; tile 15
+.chr 11111133
+.chr 11333300
+.chr 33000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 14
-.chr 00000000
-.chr 00033333
-.chr 00322222
-.chr 03322222
-.chr 33222222
-.chr 32333223
-.chr 32333223
-.chr 32333223
-; tile 15
 .chr 00000000
-.chr 33300000
-.chr 11330000
-.chr 21133000
-.chr 22113300
-.chr 33211300
-.chr 33211300
-.chr 33211300
 ; tile 16
 .chr 32222222
 .chr 32222222
 .chr 00000000
 .chr 00000000
 ; tile 24
+.chr 33333333
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+; tile 25
+.chr 33333333
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+; tile 26
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-.chr 00000000
-; tile 25
-.chr 00000000
-.chr 00000000
+.chr 33333333
+; tile 27
+.chr 00003333
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 26
 .chr 00000000
+; tile 28
+.chr 33330000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 27
+; tile 29
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 28
+; tile 30
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 29
+; tile 31
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 30
-.chr 32222331
-.chr 32222332
-.chr 32222222
-.chr 33322222
-.chr 00323232
-.chr 00323232
-.chr 00333333
-.chr 00000000
-; tile 31
-.chr 11211300
-.chr 22211300
-.chr 22113300
-.chr 21133000
-.chr 31333000
-.chr 31333000
-.chr 33330000
-.chr 00000000
 ; tile 32
 .chr 22222223
 .chr 22222223
 .chr 00000000
 .chr 00000000
 ; tile 40
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 33333333
+; tile 41
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 33333333
+; tile 42
+.chr 33333333
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-.chr 00000000
-; tile 41
-.chr 00000000
-.chr 00000000
+; tile 43
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 42
 .chr 00000000
+.chr 00003333
+; tile 44
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 43
+.chr 33330000
+; tile 45
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 44
+; tile 46
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 45
+; tile 47
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 46
-.chr 03333333
-.chr 33000000
-.chr 30002222
-.chr 30022222
-.chr 30222222
-.chr 30222222
-.chr 30222222
-.chr 30222222
-; tile 47
-.chr 33333330
-.chr 00000033
-.chr 22220013
-.chr 22222013
-.chr 22222213
-.chr 22222213
-.chr 22222213
-.chr 22222213
 ; tile 48
 .chr 32222222
 .chr 32222222
 .chr 00000000
 .chr 00000000
 .chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 00000033
+.chr 00333300
+.chr 33000000
 ; tile 57
 .chr 00000000
 .chr 00000000
 .chr 00000000
+.chr 00000333
+.chr 00333000
+.chr 33000000
 .chr 00000000
 .chr 00000000
+; tile 58
 .chr 00000000
+.chr 00000333
+.chr 03333000
+.chr 30000000
 .chr 00000000
 .chr 00000000
-; tile 58
 .chr 00000000
 .chr 00000000
+; tile 59
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 59
 .chr 00000000
 .chr 00000000
+; tile 60
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 60
 .chr 00000000
 .chr 00000000
+; tile 61
 .chr 00000000
+.chr 33300000
+.chr 00033330
+.chr 00000003
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
+; tile 62
 .chr 00000000
-; tile 61
 .chr 00000000
 .chr 00000000
+.chr 33300000
+.chr 00033300
+.chr 00000033
 .chr 00000000
 .chr 00000000
+; tile 63
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 62
+.chr 00000000
+.chr 33000000
+.chr 00333300
+.chr 00000033
+; tile 64
+.chr 03333333
+.chr 33000000
+.chr 30002222
+.chr 30022222
 .chr 30222222
 .chr 30222222
 .chr 30222222
 .chr 30222222
-.chr 30022222
-.chr 30002222
-.chr 33111111
-.chr 03333333
-; tile 63
+; tile 65
+.chr 33333330
+.chr 00000033
+.chr 22220013
+.chr 22222013
 .chr 22222213
 .chr 22222213
 .chr 22222213
 .chr 22222213
-.chr 22222113
-.chr 22221113
-.chr 11111133
-.chr 33333330
-; tile 64
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-; tile 65
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
 ; tile 66
 .chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 00033333
+.chr 00322222
+.chr 03322222
+.chr 33222222
+.chr 32333223
+.chr 32333223
+.chr 32333223
 ; tile 67
 .chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 33300000
+.chr 11330000
+.chr 21133000
+.chr 22113300
+.chr 33211300
+.chr 33211300
+.chr 33211300
 ; tile 68
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 80
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 30222222
+.chr 30222222
+.chr 30222222
+.chr 30222222
+.chr 30022222
+.chr 30002222
+.chr 33111111
+.chr 03333333
 ; tile 81
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 22222213
+.chr 22222213
+.chr 22222213
+.chr 22222213
+.chr 22222113
+.chr 22221113
+.chr 11111133
+.chr 33333330
 ; tile 82
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 32222331
+.chr 32222332
+.chr 32222222
+.chr 33322222
+.chr 00323232
+.chr 00323232
+.chr 00333333
 .chr 00000000
 ; tile 83
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 11211300
+.chr 22211300
+.chr 22113300
+.chr 21133000
+.chr 31333000
+.chr 31333000
+.chr 33330000
 .chr 00000000
 ; tile 84
 .chr 00000000
index 6af0734907ff9da65f7cdffb4a8ff3a271f707c1..b711d6f90262454c845b2ee9de938ae07f04e62d 100644 (file)
 .chr 22222223
 .chr 22222223
 ; tile 8
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 33111111
+.chr 00333311
+.chr 00000033
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 9
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 11111111
+.chr 11111111
+.chr 33111111
+.chr 00333111
+.chr 00000333
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 10
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 31111111
+.chr 03333111
+.chr 00000333
 .chr 00000000
 ; tile 11
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
 ; tile 12
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
 ; tile 13
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111111
+.chr 11111113
+.chr 11133330
+.chr 33300000
 .chr 00000000
+; tile 14
+.chr 11111111
+.chr 11111111
+.chr 11111133
+.chr 11133300
+.chr 33300000
 .chr 00000000
 .chr 00000000
 .chr 00000000
+; tile 15
+.chr 11111133
+.chr 11333300
+.chr 33000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 14
-.chr 00000000
-.chr 00033333
-.chr 00322222
-.chr 03322222
-.chr 33222222
-.chr 32333223
-.chr 32333223
-.chr 32333223
-; tile 15
 .chr 00000000
-.chr 33300000
-.chr 11330000
-.chr 21133000
-.chr 22113300
-.chr 33211300
-.chr 33211300
-.chr 33211300
 ; tile 16
 .chr 32222222
 .chr 32222222
 .chr 00000000
 .chr 00000000
 ; tile 24
+.chr 33333333
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+; tile 25
+.chr 33333333
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+; tile 26
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-.chr 00000000
-; tile 25
-.chr 00000000
-.chr 00000000
+.chr 33333333
+; tile 27
+.chr 00003333
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 26
 .chr 00000000
+; tile 28
+.chr 33330000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 27
+; tile 29
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 28
+; tile 30
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 29
+; tile 31
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 30
-.chr 32222331
-.chr 32222332
-.chr 32222222
-.chr 33322222
-.chr 00323232
-.chr 00323232
-.chr 00333333
-.chr 00000000
-; tile 31
-.chr 11211300
-.chr 22211300
-.chr 22113300
-.chr 21133000
-.chr 31333000
-.chr 31333000
-.chr 33330000
-.chr 00000000
 ; tile 32
 .chr 22222223
 .chr 22222223
 .chr 00000000
 .chr 00000000
 ; tile 40
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 30000000
+.chr 33333333
+; tile 41
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 00000003
+.chr 33333333
+; tile 42
+.chr 33333333
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-.chr 00000000
-; tile 41
-.chr 00000000
-.chr 00000000
+; tile 43
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 42
 .chr 00000000
+.chr 00003333
+; tile 44
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 43
+.chr 33330000
+; tile 45
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 44
+; tile 46
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 45
+; tile 47
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 46
-.chr 03333333
-.chr 33000000
-.chr 30002222
-.chr 30022222
-.chr 30222222
-.chr 30222222
-.chr 30222222
-.chr 30222222
-; tile 47
-.chr 33333330
-.chr 00000033
-.chr 22220013
-.chr 22222013
-.chr 22222213
-.chr 22222213
-.chr 22222213
-.chr 22222213
 ; tile 48
 .chr 32222222
 .chr 32222222
 .chr 00000000
 .chr 00000000
 .chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 00000033
+.chr 00333300
+.chr 33000000
 ; tile 57
 .chr 00000000
 .chr 00000000
 .chr 00000000
+.chr 00000333
+.chr 00333000
+.chr 33000000
 .chr 00000000
 .chr 00000000
+; tile 58
 .chr 00000000
+.chr 00000333
+.chr 03333000
+.chr 30000000
 .chr 00000000
 .chr 00000000
-; tile 58
 .chr 00000000
 .chr 00000000
+; tile 59
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 59
 .chr 00000000
 .chr 00000000
+; tile 60
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 60
 .chr 00000000
 .chr 00000000
+; tile 61
 .chr 00000000
+.chr 33300000
+.chr 00033330
+.chr 00000003
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
+; tile 62
 .chr 00000000
-; tile 61
 .chr 00000000
 .chr 00000000
+.chr 33300000
+.chr 00033300
+.chr 00000033
 .chr 00000000
 .chr 00000000
+; tile 63
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
-; tile 62
+.chr 00000000
+.chr 33000000
+.chr 00333300
+.chr 00000033
+; tile 64
+.chr 03333333
+.chr 33000000
+.chr 30002222
+.chr 30022222
 .chr 30222222
 .chr 30222222
 .chr 30222222
 .chr 30222222
-.chr 30022222
-.chr 30002222
-.chr 33111111
-.chr 03333333
-; tile 63
+; tile 65
+.chr 33333330
+.chr 00000033
+.chr 22220013
+.chr 22222013
 .chr 22222213
 .chr 22222213
 .chr 22222213
 .chr 22222213
-.chr 22222113
-.chr 22221113
-.chr 11111133
-.chr 33333330
-; tile 64
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-; tile 65
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
 ; tile 66
 .chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 00033333
+.chr 00322222
+.chr 03322222
+.chr 33222222
+.chr 32333223
+.chr 32333223
+.chr 32333223
 ; tile 67
 .chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 33300000
+.chr 11330000
+.chr 21133000
+.chr 22113300
+.chr 33211300
+.chr 33211300
+.chr 33211300
 ; tile 68
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 80
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 30222222
+.chr 30222222
+.chr 30222222
+.chr 30222222
+.chr 30022222
+.chr 30002222
+.chr 33111111
+.chr 03333333
 ; tile 81
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 22222213
+.chr 22222213
+.chr 22222213
+.chr 22222213
+.chr 22222113
+.chr 22221113
+.chr 11111133
+.chr 33333330
 ; tile 82
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 32222331
+.chr 32222332
+.chr 32222222
+.chr 33322222
+.chr 00323232
+.chr 00323232
+.chr 00333333
 .chr 00000000
 ; tile 83
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 11211300
+.chr 22211300
+.chr 22113300
+.chr 21133000
+.chr 31333000
+.chr 31333000
+.chr 33330000
 .chr 00000000
 ; tile 84
 .chr 00000000
index 5f156739a06f07403ac42e1983f4ebce07596d6c..cccdb31969ec70108f6334b311d347c24a6b549d 100755 (executable)
@@ -33,7 +33,7 @@ def print_bg_data(data):
                if (i+1) % MAP_W  == 0:
                        end = ''
                
-               if i == len(data) - 1:
+               if i == len(split) - 1:
                        end = '\n'
                print(hex(val), end=end)
        print("")