map: Added map name
authorLukas Krickl <lukas@krickl.dev>
Thu, 3 Jul 2025 17:51:01 +0000 (19:51 +0200)
committerLukas Krickl <lukas@krickl.dev>
Thu, 3 Jul 2025 17:51:01 +0000 (19:51 +0200)
Changed font to not use color 0.
Changed space tile to not use color 0.

maps/default_map.s
src/defs.s
src/map.s
src/strings.s
src/ui.s
tiles/bank8C00.inc
tools/tms2map.py

index 02c20b65d47a2af0b8b6a69f30c2bae236dca45d..f03f814b4bc70745e6e7ae35e06027d80c9d0c2c 100644 (file)
@@ -1,5 +1,6 @@
 default_map_header:
 .db 0, 0, 0, 0 ; flags
+.str "NONAME  "
 dw default_map_bg
 dw default_map_tile_flags
 dw st_map_null
index bffca01a9335024e5a1441c85b0a5925c45c53c8..33086413f5d0b654f6545ac7490a4a7772b762f6 100644 (file)
 #define MAP_BG_TILE_OFFSET 0
 #define MAP_BG_FLAGS_OFFSET 1
 
+#define MAP_NAME_LEN 8
+
   ; map header struct
 .se 0
 .de map_flags_1, 1
 .de map_flags_2, 1
 .de map_flags_3, 1
 .de map_flags_4, 1
+  ; 8 bytes reserved for map names
+  ; map_name in map properties
+.de map_name, MAP_NAME_LEN
 .de map_bg_ptr, 2
 .de map_tile_flags_ptr, 2
   ; ptr to mape state to be loaded
index 9096eb87e54c1ff808f656d2d11e610f8c4d3710..3fb17388870f0bac0cb3a84a16c925c27c99ba66 100644 (file)
--- a/src/map.s
+++ b/src/map.s
@@ -7,6 +7,10 @@ map_init:
   ; inputs:
   ;   hl: map ptr
 map_load:
+  push hl
+  call map_draw_area_title
+  pop hl
+
   push hl
   call map_tiles_load
  
@@ -25,6 +29,25 @@ map_load:
 
   ret
 
+  ; draws map title to UI (SCRN1)
+  ; inputs:
+  ;   hl: map_ptr
+map_draw_area_title:
+  ld de, map_name
+  add hl, de ; hl = map_name ptr
+  
+  ld b, MAP_NAME_LEN
+  ld de, SCRN1+1
+@loop:
+  ld a, [hl+]
+  add a, FONT_OFFSET
+  ld [de], a
+  inc de
+  dec b
+  jr nz, @loop REL
+
+  ret
+
   ; gets the tile at a y/x position
   ; inputs:
   ;   b/c: y/x tile position
index 815ee8b3e566c9f008a42a0e5a24158c89e1d215..b914eacf7d39bd494417ba26544dec08933c8296 100644 (file)
@@ -9,24 +9,17 @@
 #define FONT_OFFSET (0xD0 - 1)
 
 ; map space to empty tile
-.scc 0x20 = EMPTY_TILE
+; one tile after Z
+.scc 0x20 = 26+11 
 
 STR_TITLE:
-.str "game"
+.str "gbrg"
 .db 0
 
 STR_GAME_OVER:
 .str "GAME OVER"
 .db 0
 
-STR_WAREHOUSE:
-.str "WAREHOUSE"
-.db 0
-
-STR_ROAD: strt "ROAD"
-STR_FARM: strt "FARM"
-STR_LUMBER: strt "LUMBER"
-
 
 STR_PANIC:
 .str "PANIC"
index 133da528b769d5676fd45102de11348ed0c7e9a0..38a187d06c720fbf9c7d46edef9d4050150a4dc1 100644 (file)
--- a/src/ui.s
+++ b/src/ui.s
@@ -2,7 +2,9 @@
 ; in top row for each move remaining
 #define UI_TILE_MOVE 0xC0  
 #define UI_TILE_MOVE_USED 0xC1  
