summaryrefslogtreecommitdiff
path: root/engine/gfx/color.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/gfx/color.asm')
-rwxr-xr-xengine/gfx/color.asm1903
1 files changed, 1903 insertions, 0 deletions
diff --git a/engine/gfx/color.asm b/engine/gfx/color.asm
new file mode 100755
index 00000000..05c13b2b
--- /dev/null
+++ b/engine/gfx/color.asm
@@ -0,0 +1,1903 @@
+PALPACKET_LENGTH EQU $10
+INCLUDE "predef/sgb.asm"
+
+SHINY_ATK_BIT EQU 5
+SHINY_DEF_VAL EQU 10
+SHINY_SPD_VAL EQU 10
+SHINY_SPC_VAL EQU 10
+
+CheckShininess:
+ ld l, c
+ ld h, b
+ ld a, [hl]
+ and $20
+ jr z, .asm_9070
+ ld a, [hli]
+ and $f
+ cp $a
+ jr nz, .asm_9070
+ ld a, [hl]
+ and $f0
+ cp $a0
+ jr nz, .asm_9070
+ ld a, [hl]
+ and $f
+ cp $a
+ jr nz, .asm_9070
+ scf
+ ret
+
+.asm_9070
+ and a
+ ret
+
+Unused_CheckShininess: ; 9072 (2:5072)
+ ld a, [hl]
+ cp $a0
+ jr c, .asm_908c
+ ld a, [hli]
+ and $f
+ cp $a
+ jr c, .asm_908c
+ ld a, [hl]
+ cp $a0
+ jr c, .asm_908c
+ ld a, [hl]
+ and $f
+ cp $a
+ jr c, .asm_908c
+ scf
+ ret
+
+.asm_908c
+ and a
+ ret
+
+Function908e:
+ push de
+ push bc
+ ld hl, PalPacket_a155
+ ld de, wcca9
+ ld bc, $10
+ call CopyBytes
+ pop bc
+ pop de
+ ld a, c
+ ld [wccac], a
+ ld a, b
+ ld [wccad], a
+ ld a, e
+ ld [wccae], a
+ ld a, d
+ ld [wccaf], a
+ ld hl, wcca9
+ call PushSGBPals_
+ ld hl, BlkPacket_9ee5
+ call PushSGBPals_
+ ret
+
+InitPartyMenuPalettes:
+ call CheckCGB
+ jr nz, .asm_90cc
+ ld hl, BlkPacket_9fa5
+ ld de, wccaa
+ ld bc, $30
+ jp CopyBytes
+
+.asm_90cc
+ ld hl, PalPacket_a0c5 + 1
+ call Function9ab2
+ call Function9b9c
+ call Function9b1d
+ ret
+
+SGB_ApplyPartyMenuHPPals:
+ ld hl, wcc9b
+ ld a, [wcca9]
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld a, [de]
+ and a
+ ld e, $5
+ jr z, .asm_90f2
+ dec a
+ ld e, $a
+ jr z, .asm_90f2
+ ld e, $f
+.asm_90f2
+ push de
+ ld hl, wccb3
+ ld bc, $6
+ ld a, [wcca9]
+ call AddNTimes
+ pop de
+ ld [hl], e
+ ret
+
+Function9102:
+ call CheckCGB
+ ret z
+ ld hl, .BGPal
+ ld de, wTempBGPals
+ ld bc, $8
+ call CopyBytes
+ ld hl, .OBPal
+ ld de, wTempOBPals
+ ld bc, $8
+ call CopyBytes
+ call Function9b28
+ ld a, $1
+ ldh [hCGBPalUpdate], a
+ ret
+
+.BGPal:
+ RGB 31, 31, 31
+ RGB 18, 23, 31
+ RGB 15, 20, 31
+ RGB 00, 00, 00
+
+.OBPal:
+ RGB 31, 31, 31
+ RGB 31, 31, 12
+ RGB 08, 16, 28
+ RGB 00, 00, 00
+
+Function9136:
+ call CheckCGB
+ ret nz
+ ldh a, [hSGB]
+ and a
+ ret z
+ ld hl, BlkPacket_9ee5
+ jp PushSGBPals_
+
+Function9144:
+ call CheckCGB
+ jr nz, .asm_9153
+ ldh a, [hSGB]
+ and a
+ ret z
+ ld hl, PalPacket_a095
+ jp PushSGBPals_
+
+.asm_9153
+ ld de, wTempOBPals
+ ld a, $3b
+ call Function9ac7
+ jp Function9ad2
+
+Function915e:
+ call CheckCGB
+ jr nz, .asm_916d
+ ldh a, [hSGB]
+ and a
+ ret z
+ ld hl, PalPacket_a0a5
+ jp PushSGBPals_
+
+.asm_916d
+ ld de, wTempOBPals
+ ld a, $3c
+ call Function9ac7
+ jp Function9ad2
+
+Function9178:
+ call CheckCGB
+ jr nz, .asm_91a9
+ ldh a, [hSGB]
+ and a
+ ret z
+ ld a, c
+ push af
+ ld hl, PalPacket_a155
+ ld de, wcca9
+ ld bc, $10
+ call CopyBytes
+ pop af
+ call Function9be4
+ ld a, [hli]
+ ld [wccac], a
+ ld a, [hli]
+ ld [wccad], a
+ ld a, [hli]
+ ld [wccae], a
+ ld a, [hl]
+ ld [wccaf], a
+ ld hl, wcca9
+ jp PushSGBPals_
+
+.asm_91a9
+ ld de, wTempOBPals
+ ld a, c
+ call Function9be4
+ call Function9adb
+ ret
+
+Function91b4:
+ ldh a, [hCGB]
+ and a
+ jr nz, .asm_91bf
+ ld hl, wc602
+ jp PushSGBPals_
+
+.asm_91bf
+ ld a, [wc606]
+ ld c, a
+ ld a, [wc607]
+ ld hl, wAttrmap
+ ld de, $14
+.asm_91cc
+ and a
+ jr z, .asm_91d3
+ add hl, de
+ dec a
+ jr .asm_91cc
+
+.asm_91d3
+ ld b, $0
+ add hl, bc
+ lb bc, 6, 4
+ ld a, [wc605]
+ and $3
+ call Function9af1
+ call CopyTilemapAtOnce
+ ret
+
+ApplyMonOrTrainerPals: ; 91e5 (2:51e5)
+ call CheckCGB
+ ret z
+ ld a, e
+ and a
+ jr z, .asm_91f5
+ ld a, [wCurPartySpecies]
+ call Function9be4
+ jr .asm_91fb
+
+.asm_91f5
+ ld a, [wTrainerClass]
+ call Function9bda
+.asm_91fb
+ ld de, wTempBGPals
+ call Function9adb
+ call Function9b1d
+ call Function9b35
+ call Function9b28
+ ret
+
+ApplyHPBarPals:
+ ld a, [wWhichHPBar]
+ and a
+ jr z, .asm_921a
+ cp $1
+ jr z, .asm_921f
+ cp $2
+ jr z, .asm_9236
+ ret
+
+.asm_921a
+ ld de, $c292
+ jr .asm_9222
+
+.asm_921f
+ ld de, $c29a
+.asm_9222
+ ld l, c
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ ld bc, $6d2d
+ add hl, bc
+ ld bc, $4
+ call CopyBytes
+ ld a, $1
+ ldh [hCGBPalUpdate], a
+ ret
+
+.asm_9236
+ ld e, c
+ inc e
+ hlcoord 11, 1, wAttrmap
+ ld bc, 2 * SCREEN_WIDTH
+ ld a, [wCurPartyMon]
+.asm_9241
+ and a
+ jr z, .asm_9248
+ add hl, bc
+ dec a
+ jr .asm_9241
+
+.asm_9248
+ lb bc, 2, 8
+ ld a, e
+ call Function9af1
+ ret
+
+LoadStatsScreenPals:
+ call CheckCGB
+ ret z
+ ld hl, StatsScreenPals ; $54eb
+ ld b, $0
+ dec c
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld [wTempBGPals], a
+ ld [wTempBGPals + $10], a
+ ld a, [hl]
+ ld [wTempBGPals + 1], a
+ ld [wTempBGPals + $11], a
+ call Function9b28
+ ld a, $1
+ ldh [hCGBPalUpdate], a
+ ret
+
+LoadMailPalettes:
+ ld l, e
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ ld de, .MailPals
+ add hl, de
+ call CheckCGB
+ jr nz, .asm_92ae
+ push hl
+ ld hl, PalPacket_a155
+ ld de, wcca9
+ ld bc, $10
+ call CopyBytes
+ pop hl
+ inc hl
+ inc hl
+ ld a, [hli]
+ ld [wccac], a
+ ld a, [hli]
+ ld [wccad], a
+ ld a, [hli]
+ ld [wccae], a
+ ld a, [hli]
+ ld [wccaf], a
+ ld hl, wcca9
+ call PushSGBPals_
+ ld hl, BlkPacket_9ee5
+ call PushSGBPals_
+ ret
+
+.asm_92ae
+ ld de, wTempBGPals
+ ld bc, $8
+ call CopyBytes
+ call Function9b28
+ call Function9b1d
+ call Function9b35
+ ret
+
+.MailPals:
+ RGB 20, 31, 11
+ RGB 31, 19, 00
+ RGB 31, 10, 09
+ RGB 00, 00, 00
+
+ RGB 15, 20, 31
+ RGB 30, 26, 00
+ RGB 31, 12, 00
+ RGB 00, 00, 00
+
+ RGB 24, 17, 31
+ RGB 30, 26, 00
+ RGB 08, 11, 31
+ RGB 00, 00, 00
+
+ RGB 31, 25, 17
+ RGB 31, 18, 04
+ RGB 28, 12, 05
+ RGB 00, 00, 00
+
+ RGB 19, 26, 31
+ RGB 31, 05, 08
+ RGB 31, 09, 31
+ RGB 00, 00, 00
+
+ RGB 31, 19, 28
+ RGB 31, 21, 00
+ RGB 12, 22, 00
+ RGB 00, 00, 00
+
+ RGB 19, 17, 23
+ RGB 30, 26, 00
+ RGB 31, 12, 00
+ RGB 00, 00, 00
+
+ RGB 07, 26, 31
+ RGB 26, 26, 27
+ RGB 31, 11, 11
+ RGB 00, 00, 00
+
+ RGB 21, 31, 21
+ RGB 30, 26, 00
+ RGB 31, 12, 00
+ RGB 00, 00, 00
+
+ RGB 07, 26, 31
+ RGB 31, 31, 00
+ RGB 00, 21, 00
+ RGB 00, 00, 00
+
+INCLUDE "predef/cgb.asm"
+
+Function9a94: ; 9a94 (2:5a94)
+ ld hl, Palettes_9aaa
+ ld de, wTempBGPals
+ ld bc, $8
+ call CopyBytes
+ call Function9b28
+ call Function9b1d
+ call Function9b35
+ ret
+
+Palettes_9aaa:
+ RGB 31, 31, 31
+ RGB 9, 31, 31
+ RGB 10, 12, 31
+ RGB 0, 3, 19
+
+Function9ab2: ; 9ab2 (2:5ab2)
+ ld de, wTempBGPals
+ ld c, $4
+Function9ab7: ; 9ab7 (2:5ab7)
+ push bc
+ ld a, [hli]
+ push hl
+ call Function9ac7
+ call Function9ad2
+ pop hl
+ inc hl
+ pop bc
+ dec c
+ jr nz, Function9ab7
+ ret
+
+Function9ac7: ; 9ac7 (2:5ac7)
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ ld bc, Palettes_a265
+ add hl, bc
+ ret
+
+Function9ad2: ; 9ad2 (2:5ad2)
+ ld c, $8
+.asm_9ad4
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec c
+ jr nz, .asm_9ad4
+ ret
+
+Function9adb: ; 9adb (2:5adb)
+ ld a, $ff
+ ld [de], a
+ inc de
+ ld a, $7f
+ ld [de], a
+ inc de
+ ld c, $4
+.asm_9ae5
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec c
+ jr nz, .asm_9ae5
+ xor a
+ ld [de], a
+ inc de
+ ld [de], a
+ inc de
+ ret
+
+Function9af1: ; 9af1 (2:5af1)
+ push bc
+ push hl
+.asm_9af3
+ ld [hli], a
+ dec c
+ jr nz, .asm_9af3
+ pop hl
+ ld bc, $14
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, Function9af1
+ ret
+
+Function9b01: ; 9b01 (2:5b01)
+ push af
+ push bc
+ push de
+ push hl
+ ld hl, wTempBGPals
+ ld c, $8
+.asm_9b0a
+ ld a, $ff
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ xor a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ ld [hli], a
+ dec c
+ jr nz, .asm_9b0a
+ pop hl
+ pop de
+ pop bc
+ pop af
+ ret
+
+Function9b1d: ; 9b1d (2:5b1d)
+ hlcoord 0, 0, wAttrmap
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
+ xor a
+ call ByteFill
+ ret
+
+Function9b28: ; 9b28 (2:5b28)
+ ld hl, wTempBGPals
+ ld de, wBGPals
+ ld bc, $80
+ call CopyBytes
+ ret
+
+Function9b35: ; 9b35 (2:5b35)
+ ldh a, [rLCDC]
+ bit 7, a
+ jr z, .asm_9b52
+ ldh a, [hBGMapMode]
+ push af
+ ld a, $2
+ ldh [hBGMapMode], a
+ call DelayFrame
+ call DelayFrame
+ call DelayFrame
+ call DelayFrame
+ pop af
+ ldh [hBGMapMode], a
+ ret
+
+.asm_9b52
+ hlcoord 0, 0, wAttrmap
+ ld de, $9800
+ ld b, $12
+ ld a, $1
+ ldh [rVBK], a
+.asm_9b5e
+ ld c, $14
+.asm_9b60
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec c
+ jr nz, .asm_9b60
+ ld a, $c
+ add e
+ jr nc, .asm_9b6c
+ inc d
+.asm_9b6c
+ ld e, a
+ dec b
+ jr nz, .asm_9b5e
+ ld a, $0
+ ldh [rVBK], a
+ ret
+
+Function9b75: ; 9b75 (2:5b75)
+ ld hl, wcc9b
+ ld a, [wcca9]
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld a, [de]
+ inc a
+ ld e, a
+ hlcoord 11, 2, wAttrmap
+ ld bc, $28
+ ld a, [wcca9]
+.asm_9b8d
+ and a
+ jr z, .asm_9b94
+ add hl, bc
+ dec a
+ jr .asm_9b8d
+
+.asm_9b94
+ lb bc, 2, 8
+ ld a, e
+ call Function9af1
+ ret
+
+Function9b9c: ; 9b9c (2:5b9c)
+ ld hl, Palettes_bac6
+ ld de, wTempOBPal0
+ ld bc, $10
+ call CopyBytes
+ ret
+
+Function9ba9: ; 9ba9 (2:5ba9)
+ push de
+ farcall Function3d8f5
+ ld c, l
+ ld b, h
+ ld a, [wd0ee]
+ call Function9bcb
+ pop de
+ ret
+
+Function9bba: ; 9bba (2:5bba)
+ push de
+ farcall Function3d907
+ ld c, l
+ ld b, h
+ ld a, [wTempEnemyMonSpecies]
+ call Function9bd3
+ pop de
+ ret
+
+Function9bcb: ; 9bcb (2:5bcb)
+ and a
+ jp nz, Function9c66
+ ld hl, TrainerPalettes
+ ret
+
+Function9bd3: ; 9bd3 (2:5bd3)
+ and a
+ jp nz, Function9c66
+ ld a, [wTrainerClass]
+Function9bda: ; 9bda (2:5bda)
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ ld bc, TrainerPalettes
+ add hl, bc
+ ret
+
+Function9be4: ; 9be4 (2:5be4)
+ call Function9c5b
+ ret
+
+Function9be8:
+ ret
+
+Function9be9:
+ call CheckCGB
+ ret z
+ ld hl, Palettes_9c09
+ ld a, $90
+ ldh [rOBPI], a
+ ld c, $30
+.asm_9bf6
+ ld a, [hli]
+ ldh [rOBPD], a
+ dec c
+ jr nz, .asm_9bf6
+ ld hl, Palettes_9c09
+ ld de, wTempOBPal2
+ ld bc, $10
+ call CopyBytes
+ ret
+
+Palettes_9c09:
+ RGB 31, 31, 31
+ RGB 25, 25, 25
+ RGB 13, 13, 13
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 31, 31, 7
+ RGB 31, 16, 1
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 31, 19, 24
+ RGB 30, 10, 6
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 12, 25, 1
+ RGB 5, 14, 0
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 8, 12, 31
+ RGB 1, 4, 31
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 24, 18, 7
+ RGB 20, 15, 3
+ RGB 0, 0, 0
+
+Function9c39:
+ call CheckCGB
+ ret z
+ ld a, $90
+ ldh [rOBPI], a
+ ld a, $1c
+ call Function9ac7
+ call Function9c52
+ ld a, $21
+ call Function9ac7
+ call Function9c52
+ ret
+
+Function9c52: ; 9c52 (2:5c52)
+ ld c, $8
+.asm_9c54
+ ld a, [hli]
+ ldh [rOBPD], a
+ dec c
+ jr nz, .asm_9c54
+ ret
+
+Function9c5b: ; 9c5b (2:5c5b)
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ ld bc, PokemonPalettes
+ add hl, bc
+ ret
+
+Function9c66: ; 9c66 (2:5c66)
+ push bc
+ call Function9c5b
+ pop bc
+ push hl
+ call CheckShininess
+ pop hl
+ ret nc
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ ret
+
+PushSGBPals_: ; 9c76 (2:5c76)
+ ld a, [wd8ba]
+ push af
+ set 7, a
+ ld [wd8ba], a
+ call Function9c87
+ pop af
+ ld [wd8ba], a
+ ret
+
+Function9c87: ; 9c87 (2:5c87)
+ ld a, [hl]
+ and $7
+ ret z
+ ld b, a
+.asm_9c8c
+ push bc
+ xor a
+ ldh [rJOYP], a
+ ld a, $30
+ ldh [rJOYP], a
+ ld b, $10
+.asm_9c96
+ ld e, $8
+ ld a, [hli]
+ ld d, a
+.asm_9c9a
+ bit 0, d
+ ld a, $10
+ jr nz, .asm_9ca2
+ ld a, $20
+.asm_9ca2
+ ldh [rJOYP], a
+ ld a, $30
+ ldh [rJOYP], a
+ rr d
+ dec e
+ jr nz, .asm_9c9a
+ dec b
+ jr nz, .asm_9c96
+ ld a, $20
+ ldh [rJOYP], a
+ ld a, $30
+ ldh [rJOYP], a
+ call Function9ed9
+ pop bc
+ dec b
+ jr nz, .asm_9c8c
+ ret
+
+InitSGBBorder: ; 9cc0 (2:5cc0)
+ call CheckCGB
+ ret nz
+ di
+ ld a, [wd8ba]
+ push af
+ set 7, a
+ ld [wd8ba], a
+ xor a
+ ldh [rJOYP], a
+ ldh [hSGB], a
+ call Function9da9
+ jr nc, .asm_9cf7
+ ld a, $1
+ ldh [hSGB], a
+ call Function9d4a
+ call Function9e13
+ call Function9ed9
+ call Function9d9e
+ call Function9d8b
+ call Function9ed9
+ call Function9d9e
+ ld hl, PalPacket_a1d5
+ call Function9c87
+.asm_9cf7
+ pop af
+ ld [wd8ba], a
+ ei
+ ret
+
+InitCGBPals:: ; 9cfd (2:5cfd)
+ call CheckCGB
+ ret z
+ ld a, $1
+ ldh [rVBK], a
+ ld hl, $8000
+ ld bc, $2000
+ xor a
+ call ByteFill
+ ld a, $0
+ ldh [rVBK], a
+ ld a, $80
+ ldh [rBGPI], a
+ ld c, $20
+.asm_9d19
+ ld a, $ff
+ ldh [rBGPD], a
+ ld a, $7f
+ ldh [rBGPD], a
+ dec c
+ jr nz, .asm_9d19
+ ld a, $80
+ ldh [rOBPI], a
+ ld c, $20
+.asm_9d2a
+ ld a, $ff
+ ldh [rOBPD], a
+ ld a, $7f
+ ldh [rOBPD], a
+ dec c
+ jr nz, .asm_9d2a
+ ld hl, wTempBGPals
+ call Function9d3e
+ ld hl, wBGPals
+Function9d3e: ; 9d3e (2:5d3e)
+ ld c, $40
+.asm_9d40
+ ld a, $ff
+ ld [hli], a
+ ld a, $7f
+ ld [hli], a
+ dec c
+ jr nz, .asm_9d40
+ ret
+
+Function9d4a: ; 9d4a (2:5d4a)
+ ld hl, .Pointers
+ ld c, $9
+.asm_9d4f
+ push bc
+ ld a, [hli]
+ push hl
+ ld h, [hl]
+ ld l, a
+ call Function9c87
+ pop hl
+ inc hl
+ pop bc
+ dec c
+ jr nz, .asm_9d4f
+ ret
+
+.Pointers:
+ dw PalPacket_a1c5
+ dw PalPacket_a1e5
+ dw PalPacket_a1f5
+ dw PalPacket_a205
+ dw PalPacket_a215
+ dw PalPacket_a225
+ dw PalPacket_a235
+ dw PalPacket_a245
+ dw PalPacket_a255
+
+Function9d70:
+ di
+ xor a
+ ldh [rJOYP], a
+ ld hl, PalPacket_a1c5
+ call Function9c87
+ call Function9d8b
+ call Function9ed9
+ call Function9d9e
+ ld hl, PalPacket_a1d5
+ call Function9c87
+ ei
+ ret
+
+Function9d8b: ; 9d8b (2:5d8b)
+ call Function9d97
+ push de
+ call Function9e83
+ pop hl
+ call Function9e37
+ ret
+
+Function9d97: ; 9d97 (2:5d97)
+ ld hl, SGBBorder
+ ld de, SGBBorderMap
+ ret
+
+Function9d9e: ; 9d9e (2:5d9e)
+ ld hl, $8000
+ ld bc, $2000
+ xor a
+ call ByteFill
+ ret
+
+Function9da9: ; 9da9 (2:5da9)
+ ld hl, PalPacket_a195
+ call Function9c87
+ call Function9ed9
+ ldh a, [rJOYP]
+ and $3
+ cp $3
+ jr nz, .asm_9e05
+ ld a, $20
+ ldh [rJOYP], a
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ call Function9ed9
+ call Function9ed9
+ ld a, $30
+ ldh [rJOYP], a
+ call Function9ed9
+ call Function9ed9
+ ld a, $10
+ ldh [rJOYP], a
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ call Function9ed9
+ call Function9ed9
+ ld a, $30
+ ldh [rJOYP], a
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ ldh a, [rJOYP]
+ call Function9ed9
+ call Function9ed9
+ ldh a, [rJOYP]
+ and $3
+ cp $3
+ jr nz, .asm_9e05
+ call Function9e0a
+ and a
+ ret
+
+.asm_9e05
+ call Function9e0a
+ scf
+ ret
+
+Function9e0a: ; 9e0a (2:5e0a)
+ ld hl, PalPacket_a185
+ call Function9c87
+ jp Function9ed9
+
+Function9e13: ; 9e13 (2:5e13)
+ call DisableLCD
+ ld a, $e4
+ ldh [rBGP], a
+ ld hl, Palettes_a265
+ ld de, $8800
+ ld bc, $1000
+ call Function9eb1
+ call Function9ec3
+ ld a, $e3
+ ldh [rLCDC], a
+ ld hl, PalPacket_a175
+ call Function9c87
+ xor a
+ ldh [rBGP], a
+ ret
+
+Function9e37: ; 9e37 (2:5e37)
+ call DisableLCD
+ ld a, $e4
+ ldh [rBGP], a
+ ld de, $8800
+ ld bc, $140
+ call Function9eb1
+ ld b, $12
+.asm_9e49
+ push bc
+ ld bc, $c
+ call Function9eb1
+ ld bc, $28
+ call Function9eba
+ ld bc, $c
+ call Function9eb1
+ pop bc
+ dec b
+ jr nz, .asm_9e49
+ ld bc, $140
+ call Function9eb1
+ ld bc, $100
+ call Function9eba
+ ld bc, $80
+ call Function9eb1
+ call Function9ec3
+ ld a, $e3
+ ldh [rLCDC], a
+ ld hl, PalPacket_a1b5
+ call Function9c87
+ xor a
+ ldh [rBGP], a
+ ret
+
+Function9e83: ; 9e83 (2:5e83)
+ call DisableLCD
+ ld a, $e4
+ ldh [rBGP], a
+ ld de, $8800
+ ld b, $80
+.asm_9e8f
+ push bc
+ ld bc, $10
+ call Function9eb1
+ ld bc, $10
+ call Function9eba
+ pop bc
+ dec b
+ jr nz, .asm_9e8f
+ call Function9ec3
+ ld a, $e3
+ ldh [rLCDC], a
+ ld hl, PalPacket_a1a5
+ call Function9c87
+ xor a
+ ldh [rBGP], a
+ ret
+
+Function9eb1: ; 9eb1 (2:5eb1)
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec bc
+ ld a, c
+ or b
+ jr nz, Function9eb1
+ ret
+
+Function9eba: ; 9eba (2:5eba)
+ xor a
+ ld [de], a
+ inc de
+ dec bc
+ ld a, c
+ or b
+ jr nz, Function9eba
+ ret
+
+Function9ec3: ; 9ec3 (2:5ec3)
+ ld hl, $9800
+ ld de, $c
+ ld a, $80
+ ld c, $d
+.asm_9ecd
+ ld b, $14
+.asm_9ecf
+ ld [hli], a
+ inc a
+ dec b
+ jr nz, .asm_9ecf
+ add hl, de
+ dec c
+ jr nz, .asm_9ecd
+ ret
+
+Function9ed9: ; 9ed9 (2:5ed9)
+ ld de, 7000
+.asm_9edc
+ nop
+ nop
+ nop
+ dec de
+ ld a, d
+ or e
+ jr nz, .asm_9edc
+ ret
+
+BlkPacket_9ee5: db $21, $01, $03, $00, $00, $00, $13, $11, $00, $00, $00, $00, $00, $00, $00, $00
+BlkPacket_9ef5: db $21, $01, $07, $05, $00, $0a, $13, $0d, $00, $00, $00, $00, $00, $00, $00, $00
+BlkPacket_9f05: db $22, $05, $07, $0a, $00, $0c, $13, $11, $03, $05, $01, $00, $0a, $03, $03, $00
+BlkPacket_9f15: db $0a, $08, $13, $0a, $03, $0a, $00, $04, $08, $0b, $03, $0f, $0b, $00, $13, $07
+BlkPacket_9f25: db $21, $01, $07, $05, $00, $00, $06, $06, $00, $00, $00, $00, $00, $00, $00, $00
+BlkPacket_9f35: db $21, $01, $06, $05, $0b, $01, $13, $02, $00, $00, $00, $00, $00, $00, $00, $00
+BlkPacket_9f45: db $21, $01, $07, $05, $00, $01, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00
+BlkPacket_9f55: db $21, $01, $07, $05, $01, $04, $07, $0a, $00, $00, $00, $00, $00, $00, $00, $00
+BlkPacket_9f65: db $21, $01, $07, $05, $01, $01, $05, $05, $00, $00, $00, $00, $00, $00, $00, $00
+BlkPacket_9f75: db $21, $01, $07, $05, $07, $05, $0d, $0b, $00, $00, $00, $00, $00, $00, $00, $00
+BlkPacket_9f85: db $22, $05, $03, $05, $00, $00, $13, $0b, $03, $0a, $00, $04, $13, $09, $02, $0f
+BlkPacket_9f95: db $00, $06, $13, $07, $03, $00, $04, $04, $0f, $09, $03, $00, $00, $0c, $13, $11
+BlkPacket_9fa5: db $23, $07, $07, $10, $00, $00, $02, $0c, $02, $00, $0c, $01, $12, $02, $02, $00
+BlkPacket_9fb5: db $0c, $03, $12, $04, $02, $00, $0c, $05, $12, $06, $02, $00, $0c, $07, $12, $08
+BlkPacket_9fc5: db $02, $00, $0c, $09, $12, $0a, $02, $00, $0c, $0b, $12, $0c, $00, $00, $00, $00
+BlkPacket_9fd5: db $21, $02, $07, $30, $00, $00, $13, $06, $02, $04, $05, $06, $0e, $06, $00, $00
+BlkPacket_9fe5: db $21, $01, $07, $10, $00, $00, $13, $05, $00, $00, $00, $00, $00, $00, $00, $00
+BlkPacket_9ff5: db $21, $02, $07, $0a, $00, $04, $13, $0d, $03, $05, $00, $06, $13, $0b, $00, $00
+
+PalPacket_a005:
+ db $51
+ RGB 8, 2, 0
+ RGB 9, 2, 0
+ RGB 10, 2, 0
+ RGB 11, 2, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a015:
+ db $51
+ RGB 11, 1, 0
+ RGB 4, 1, 0
+ RGB 0, 1, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a025:
+ db $51
+ RGB 1, 2, 0
+ RGB 2, 2, 0
+ RGB 3, 2, 0
+ RGB 4, 2, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a035:
+ db $51
+ RGB 12, 2, 0
+ RGB 12, 2, 0
+ RGB 12, 2, 0
+ RGB 12, 2, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a045:
+ db $51
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a055:
+ db $51
+ RGB 22, 1, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a065:
+ db $51
+ RGB 23, 1, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a075:
+ db $51
+ RGB 24, 1, 0
+ RGB 25, 1, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a085:
+ db $51
+ RGB 26, 1, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a095:
+ db $51
+ RGB 27, 1, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a0a5:
+ db $51
+ RGB 28, 1, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a0b5:
+ db $51
+ RGB 25, 1, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a0c5:
+ db $51
+ RGB 14, 1, 0
+ RGB 15, 1, 0
+ RGB 16, 1, 0
+ RGB 17, 1, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a0d5:
+ db $51
+ RGB 26, 0, 0
+ RGB 26, 0, 0
+ RGB 26, 0, 0
+ RGB 26, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a0e5:
+ db $51
+ RGB 18, 1, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a0f5:
+ db $51
+ RGB 28, 1, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a105:
+ db $51
+ RGB 29, 1, 0
+ RGB 30, 1, 0
+ RGB 31, 1, 0
+ RGB 0, 2, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a115:
+ db $51
+ RGB 19, 1, 0
+ RGB 20, 1, 0
+ RGB 27, 0, 0
+ RGB 31, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a125:
+ db $51
+ RGB 27, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a135:
+ db $51
+ RGB 28, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a145:
+ db $51
+ RGB 21, 1, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ db $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a155: db $01, $ff, $7f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
+PalPacket_a165: db $09, $ff, $7f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
+PalPacket_a175: db $59, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
+PalPacket_a185: db $89, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
+PalPacket_a195: db $89, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
+PalPacket_a1a5: db $99, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
+PalPacket_a1b5: db $a1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
+
+PalPacket_a1c5: db $b9, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
+PalPacket_a1d5: db $b9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
+PalPacket_a1e5: db $79, $5d, $08, $00, $0b, $8c, $d0, $f4, $60, $00, $00, $00, $00, $00, $00, $00
+PalPacket_a1f5: db $79, $52, $08, $00, $0b, $a9, $e7, $9f, $01, $c0, $7e, $e8, $e8, $e8, $e8, $e0
+PalPacket_a205: db $79, $47, $08, $00, $0b, $c4, $d0, $16, $a5, $cb, $c9, $05, $d0, $10, $a2, $28
+PalPacket_a215: db $79, $3c, $08, $00, $0b, $f0, $12, $a5, $c9, $c9, $c8, $d0, $1c, $a5, $ca, $c9
+PalPacket_a225: db $79, $31, $08, $00, $0b, $0c, $a5, $ca, $c9, $7e, $d0, $06, $a5, $cb, $c9, $7e
+PalPacket_a235: db $79, $26, $08, $00, $0b, $39, $cd, $48, $0c, $d0, $34, $a5, $c9, $c9, $80, $d0
+PalPacket_a245: db $79, $1b, $08, $00, $0b, $ea, $ea, $ea, $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0
+PalPacket_a255: db $79, $10, $08, $00, $0b, $4c, $20, $08, $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea
+
+IF DEF(GOLD)
+Palettes_a265: INCLUDE "gfx/pals/gold_a265.pal"
+ENDC
+IF DEF(SILVER)
+Palettes_a265: INCLUDE "gfx/pals/silver_a265.pal"
+ENDC
+
+IF DEF(GOLD)
+SGBBorderMap: INCBIN "gfx/sgb_border/gold.map"
+SGBBorderPalettes: INCLUDE "gfx/sgb_border/pals/gold.pal"
+SGBBorder: INCBIN "gfx/sgb_border/gold.2bpp"
+ENDC
+
+IF DEF(SILVER)
+SGBBorderMap: INCBIN "gfx/sgb_border/silver.map"
+SGBBorderPalettes: INCLUDE "gfx/sgb_border/pals/silver.pal"
+SGBBorder: INCBIN "gfx/sgb_border/silver.2bpp"
+ENDC
+
+Palettes_ad2d:
+ RGB 30, 26, 15
+ RGB 00, 23, 00
+
+ RGB 30, 26, 15
+ RGB 31, 21, 00
+
+ RGB 30, 26, 15
+ RGB 31, 00, 00
+
+Palettes_ad39:
+ RGB 30, 26, 15
+ RGB 04, 17, 31
+
+INCLUDE "gfx/pics/palette_pointers.asm"
+INCLUDE "gfx/trainers/palette_pointers.asm"
+
+Functionb649: ; b649 (2:7649)
+ ld a, [wPermission]
+ and $7
+ ld e, a
+ ld d, $0
+ ld hl, Pointers_b6ce
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [wTimeOfDayPal]
+ and $3
+ add a
+ add a
+ add a
+ ld e, a
+ ld d, $0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, wTempBGPals
+ ld b, $8
+.asm_b66c
+ ld a, [de]
+ push de
+ push hl
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ ld de, $775e
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ld c, $8
+.asm_b67e
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .asm_b67e
+ pop de
+ inc de
+ dec b
+ jr nz, .asm_b66c
+ ld a, [wTimeOfDayPal]
+ and $3
+ ld bc, $40
+ ld hl, MapObjectPals
+ call AddNTimes
+ ld de, wTempOBPal0
+ ld bc, $40
+ call CopyBytes
+ ld a, [wPermission]
+ cp $1
+ jr z, .asm_b6aa
+ cp $2
+ ret nz
+.asm_b6aa
+ ld a, [wMapGroup]
+ ld l, a
+ ld h, $0
+ add hl, hl
+ add hl, hl
+ add hl, hl
+ ld de, RoofPals
+ add hl, de
+ ld a, [wTimeOfDayPal]
+ and $3
+ cp $2
+ jr c, .asm_b6c4
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+.asm_b6c4
+ ld de, wTempBGPal6 + 2
+ ld bc, $4
+ call CopyBytes
+ ret
+
+Pointers_b6ce:
+ dw .OutdoorColors ; unused
+ dw .OutdoorColors ; TOWN
+ dw .OutdoorColors ; ROUTE
+ dw .IndoorColors ; INDOOR
+ dw .DungeonColors ; CAVE
+ dw .Perm5Colors ; ENVIRONMENT_5
+ dw .IndoorColors ; GATE
+ dw .DungeonColors ; DUNGEON
+
+; Valid indices: $00 - $29
+.OutdoorColors:
+ db $00, $01, $02, $28, $04, $05, $06, $07 ; morn
+ db $08, $09, $0a, $28, $0c, $0d, $0e, $0f ; day
+ db $10, $11, $12, $29, $14, $15, $16, $17 ; nite
+ db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark
+
+.IndoorColors:
+ db $20, $21, $22, $23, $24, $25, $26, $07 ; morn
+ db $20, $21, $22, $23, $24, $25, $26, $07 ; day
+ db $10, $11, $12, $13, $14, $15, $16, $07 ; nite
+ db $18, $19, $1a, $1b, $1c, $1d, $1e, $07 ; dark
+
+.DungeonColors:
+ db $00, $01, $02, $03, $04, $05, $06, $07 ; morn
+ db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day
+ db $10, $11, $12, $13, $14, $15, $16, $17 ; nite
+ db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark
+
+.Perm5Colors:
+ db $00, $01, $02, $03, $04, $05, $06, $07 ; morn
+ db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day
+ db $10, $11, $12, $13, $14, $15, $16, $17 ; nite
+ db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark
+
+TilesetBGPalette: ; b75e
+INCLUDE "gfx/tilesets/bg.pal"
+
+MapObjectPals:: ; b8ae
+INCLUDE "gfx/tilesets/ob.pal"
+
+RoofPals: ; b9ae
+INCLUDE "gfx/tilesets/roof.pal"
+
+Palettes_ba86:
+ RGB 27, 31, 27
+ RGB 21, 21, 21
+ RGB 13, 13, 13
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 31, 07, 06
+ RGB 20, 02, 03
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 10, 31, 09
+ RGB 04, 14, 01
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 08, 12, 31
+ RGB 01, 04, 31
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 31, 31, 07
+ RGB 31, 16, 01
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 22, 16, 08
+ RGB 13, 07, 01
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 15, 31, 31
+ RGB 05, 17, 31
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 11, 11, 19
+ RGB 07, 07, 12
+ RGB 00, 00, 00
+
+Palettes_bac6:
+ RGB 27, 31, 27
+ RGB 31, 19, 10
+ RGB 31, 07, 04
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 31, 19, 10
+ RGB 10, 14, 20
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 31, 19, 10
+ RGB 31, 07, 04
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 31, 19, 10
+ RGB 31, 07, 04
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 31, 19, 10
+ RGB 31, 07, 04
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 31, 19, 10
+ RGB 31, 07, 04
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 31, 19, 10
+ RGB 31, 07, 04
+ RGB 00, 00, 00
+
+ RGB 27, 31, 27
+ RGB 31, 19, 10
+ RGB 31, 07, 04
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 21, 21, 21
+ RGB 13, 13, 13
+ RGB 07, 07, 07
+
+ RGB 31, 31, 31
+ RGB 31, 31, 07
+ RGB 31, 16, 01
+ RGB 07, 07, 07
+
+ RGB 31, 31, 31
+ RGB 31, 19, 24
+ RGB 30, 10, 06
+ RGB 07, 07, 07
+
+ RGB 31, 31, 31
+ RGB 12, 25, 01
+ RGB 05, 14, 00
+ RGB 07, 07, 07
+
+ RGB 31, 31, 31
+ RGB 08, 12, 31
+ RGB 01, 04, 31
+ RGB 07, 07, 07
+
+ RGB 31, 31, 31
+ RGB 24, 18, 07
+ RGB 20, 15, 03
+ RGB 07, 07, 07
+
+Palettes_bb36:
+IF DEF(GOLD)
+ RGB 31, 31, 31
+ RGB 18, 23, 31
+ RGB 15, 20, 31
+ RGB 0, 0, 0
+
+ RGB 31, 21, 0
+ RGB 12, 14, 12
+ RGB 15, 20, 31
+ RGB 0, 0, 17
+
+ RGB 31, 31, 31
+ RGB 31, 0, 0
+ RGB 15, 20, 31
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 29, 25, 0
+ RGB 15, 20, 31
+ RGB 17, 10, 1
+
+ RGB 31, 31, 31
+ RGB 23, 26, 31
+ RGB 18, 23, 31
+ RGB 0, 0, 0
+ENDC
+
+IF DEF(SILVER)
+ RGB 31, 31, 31
+ RGB 0, 12, 15
+ RGB 4, 8, 21
+ RGB 0, 0, 0
+
+ RGB 31, 21, 0
+ RGB 15, 17, 15
+ RGB 4, 8, 21
+ RGB 0, 0, 17
+
+ RGB 31, 31, 31
+ RGB 31, 0, 0
+ RGB 4, 8, 21
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 24, 23, 25
+ RGB 4, 8, 21
+ RGB 8, 8, 9
+
+ RGB 31, 31, 31
+ RGB 5, 10, 11
+ RGB 0, 12, 15
+ RGB 0, 0, 0
+ENDC
+
+Palettes_bb5e:
+ RGB 31, 31, 31
+ RGB 07, 06, 03
+ RGB 07, 06, 03
+ RGB 07, 06, 03
+
+ RGB 31, 31, 31
+ RGB 31, 31, 00
+ RGB 26, 22, 00
+ RGB 00, 00, 00
+
+Palettes_bb6e:
+ RGB 28, 31, 20
+ RGB 21, 21, 21
+ RGB 13, 13, 13
+ RGB 00, 00, 00
+
+ RGB 28, 31, 20
+ RGB 00, 31, 00
+ RGB 00, 00, 31
+ RGB 00, 00, 00
+
+ RGB 28, 31, 20
+ RGB 00, 31, 00
+ RGB 15, 07, 00
+ RGB 00, 00, 00
+
+ RGB 28, 31, 20
+ RGB 31, 15, 00
+ RGB 15, 07, 00
+ RGB 00, 00, 00
+
+ RGB 28, 31, 20
+ RGB 00, 31, 00
+ RGB 00, 00, 31
+ RGB 31, 00, 00
+
+ RGB 28, 31, 20
+ RGB 00, 31, 00
+ RGB 15, 07, 00
+ RGB 31, 00, 00
+
+Palettes_bb9e:
+ RGB 31, 31, 31
+ RGB 30, 22, 24
+ RGB 18, 18, 18
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 10, 11, 31
+ RGB 18, 18, 18
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 12, 31, 11
+ RGB 18, 18, 18
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 29, 26, 05
+ RGB 18, 18, 18
+ RGB 00, 00, 00
+
+Palettes_bbbe:
+IF DEF(GOLD)
+ RGB 31, 31, 31
+ RGB 24, 25, 28
+ RGB 24, 24, 09
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 30, 10, 06
+ RGB 24, 24, 09
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 15, 31, 00
+ RGB 24, 24, 09
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 31, 15, 31
+ RGB 24, 24, 09
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 15, 21, 31
+ RGB 24, 24, 09
+ RGB 00, 00, 00
+
+ RGB 31, 31, 11
+ RGB 31, 31, 06
+ RGB 24, 24, 09
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 16, 19, 29
+ RGB 25, 22, 00
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 21, 21, 21
+ RGB 13, 13, 13
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 30, 10, 06
+ RGB 31, 00, 00
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 12, 25, 01
+ RGB 05, 14, 00
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 12, 25, 01
+ RGB 30, 10, 06
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 31, 31, 06
+ RGB 20, 15, 03
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 31, 31, 06
+ RGB 15, 21, 31
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 31, 31, 06
+ RGB 20, 15, 03
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 31, 24, 21
+ RGB 31, 13, 31
+ RGB 00, 00, 00
+
+ RGB 31, 31, 31
+ RGB 31, 31, 31
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+ENDC
+
+IF DEF(SILVER)
+ RGB 31, 31, 31
+ RGB 25, 26, 14
+ RGB 20, 17, 31
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 30, 10, 6
+ RGB 20, 17, 31
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 15, 31, 0
+ RGB 20, 17, 31
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 31, 15, 31
+ RGB 20, 17, 31
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 15, 21, 31
+ RGB 20, 17, 31
+ RGB 0, 0, 0
+
+ RGB 31, 31, 11
+ RGB 31, 31, 6
+ RGB 20, 17, 31
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 16, 19, 29
+ RGB 25, 22, 0
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 21, 21, 21
+ RGB 13, 13, 13
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 30, 10, 6
+ RGB 31, 0, 0
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 12, 25, 1
+ RGB 5, 14, 0
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 12, 25, 1
+ RGB 30, 10, 6
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 31, 31, 6
+ RGB 20, 15, 3
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 31, 31, 6
+ RGB 15, 21, 31
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 31, 31, 6
+ RGB 20, 15, 3
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 31, 24, 21
+ RGB 31, 13, 31
+ RGB 0, 0, 0
+
+ RGB 31, 31, 31
+ RGB 31, 31, 31
+ RGB 0, 0, 0
+ RGB 0, 0, 0
+ENDC