Changed font to not use color 0.
Changed space tile to not use color 0.
default_map_header:
.db 0, 0, 0, 0 ; flags
+.str "NONAME "
dw default_map_bg
dw default_map_tile_flags
dw st_map_null
#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
; inputs:
; hl: map ptr
map_load:
+ push hl
+ call map_draw_area_title
+ pop hl
+
push hl
call map_tiles_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
#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"
; 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:
.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
tile_bank2 = "bank8C00"
tile_bank3 = "bank9000"
actor_table_ptr = "map_actor_table_null"
+map_name = "noname"
+NAME_LEN = 8
FLAGS = {
'f_collision': 0x01
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)
global tile_bank1
global tile_bank2
global tile_bank3
+ global map_name
for child in root:
if child.tag == "properties":
tile_bank2 = value
elif name == 'tile_bank3':
tile_bank3 = value
+ elif name == 'map_name':
+ map_name = value
return