-#define UI_WINDOW_BACKGROUND 0xC2  
+
+; one tile after 'Z'
+#define UI_WINDOW_BACKGROUND 0xF4  
 
   ; inits UI
 ui_init:
index 6b7821bedc3e6ebccdcae4b01bf88056b9a2dd73..a52a82488995396768e8136dda044e4145264f20 100644 (file)
 .chr 00000000
 .chr 00000000
 ; tile 2
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
-.chr 22222222
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
+.chr 00000000
 ; tile 3
 .chr 00000000
 .chr 00000000
 .chr 00000000
 .chr 00000000
 ; tile 16
-.chr 00000000
-.chr 00333330
-.chr 03333333
-.chr 03300333
-.chr 03303033
-.chr 03330033
-.chr 03333333
-.chr 00333330
+.chr 22222222
+.chr 22333332
+.chr 23333333
+.chr 23322333
+.chr 23323233
+.chr 23332233
+.chr 23333333
+.chr 22333332
 ; tile 17
-.chr 00000000
-.chr 00003330
-.chr 00033330
-.chr 00030330
-.chr 00000330
-.chr 00000330
-.chr 00000330
-.chr 00000330
+.chr 22222222
+.chr 22223332
+.chr 22233332
+.chr 22232332
+.chr 22222332
+.chr 22222332
+.chr 22222332
+.chr 22222332
 ; tile 18
-.chr 00000000
-.chr 03333333
-.chr 03333333
-.chr 00000033
-.chr 03333333
-.chr 03300000
-.chr 03333333
-.chr 03333333
+.chr 22222222
+.chr 23333333
+.chr 23333333
+.chr 22222233
+.chr 23333333
+.chr 23322222
+.chr 23333333
+.chr 23333333
 ; tile 19
-.chr 00000000
-.chr 00333330
-.chr 00333333
-.chr 00000033
-.chr 00033333
-.chr 00000033
-.chr 00333333
-.chr 00333330
+.chr 22222222
+.chr 22333332
+.chr 22333333
+.chr 22222233
+.chr 22233333
+.chr 22222233
+.chr 22333333
+.chr 22333332
 ; tile 20
-.chr 00000000
-.chr 00330033
-.chr 00330033
-.chr 00330033
-.chr 00333333
-.chr 00000033
-.chr 00000033
-.chr 00000033
+.chr 22222222
+.chr 22332233
+.chr 22332233
+.chr 22332233
+.chr 22333333
+.chr 22222233
+.chr 22222233
+.chr 22222233
 ; tile 21
-.chr 00000000
-.chr 03333333
-.chr 03333333
-.chr 03300000
-.chr 03333333
-.chr 00000033
-.chr 03333333
-.chr 03333333
+.chr 22222222
+.chr 23333333
+.chr 23333333
+.chr 23322222
+.chr 23333333
+.chr 22222233
+.chr 23333333
+.chr 23333333
 ; tile 22
-.chr 00000000
-.chr 03333333
-.chr 03333333
-.chr 03300000
-.chr 03333333
-.chr 03333333
-.chr 03300033
-.chr 03333333
+.chr 22222222
+.chr 23333333
+.chr 23333333
+.chr 23322222
+.chr 23333333
+.chr 23333333
+.chr 23322233
+.chr 23333333
 ; tile 23
-.chr 00000000
-.chr 03333330
-.chr 03333330
-.chr 00000330
-.chr 00000330
-.chr 00000330
-.chr 00000330
-.chr 00000330
+.chr 22222222
+.chr 23333332
+.chr 23333332
+.chr 22222332
+.chr 22222332
+.chr 22222332
+.chr 22222332
+.chr 22222332
 ; tile 24
-.chr 00000000
-.chr 00333330
-.chr 03333333
-.chr 03300033
-.chr 00333330
-.chr 03300033
-.chr 03333333
-.chr 00333330
+.chr 22222222
+.chr 22333332
+.chr 23333333
+.chr 23322233
+.chr 22333332
+.chr 23322233
+.chr 23333333
+.chr 22333332
 ; tile 25
-.chr 00000000
-.chr 00333330
-.chr 03333333
-.chr 03000033
-.chr 03333333
-.chr 00000033
-.chr 03333333
-.chr 03333330
+.chr 22222222
+.chr 22333332
+.chr 23333333
+.chr 23222233
+.chr 23333333
+.chr 22222233
+.chr 23333333
+.chr 23333332
 ; tile 26
-.chr 00000000
-.chr 00333330
-.chr 03333333
-.chr 03300033
-.chr 03333333
-.chr 03300033
-.chr 03300033
-.chr 03300033
+.chr 22222222
+.chr 22333332
+.chr 23333333
+.chr 23322233
+.chr 23333333
+.chr 23322233
+.chr 23322233
+.chr 23322233
 ; tile 27
-.chr 00000000
-.chr 03333300
-.chr 03333330
-.chr 03300330
-.chr 03333300
-.chr 03333330
-.chr 03300330
-.chr 03333300
+.chr 22222222
+.chr 23333322
+.chr 23333332
+.chr 23300332
+.chr 23333322
+.chr 23333332
+.chr 23300332
+.chr 23333322
 ; tile 28
-.chr 00000000
-.chr 00333330
-.chr 03333330
-.chr 03330000
-.chr 03300000
-.chr 03330000
-.chr 03333330
-.chr 00333330
+.chr 22222222
+.chr 22333332
+.chr 23333332
+.chr 23332222
+.chr 23322222
+.chr 23332222
+.chr 23333332
+.chr 22333332
 ; tile 29
-.chr 00000000
-.chr 03333330
-.chr 03333333
-.chr 03300033
-.chr 03300033
-.chr 03300033
-.chr 03333333
-.chr 03333330
+.chr 22222222
+.chr 23333332
+.chr 23333333
+.chr 23322233
+.chr 23322233
+.chr 23322233
+.chr 23333333
+.chr 23333332
 ; tile 30
-.chr 00000000
-.chr 03333330
-.chr 03333330
-.chr 03300000
-.chr 03333300
-.chr 03300000
-.chr 03333330
-.chr 03333330
+.chr 22222222
+.chr 23333332
+.chr 23333332
+.chr 23322222
+.chr 23333322
+.chr 23322222
+.chr 23333332
+.chr 23333332
 ; tile 31
-.chr 00000000
-.chr 03333330
-.chr 03333330
-.chr 03300000
-.chr 03333300
-.chr 03333300
-.chr 03300000
-.chr 03300000
+.chr 22222222
+.chr 23333332
+.chr 23333332
+.chr 23322222
+.chr 23333322
+.chr 23333322
+.chr 23322222
+.chr 23322222
 ; tile 32
-.chr 00000000
-.chr 00333330
-.chr 03333330
-.chr 03300000
-.chr 03300333
-.chr 03300033
-.chr 03333333
-.chr 00333330
+.chr 22222222
+.chr 22333332
+.chr 23333332
+.chr 23322222
+.chr 23322333
+.chr 23322233
+.chr 23333333
+.chr 22333332
 ; tile 33
-.chr 00000000
-.chr 03300330
-.chr 03300330
-.chr 03300330
-.chr 03333330
-.chr 03300330
-.chr 03300330
-.chr 03300330
+.chr 22222222
+.chr 23322332
+.chr 23322332
+.chr 23322332
+.chr 23333332
+.chr 23322332
+.chr 23322332
+.chr 23322332
 ; tile 34
-.chr 00000000
-.chr 03333330
-.chr 00033000
-.chr 00033000
-.chr 00033000
-.chr 00033000
-.chr 00033000
-.chr 03333330
+.chr 22222222
+.chr 23333332
+.chr 22233222
+.chr 22233222
+.chr 22233222
+.chr 22233222
+.chr 22233222
+.chr 23333332
 ; tile 35
