summaryrefslogtreecommitdiff
path: root/engine/tilesets
diff options
context:
space:
mode:
authorentrpntr <entrpntr@gmail.com>2020-03-17 16:20:00 -0400
committerentrpntr <entrpntr@gmail.com>2020-03-17 16:20:00 -0400
commite67786a7a26ae7531301e928870b204043fb8a6a (patch)
tree579c9e876fa2cd46c13ecceed0e8f0358e347131 /engine/tilesets
parentc248b30aa7487b51a9182a833b1db29f14a7267c (diff)
Cleanup of files for banks $02 and $03 for main.asm.
Diffstat (limited to 'engine/tilesets')
-rw-r--r--engine/tilesets/map_palettes.asm110
1 files changed, 110 insertions, 0 deletions
diff --git a/engine/tilesets/map_palettes.asm b/engine/tilesets/map_palettes.asm
new file mode 100644
index 00000000..0c45cf57
--- /dev/null
+++ b/engine/tilesets/map_palettes.asm
@@ -0,0 +1,110 @@
+_SwapTextboxPalettes::
+ ld hl, wTilemap
+ ld de, wAttrmap
+ ld b, SCREEN_HEIGHT
+.loop
+ ld c, SCREEN_WIDTH
+.innerloop
+ ld a, [hli]
+ 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
+ bit 3, a
+ jr z, .next
+ jr .asm_8038
+
+.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
+ bit 3, a
+ jr z, .next
+
+.asm_8038
+ ld a, [wMapGroup]
+ dec a
+ ld hl, Unknown85d7
+ add l
+ ld l, a
+ jr nc, .asm_8044
+ inc h
+.asm_8044
+ ld a, [hl]
+
+.next
+ pop hl
+ ld [de], a
+ inc de
+ dec c
+ jr nz, .innerloop
+ dec b
+ jr nz, .loop
+ ret
+
+_ScrollBGMapPalettes::
+ ld hl, wBGMapBuffer
+ ld de, wBGMapPalBuffer
+.loop
+ ld a, [hli]
+ 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
+ bit 3, a
+ jr z, .next
+ jr .asm_8083
+
+.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
+ bit 3, a
+ jr z, .next
+
+.asm_8083
+ ld a, [wMapGroup]
+ dec a
+ ld hl, Unknown85d7
+ add l
+ ld l, a
+ jr nc, .asm_808f
+ inc h
+.asm_808f
+ ld a, [hl]
+
+.next
+ pop hl
+ ld [de], a
+ inc de
+ dec c
+ jr nz, .loop
+ ret