INCLUDE "hardware.inc" INCLUDE "png/map/intro.inc" SECTION "BG Data", WRAM0 BG_COLLISION_DATA:: dw BG_MAP_WIDTH:: db BG_MAP_HEIGHT:: db SECTION "BG Code", ROM0 MACRO update_map_info ld hl, BG_COLLISION_DATA ld a, HIGH(\1) ld [hl+], a ld a, LOW(\1) ld [hl+], a ld a, \2 ld [hl+], a ld a, \3 ld [hl+], a ENDM BG_Init:: ; copy map ld e, intro_HEIGHT ld bc, _SCRN0 ld hl, intro_MAP .copy_map_row: ld d, intro_WIDTH call memcpy dec e jr z, .done ld d, 32 - intro_WIDTH .skip: ; skip over trailing part in vram inc c jr nz, .nocarry inc b .nocarry: dec d jr nz, .skip jr .copy_map_row .done: ; copy tiles ld hl, intro_TILES ld bc, _VRAM ld d, intro_NUM_TILES call memcpy update_map_info intro_COLLISION, intro_WIDTH, intro_HEIGHT ret