-.chr 00000000
-.chr 00033330
-.chr 00033330
-.chr 00000330
-.chr 00000330
-.chr 00003330
-.chr 00333330
-.chr 00333300
+.chr 22222222
+.chr 22233332
+.chr 22233332
+.chr 22222332
+.chr 22222332
+.chr 22223332
+.chr 22333332
+.chr 22333322
 ; tile 36
-.chr 00000000
-.chr 03303300
-.chr 03333000
-.chr 03330000
-.chr 03300000
-.chr 03330000
-.chr 03333000
-.chr 03303300
+.chr 22222222
+.chr 23323322
+.chr 23333222
+.chr 23332222
+.chr 23322222
+.chr 23332222
+.chr 23333222
+.chr 23323322
 ; tile 37
-.chr 00000000
-.chr 03330000
-.chr 03330000
-.chr 03330000
-.chr 03330000
-.chr 03330000
-.chr 03333330
-.chr 03333330
+.chr 22222222
+.chr 23332222
+.chr 23332222
+.chr 23332222
+.chr 23332222
+.chr 23332222
+.chr 23333332
+.chr 23333332
 ; tile 38
-.chr 00000000
-.chr 03300033
-.chr 03330333
-.chr 03333333
-.chr 03333333
-.chr 03300033
-.chr 03300033
-.chr 03300033
+.chr 22222222
+.chr 23322233
+.chr 23332333
+.chr 23333333
+.chr 23333333
+.chr 23322233
+.chr 23322233
+.chr 23322233
 ; tile 39
-.chr 00000000
-.chr 03300330
-.chr 03330330
-.chr 03333330
-.chr 03333330
-.chr 03303330
-.chr 03300330
-.chr 03300330
+.chr 22222222
+.chr 23322332
+.chr 23332332
+.chr 23333332
+.chr 23333332
+.chr 23323332
+.chr 23322332
+.chr 23322332
 ; tile 40
-.chr 00000000
-.chr 00333330
-.chr 03333333
-.chr 03300033
-.chr 03300033
-.chr 03300033
-.chr 03333333
-.chr 00333330
+.chr 22222222
+.chr 22333332
+.chr 23333333
+.chr 23322233
+.chr 23322233
+.chr 23322233
+.chr 23333333
+.chr 22333332
 ; tile 41
-.chr 00000000
-.chr 03333330
-.chr 03300330
-.chr 03300330
-.chr 03333330
-.chr 03300000
-.chr 03300000
-.chr 03300000
+.chr 22222222
+.chr 23333332
+.chr 23322332
+.chr 23322332
+.chr 23333332
+.chr 23322222
+.chr 23322222
+.chr 23322222
 ; tile 42
-.chr 00000000
-.chr 00333300
-.chr 03333330
-.chr 03300330
-.chr 03300330
-.chr 03300330
-.chr 03333300
-.chr 00333030
+.chr 22222222
+.chr 22333322
+.chr 23333332
+.chr 23322332
+.chr 23322332
+.chr 23322332
+.chr 23333322
+.chr 22333232
 ; tile 43
-.chr 00000000
-.chr 03333300
-.chr 03300330
-.chr 03300330
-.chr 03333300
-.chr 03333300
-.chr 03300330
-.chr 03300330
+.chr 22222222
+.chr 23333322
+.chr 23322332
+.chr 23322332
+.chr 23333322
+.chr 23333322
+.chr 23322332
+.chr 23322332
 ; tile 44
-.chr 00000000
-.chr 00333330
-.chr 03333330
-.chr 03300000
-.chr 00333300
-.chr 00000330
-.chr 03333330
-.chr 03333300
+.chr 22222222
+.chr 22333332
+.chr 23333332
+.chr 23322222
+.chr 22333322
+.chr 22222332
+.chr 23333332
+.chr 23333322
 ; tile 45
-.chr 00000000
-.chr 03333330
-.chr 00033000
-.chr 00033000
-.chr 00033000
-.chr 00033000
-.chr 00033000
-.chr 00033000
+.chr 22222222
+.chr 23333332
+.chr 22233222
+.chr 22233222
+.chr 22233222
+.chr 22233222
+.chr 22233222
+.chr 22233222
 ; tile 46
