pokered/engine/overworld/tilesets.asm
2022-07-10 21:11:03 -04:00

60 lines
916 B
NASM

LoadTilesetHeader:
call GetPredefRegisters
push hl
ld d, 0
ld a, [wCurMapTileset]
add a
add a
ld b, a
add a
add b ; a = tileset * 12
jr nc, .noCarry
inc d
.noCarry
ld e, a
ld hl, Tilesets
add hl, de
ld de, wTilesetBank
ld c, $b
.copyTilesetHeaderLoop
ld a, [hli]
ld [de], a
inc de
dec c
jr nz, .copyTilesetHeaderLoop
ld a, [hl]
ldh [hTileAnimations], a
xor a
ldh [hMovingBGTilesCounter1], a
pop hl
ld a, [wCurMapTileset]
push hl
push de
ld hl, DungeonTilesets
ld de, $1
call IsInArray
pop de
pop hl
jr c, .dungeon
ld a, [wCurMapTileset]
ld b, a
ldh a, [hPreviousTileset]
cp b
jr z, .done
.dungeon
ld a, [wDestinationWarpID]
cp $ff
jr z, .done
call LoadDestinationWarpPosition
ld a, [wYCoord]
and $1
ld [wYBlockCoord], a
ld a, [wXCoord]
and $1
ld [wXBlockCoord], a
.done
ret
INCLUDE "data/tilesets/dungeon_tilesets.asm"
INCLUDE "data/tilesets/tileset_headers.asm"