default_map_header:
.db 0, 0, 0, 0 ; flags
dw default_map_bg
-dw default_map_tile_flags
default_map_bg:
.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0
.db 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x64,0x0, 0x65,0x0
-default_map_tile_flags:
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x1
-.db 0x1
-.db 0x1
-.db 0x1
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x1
-.db 0x1
-.db 0x1
-.db 0x1
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x1
-.db 0x1
-.db 0x1
-.db 0x1
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
-.db 0x0
call cells_draw_all
ret
-
+
+ ; gets the tile at a y/x position
+ ; inputs:
+ ; b/c: y/x tile position
+ ; returns:
+ ; a: tile
+ ; b: flags
+map_get_tile:
+ ; current map
+ ld hl, state_cells
+ ld d, 0
+ ld e, MAP_W * c_size
+
+ ; calculate y offset
+@y_loop:
+ add hl, de
+ dec b
+ jr nz, @y_loop REL
+
+ ; add x offset
+ ld e, c
+ ; add x offset c_size times
+.rep i, c_size, 1, add hl, de
+
+ ; load values
+
+
+ ret
+
; loads a map
; inputs:
; hl: map header
ld [draw_flags], a
ret
+
+ ; gets the tile value at the current unit's position
+ ; inputs:
+ ; de: unit
+ ; returns:
+ ; a: flags
+ ; b: tile index
+unit_get_tile:
+ ld hl, act_pos_y
+ add hl, de ; hl = pos y
+ ld a, [hl+]
+ ld b, a ; b = y
+ ld a, [hl]
+ ld c, a ; c = x
+ jp map_get_tile
+
unit_demo_1:
st_def 0x00, unit_demo_1_init, st_unit_idle
act_def ACT_T_DEMO_1, 0, 2, 2, 0
print(name + "_header:")
print(".db 0, 0, 0, 0 ; flags")
print("dw " + name + "_bg")
- print("dw " + name + "_tile_flags")
print("")
def get_flag(tile):
if child.tag == 'tile':
get_flag(child)
-def print_tile_flags(name):
- print(name + "_tile_flags:");
- for flag in TILE_FLAGS:
- print(".db ", hex(int(flag)));
-
def convert(src, name):
tree = ET.parse(src)
root = tree.getroot()
elif child.tag == "tileset":
get_flags(child)
- print_tile_flags(name)
-
convert(src, name)