-.chr 00000000
-.chr 03300330
-.chr 03300330
-.chr 03300330
-.chr 03300330
-.chr 03333330
-.chr 03333330
-.chr 00333300
+.chr 22222222
+.chr 23322332
+.chr 23322332
+.chr 23322332
+.chr 23322332
+.chr 23333332
+.chr 23333332
+.chr 22333322
 ; tile 47
-.chr 00000000
-.chr 03300033
-.chr 03300033
-.chr 03300033
-.chr 03330333
-.chr 03333333
-.chr 00333330
-.chr 00033300
+.chr 22222222
+.chr 23322233
+.chr 23322233
+.chr 23322233
+.chr 23332333
+.chr 23333333
+.chr 22333332
+.chr 22233322
 ; tile 48
-.chr 00000000
-.chr 03300033
-.chr 03300033
-.chr 03303033
-.chr 03303033
-.chr 03333333
-.chr 00333330
-.chr 00030300
+.chr 22222222
+.chr 23322233
+.chr 23322233
+.chr 23323233
+.chr 23323233
+.chr 23333333
+.chr 22333332
+.chr 22232322
 ; tile 49
-.chr 00000000
-.chr 03300033
-.chr 03330333
-.chr 00333330
-.chr 00033300
-.chr 00333330
-.chr 03330333
-.chr 03300033
+.chr 22222222
+.chr 23322233
+.chr 23332333
+.chr 22333332
+.chr 22233322
+.chr 22333332
+.chr 23332333
+.chr 23322233
 ; tile 50
-.chr 00000000
-.chr 03000030
-.chr 03300330
-.chr 03333330
-.chr 00333300
-.chr 00033000
-.chr 00033000
-.chr 00033000
+.chr 22222222
+.chr 23222232
+.chr 23322332
+.chr 23333332
+.chr 22333322
+.chr 22233222
+.chr 22233222
+.chr 22233222
 ; tile 51
-.chr 00000000
-.chr 03333333
-.chr 03333333
-.chr 00000330
-.chr 00003330
-.chr 00033300
-.chr 03333333
-.chr 03333333
+.chr 22222222
+.chr 23333333
+.chr 23333333
+.chr 22222332
+.chr 22223332
+.chr 22233322
+.chr 23333333
+.chr 23333333
 ; tile 52
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
-.chr 00000000
+.chr 22222222
+.chr 22222222
+.chr 22222222
+.chr 22222222
+.chr 22222222
+.chr 22222222
+.chr 22222222
+.chr 22222222
 ; tile 53
 .chr 00000000
 .chr 00000000
index 9d056e914f5f4eb82e52834baa69b08edcdd4b34..b98e9b8f6ffed3ae5bd6b884d8075aa6acc4b365 100755 (executable)
@@ -14,6 +14,8 @@ tile_bank1 = "bank8800"
 tile_bank2 = "bank8C00"
 tile_bank3 = "bank9000"
 actor_table_ptr = "map_actor_table_null"
+map_name = "noname"
+NAME_LEN = 8
 
 FLAGS = {
             'f_collision': 0x01
@@ -94,6 +96,7 @@ def print_bg_flags(data, name, layer):
 def print_header(name):
     print(name + "_header:")
     print(".db 0, 0, 0, 0 ; flags")
+    print(".str \"" + map_name.upper().ljust(NAME_LEN)[:NAME_LEN] + "\"") 
     print("dw " + name + "_bg")
     print("dw " + name + "_tile_flags")
     print("dw " + state_ptr)
@@ -126,6 +129,7 @@ def get_map_props(root):
     global tile_bank1
     global tile_bank2
     global tile_bank3
+    global map_name
 
     for child in root:
         if child.tag == "properties":
@@ -144,6 +148,8 @@ def get_map_props(root):
                     tile_bank2 = value
                 elif name == 'tile_bank3':
                     tile_bank3 = value
+                elif name == 'map_name':
+                    map_name = value
 
     return