From: Lukas Krickl Date: Thu, 3 Jul 2025 17:51:01 +0000 (+0200) Subject: map: Added map name X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=1f5b6c9b9dc3dc60abd1f4e727c5fdbab3b22a3e;p=gbrg%2F.git map: Added map name Changed font to not use color 0. Changed space tile to not use color 0. --- diff --git a/maps/default_map.s b/maps/default_map.s index 02c20b6..f03f814 100644 --- a/maps/default_map.s +++ b/maps/default_map.s @@ -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 diff --git a/src/defs.s b/src/defs.s index bffca01..3308641 100644 --- a/src/defs.s +++ b/src/defs.s @@ -237,12 +237,17 @@ #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 diff --git a/src/map.s b/src/map.s index 9096eb8..3fb1738 100644 --- 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 diff --git a/src/strings.s b/src/strings.s index 815ee8b..b914eac 100644 --- a/src/strings.s +++ b/src/strings.s @@ -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" diff --git a/src/ui.s b/src/ui.s index 133da52..38a187d 100644 --- 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: diff --git a/tiles/bank8C00.inc b/tiles/bank8C00.inc index 6b7821b..a52a824 100644 --- a/tiles/bank8C00.inc +++ b/tiles/bank8C00.inc @@ -17,14 +17,14 @@ .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 @@ -143,338 +143,338 @@ .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 diff --git a/tools/tms2map.py b/tools/tms2map.py index 9d056e9..b98e9b8 100755 --- a/tools/tms2map.py +++ b/tools/tms2map.py @@ -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