mirror of https://github.com/pret/pokecrystal.git
87 lines
1.0 KiB
NASM
87 lines
1.0 KiB
NASM
SwapTextboxPalettes:: ; 4c000
|
|
hlcoord 0, 0
|
|
decoord 0, 0, wAttrMap
|
|
ld b, SCREEN_HEIGHT
|
|
.loop
|
|
push bc
|
|
ld c, SCREEN_WIDTH
|
|
.innerloop
|
|
ld a, [hl]
|
|
push hl
|
|
srl a
|
|
jr c, .UpperNybble
|
|
ld hl, wTilesetPalettes
|
|
add [hl]
|
|
ld l, a
|
|
ld a, [wTilesetPalettes + 1]
|
|
adc $0
|
|
ld h, a
|
|
ld a, [hl]
|
|
and $f
|
|
jr .next
|
|
|
|
.UpperNybble:
|
|
ld hl, wTilesetPalettes
|
|
add [hl]
|
|
ld l, a
|
|
ld a, [wTilesetPalettes + 1]
|
|
adc $0
|
|
ld h, a
|
|
ld a, [hl]
|
|
swap a
|
|
and $f
|
|
|
|
.next
|
|
pop hl
|
|
ld [de], a
|
|
res 7, [hl]
|
|
inc hl
|
|
inc de
|
|
dec c
|
|
jr nz, .innerloop
|
|
pop bc
|
|
dec b
|
|
jr nz, .loop
|
|
ret
|
|
|
|
ScrollBGMapPalettes:: ; 4c03f
|
|
ld hl, wBGMapBuffer
|
|
ld de, wBGMapPalBuffer
|
|
.loop
|
|
ld a, [hl]
|
|
push hl
|
|
srl a
|
|
jr c, .UpperNybble
|
|
|
|
; .LowerNybble
|
|
ld hl, wTilesetPalettes
|
|
add [hl]
|
|
ld l, a
|
|
ld a, [wTilesetPalettes + 1]
|
|
adc $0
|
|
ld h, a
|
|
ld a, [hl]
|
|
and $f
|
|
jr .next
|
|
|
|
.UpperNybble:
|
|
ld hl, wTilesetPalettes
|
|
add [hl]
|
|
ld l, a
|
|
ld a, [wTilesetPalettes + 1]
|
|
adc $0
|
|
ld h, a
|
|
ld a, [hl]
|
|
swap a
|
|
and $f
|
|
|
|
.next
|
|
pop hl
|
|
ld [de], a
|
|
res 7, [hl]
|
|
inc hl
|
|
inc de
|
|
dec c
|
|
jr nz, .loop
|
|
ret
|