ld [map_vram_tl+1], a
ret
- ; loads a map
+ ; loads a map and performs a full redraw
; including the required tileset
; sets current page to 0
; draws page 0 to the screen
; inputs:
; de: map ptr
map_load:
+ ; reset scroll
+ xor a, a
+ ld [scroll_y], a
+ ld [scroll_x], a
+
call disableinterrupts
call next_vblank_wait
call lcd_off
- ld a, e
- ld [map], a
- ld a, d
- ld [map+1], a
+ call map_settings_load
push de
call map_tile_banks_load
pop de
- push de
- call map_tiles_load
- pop de
-
- ; TODO:
- ; load actors
- ; encounter table
- ; exit table
call map_full_draw
ret
+ ; loads all map related data that
+ ; does not require blanking.
+ ; this call can be used for non-blanking redraws
+ ; inputs:
+ ; de: map ptr
+ ; returns:
+ ; de: map ptr
+map_settings_load:
+ ld a, e
+ ld [map], a
+ ld a, d
+ ld [map+1], a
+
+ push de
+ call map_tiles_load
+ pop de
+
+ ; TODO:
+ ; load actors
+ ; encounter table
+ ; exit table
+ ret
+
; loads a tileset
; into the tile buffer
; inputs: