pokecrystal-board/engine/cgb_layouts.asm
2017-12-25 12:41:31 -05:00

1072 lines
18 KiB
NASM

; Replaces the functionality of sgb.asm to work with CGB hardware.
CheckCGB: ; 8d55
ld a, [hCGB]
and a
ret
; 8d59
Predef_LoadSGBLayoutCGB: ; 8d59
ld a, b
cp SCGB_RAM
jr nz, .not_ram
ld a, [SGBPredef]
.not_ram
cp SCGB_PARTY_MENU_HP_PALS
jp z, CGB_ApplyPartyMenuHPPals
call ResetBGPals
ld l, a
ld h, 0
add hl, hl
ld de, .dw
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
ld de, .ReturnFromJumpTable
push de
jp hl
; 8d79
.ReturnFromJumpTable: ; 8d79
ret
; 8d7a
.dw ; 8d7a
dw _CGB_BattleGrayscale
dw _CGB_BattleColors
dw _CGB_PokegearPals
dw _CGB_StatsScreenHPPals
dw _CGB_Pokedex
dw _CGB_SlotMachine
dw _CGB06
dw _CGB07
dw _CGB_Diploma
dw _CGB_MapPals
dw _CGB_PartyMenu
dw _CGB_Evolution
dw _CGB0c
dw _CGB0d
dw _CGB_MoveList
dw _CGB0f
dw _CGB_PokedexSearchOption
dw _CGB11
dw _CGB_Pokepic
dw _CGB13
dw _CGB_PackPals
dw _CGB_TrainerCard
dw _CGB_PokedexUnownMode
dw _CGB_BillsPC
dw _CGB_UnownPuzzle
dw _CGB_GamefreakLogo ; called before copyright
dw _CGB_PlayerOrMonFrontpicPals
dw _CGB_TradeTube
dw _CGB_TrainerOrMonFrontpicPals
dw _CGB_MysteryGift
dw _CGB1e
; 8db8
_CGB_BattleGrayscale: ; 8db8
ld hl, PalPacket_9c66 + 1
ld de, UnknBGPals
ld c, 4
call CopyPalettes
ld hl, PalPacket_9c66 + 1
ld de, UnknBGPals palette PAL_BATTLE_BG_EXP
ld c, 4
call CopyPalettes
ld hl, PalPacket_9c66 + 1
ld de, UnknOBPals
ld c, 2
call CopyPalettes
jr _CGB_FinishBattleScreenLayout
_CGB_BattleColors: ; 8ddb
ld de, UnknBGPals
call GetBattlemonBackpicPalettePointer
push hl
call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_PLAYER
call GetEnemyFrontpicPalettePointer
push hl
call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_ENEMY
ld a, [EnemyHPPal]
ld l, a
ld h, $0
add hl, hl
add hl, hl
ld bc, HPBarPals
add hl, bc
call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_ENEMY_HP
ld a, [PlayerHPPal]
ld l, a
ld h, $0
add hl, hl
add hl, hl
ld bc, HPBarPals
add hl, bc
call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_PLAYER_HP
ld hl, ExpBarPalette
call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_BG_EXP
ld de, UnknOBPals
pop hl
call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_OB_ENEMY
pop hl
call LoadPalette_White_Col1_Col2_Black ; PAL_BATTLE_OB_PLAYER
ld a, SCGB_BATTLE_COLORS
ld [SGBPredef], a
call ApplyPals
_CGB_FinishBattleScreenLayout: ; 8e23
call InitPartyMenuBGPal7
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, PAL_BATTLE_BG_ENEMY_HP
call ByteFill
hlcoord 0, 4, AttrMap
lb bc, 8, 10
ld a, PAL_BATTLE_BG_PLAYER
call FillBoxCGB
hlcoord 10, 0, AttrMap
lb bc, 7, 10
ld a, PAL_BATTLE_BG_ENEMY
call FillBoxCGB
hlcoord 0, 0, AttrMap
lb bc, 4, 10
ld a, PAL_BATTLE_BG_ENEMY_HP
call FillBoxCGB
hlcoord 10, 7, AttrMap
lb bc, 5, 10
ld a, PAL_BATTLE_BG_PLAYER_HP
call FillBoxCGB
hlcoord 10, 11, AttrMap
lb bc, 1, 9
ld a, PAL_BATTLE_BG_EXP
call FillBoxCGB
hlcoord 0, 12, AttrMap
ld bc, 6 * SCREEN_WIDTH
ld a, PAL_BATTLE_BG_TEXT
call ByteFill
ld hl, BattleObjectPals
ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY
ld bc, 6 palettes
ld a, BANK(UnknOBPals)
call FarCopyWRAM
call ApplyAttrMap
ret
; 8e85
InitPartyMenuBGPal7: ; 8e85
farcall Function100dc0
Mobile_InitPartyMenuBGPal7: ; 8e8b
ld hl, Palette_b311
jr nc, .not_mobile
ld hl, Palette_b309
.not_mobile
ld de, UnknBGPals palette 7
ld bc, 1 palettes
ld a, BANK(UnknBGPals)
call FarCopyWRAM
ret
; 8e9f
InitPartyMenuBGPal0: ; 8e9f
farcall Function100dc0
ld hl, Palette_b311
jr nc, .not_mobile
ld hl, Palette_b309
.not_mobile
ld de, UnknBGPals palette 0
ld bc, 1 palettes
ld a, BANK(UnknBGPals)
call FarCopyWRAM
ret
; 8eb9
_CGB_PokegearPals: ; 8eb9
ld a, [PlayerGender]
bit 0, a
jr z, .male
ld hl, FemalePokegearPals
jr .got_pals
.male
ld hl, MalePokegearPals
.got_pals
ld de, UnknBGPals
ld bc, 6 palettes
ld a, BANK(UnknBGPals)
call FarCopyWRAM
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 8edb
_CGB_StatsScreenHPPals: ; 8edb
ld de, UnknBGPals
ld a, [wCurHPPal]
ld l, a
ld h, $0
add hl, hl
add hl, hl
ld bc, HPBarPals
add hl, bc
call LoadPalette_White_Col1_Col2_Black ; hp palette
ld a, [CurPartySpecies]
ld bc, TempMonDVs
call GetPlayerOrMonPalettePointer
call LoadPalette_White_Col1_Col2_Black ; mon palette
ld hl, ExpBarPalette
call LoadPalette_White_Col1_Col2_Black ; exp palette
ld hl, StatsScreenPagePals
ld de, UnknBGPals palette 3
ld bc, 3 palettes ; pink, green, and blue page palettes
ld a, BANK(UnknBGPals)
call FarCopyWRAM
call WipeAttrMap
hlcoord 0, 0, AttrMap
lb bc, 8, SCREEN_WIDTH
ld a, $1 ; mon palette
call FillBoxCGB
hlcoord 10, 16, AttrMap
ld bc, 10
ld a, $2 ; exp palette
call ByteFill
hlcoord 13, 5, AttrMap
lb bc, 2, 2
ld a, $3 ; pink page palette
call FillBoxCGB
hlcoord 15, 5, AttrMap
lb bc, 2, 2
ld a, $4 ; green page palette
call FillBoxCGB
hlcoord 17, 5, AttrMap
lb bc, 2, 2
ld a, $5 ; blue page palette
call FillBoxCGB
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 8f52
StatsScreenPagePals: ; 8f52
; pink
RGB 31, 31, 31
RGB 31, 19, 31
RGB 31, 15, 31
RGB 00, 00, 00
; green
RGB 31, 31, 31
RGB 21, 31, 14
RGB 17, 31, 00
RGB 00, 00, 00
; blue
RGB 31, 31, 31
RGB 17, 31, 31
RGB 17, 31, 31
RGB 00, 00, 00
; 8f6a
StatsScreenPals: ; 8f6a
; pink
RGB 31, 19, 31
; green
RGB 21, 31, 14
; blue
RGB 17, 31, 31
; 8f70
_CGB_Pokedex: ; 8f70
ld de, UnknBGPals
ld a, $1d
call GetPredefPal
call LoadHLPaletteIntoDE ; dex interface palette
ld a, [CurPartySpecies]
cp $ff
jr nz, .is_pokemon
ld hl, .PokedexQuestionMarkPalette
call LoadHLPaletteIntoDE ; green question mark palette
jr .got_palette
.is_pokemon
call GetMonPalettePointer_
call LoadPalette_White_Col1_Col2_Black ; mon palette
.got_palette
call WipeAttrMap
hlcoord 1, 1, AttrMap
lb bc, 7, 7
ld a, $1 ; green question mark palette
call FillBoxCGB
call InitPartyMenuOBPals
ld hl, .PokedexCursorPalette
ld de, UnknOBPals palette 7 ; green cursor palette
ld bc, 1 palettes
ld a, BANK(UnknOBPals)
call FarCopyWRAM
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 8fba
.PokedexQuestionMarkPalette: ; 8fba
RGB 11, 23, 00
RGB 07, 17, 00
RGB 06, 16, 03
RGB 05, 12, 01
.PokedexCursorPalette: ; 8fc2
RGB 00, 00, 00
RGB 11, 23, 00
RGB 07, 17, 00
RGB 00, 00, 00
; 8fca
_CGB_BillsPC: ; 8fca
ld de, UnknBGPals
ld a, $1d
call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [CurPartySpecies]
cp $ff
jr nz, .GetMonPalette
ld hl, .BillsPCOrangePalette
call LoadHLPaletteIntoDE
jr .Resume
.GetMonPalette:
ld bc, TempMonDVs
call GetPlayerOrMonPalettePointer
call LoadPalette_White_Col1_Col2_Black
.Resume:
call WipeAttrMap
hlcoord 1, 4, AttrMap
lb bc, 7, 7
ld a, $1
call FillBoxCGB
call InitPartyMenuOBPals
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 9009
.Function9009: ; 9009
ld hl, .BillsPCOrangePalette
call LoadHLPaletteIntoDE
jr .asm_901a
.unused
ld bc, TempMonDVs
call GetPlayerOrMonPalettePointer
call LoadPalette_White_Col1_Col2_Black
.asm_901a
call WipeAttrMap
hlcoord 1, 1, AttrMap
lb bc, 7, 7
ld a, $1
call FillBoxCGB
call InitPartyMenuOBPals
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 9036
.BillsPCOrangePalette: ; 9036
RGB 31, 15, 00
RGB 23, 12, 00
RGB 15, 07, 00
RGB 00, 00, 00
; 903e
_CGB_PokedexUnownMode: ; 903e
ld de, UnknBGPals
ld a, $1d
call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [CurPartySpecies]
call GetMonPalettePointer_
call LoadPalette_White_Col1_Col2_Black
call WipeAttrMap
hlcoord 7, 5, AttrMap
lb bc, 7, 7
ld a, $1
call FillBoxCGB
call InitPartyMenuOBPals
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 906e
_CGB_SlotMachine: ; 906e
ld hl, SlotMachinePals
ld de, UnknBGPals
ld bc, 16 palettes
ld a, BANK(UnknBGPals)
call FarCopyWRAM
call WipeAttrMap
hlcoord 0, 2, AttrMap
lb bc, 10, 3
ld a, $2
call FillBoxCGB
hlcoord 17, 2, AttrMap
lb bc, 10, 3
ld a, $2
call FillBoxCGB
hlcoord 0, 4, AttrMap
lb bc, 6, 3
ld a, $3
call FillBoxCGB
hlcoord 17, 4, AttrMap
lb bc, 6, 3
ld a, $3
call FillBoxCGB
hlcoord 0, 6, AttrMap
lb bc, 2, 3
ld a, $4
call FillBoxCGB
hlcoord 17, 6, AttrMap
lb bc, 2, 3
ld a, $4
call FillBoxCGB
hlcoord 4, 2, AttrMap
lb bc, 2, 12
ld a, $1
call FillBoxCGB
hlcoord 3, 2, AttrMap
lb bc, 10, 1
ld a, $1
call FillBoxCGB
hlcoord 16, 2, AttrMap
lb bc, 10, 1
ld a, $1
call FillBoxCGB
hlcoord 0, 12, AttrMap
ld bc, $78
ld a, $7
call ByteFill
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 90f8
_CGB06: ; 90f8
ld hl, PalPacket_9ca6 + 1
call CopyFourPalettes
call WipeAttrMap
ld de, UnknOBPals
ld a, $3c
call GetPredefPal
call LoadHLPaletteIntoDE
hlcoord 0, 6, AttrMap
lb bc, 12, SCREEN_WIDTH
ld a, $1
call FillBoxCGB
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 9122
_CGB07: ; 9122
ld b, 0
ld hl, .Jumptable
add hl, bc
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
jp hl
; 912d
.Jumptable: ; 912d
dw .Function9133
dw .Function9166
dw .Function9180
; 9133
.Function9133: ; 9133
ld hl, .Palette_914e
ld de, UnknBGPals
call LoadHLPaletteIntoDE
ld hl, .Palette_9156
ld de, UnknOBPals
ld bc, 2 palettes
ld a, BANK(UnknOBPals)
call FarCopyWRAM
call WipeAttrMap
ret
; 914e
.Palette_914e: ; 914e
RGB 19, 31, 19
RGB 18, 23, 31
RGB 11, 21, 28
RGB 04, 16, 24
.Palette_9156: ; 9156
RGB 29, 29, 29
RGB 20, 19, 20
RGB 19, 06, 04
RGB 03, 04, 06
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 00, 00
RGB 03, 04, 06
; 9166
.Function9166: ; 9166
ld de, UnknBGPals
ld a, $38
call GetPredefPal
call LoadHLPaletteIntoDE
ld de, UnknOBPals
ld a, $39
call GetPredefPal
call LoadHLPaletteIntoDE
call WipeAttrMap
ret
; 9180
.Function9180: ; 9180
ld hl, PalPacket_9c36 + 1
call CopyFourPalettes
ld de, UnknOBPals
ld a, $3a
call GetPredefPal
call LoadHLPaletteIntoDE
call WipeAttrMap
ret
; 9195
_CGB11: ; 9195
ld hl, Palettes_b789
ld de, UnknBGPals
ld bc, 5 palettes
ld a, BANK(UnknBGPals)
call FarCopyWRAM
call ApplyPals
call WipeAttrMap
call ApplyAttrMap
ret
; 91ad
_CGB_Diploma: ; 91ad
ld hl, DiplomaPalettes
ld de, UnknBGPals
ld bc, 16 palettes
ld a, BANK(UnknBGPals)
call FarCopyWRAM
ld hl, PalPacket_9cb6 + 1
call CopyFourPalettes
call WipeAttrMap
call ApplyAttrMap
ret
; 91c8
_CGB_MapPals: ; 91c8
call LoadMapPals
ld a, SCGB_MAPPALS
ld [SGBPredef], a
ret
; 91d1
_CGB_PartyMenu: ; 91d1
ld hl, PalPacket_9c56 + 1
call CopyFourPalettes
call InitPartyMenuBGPal0
call InitPartyMenuBGPal7
call InitPartyMenuOBPals
call ApplyAttrMap
ret
; 91e4
_CGB_Evolution: ; 91e4
ld de, UnknBGPals
ld a, c
and a
jr z, .pokemon
ld a, $1a
call GetPredefPal
call LoadHLPaletteIntoDE
jr .got_palette
.pokemon
ld hl, PartyMon1DVs
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld c, l
ld b, h
ld a, [PlayerHPPal]
call GetPlayerOrMonPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld hl, BattleObjectPals
ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY
ld bc, 6 palettes
ld a, BANK(UnknOBPals)
call FarCopyWRAM
.got_palette
call WipeAttrMap
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 9228
_CGB0c: ; 9228
ld hl, Palettes_b6f1
ld de, UnknBGPals
ld bc, 5 palettes
ld a, BANK(UnknBGPals)
call FarCopyWRAM
ld hl, Palettes_b719
ld de, UnknOBPals
ld bc, 2 palettes
ld a, BANK(UnknOBPals)
call FarCopyWRAM
ld a, SCGB_DIPLOMA
ld [SGBPredef], a
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 9251
_CGB0d: ; 9251
ld hl, PalPacket_9cb6 + 1
call CopyFourPalettes
call WipeAttrMap
call ApplyAttrMap
ret
; 925e
_CGB_UnownPuzzle: ; 925e
ld hl, PalPacket_9bc6 + 1
call CopyFourPalettes
ld de, UnknOBPals
ld a, $4c
call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [rSVBK]
push af
ld a, BANK(UnknOBPals)
ld [rSVBK], a
ld hl, UnknOBPals
ld a, $1f
ld [hli], a
ld a, $0
ld [hl], a
pop af
ld [rSVBK], a
call WipeAttrMap
call ApplyAttrMap
ret
; 9289
_CGB_TrainerCard: ; 9289
ld de, UnknBGPals
xor a ; CHRIS
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld a, FALKNER ; KRIS
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld a, BUGSY
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld a, WHITNEY
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld a, MORTY
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld a, CHUCK
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld a, JASMINE
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld a, PRYCE
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
ld a, $24
call GetPredefPal
call LoadHLPaletteIntoDE
; fill screen with opposite-gender palette for the card border
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, [PlayerGender]
and a
ld a, $1 ; kris
jr z, .got_gender
ld a, $0 ; chris
.got_gender
call ByteFill
; fill trainer sprite area with same-gender palette
hlcoord 14, 1, AttrMap
lb bc, 7, 5
ld a, [PlayerGender]
and a
ld a, $0 ; chris
jr z, .got_gender2
ld a, $1 ; kris
.got_gender2
call FillBoxCGB
; top-right corner still uses the border's palette
hlcoord 18, 1, AttrMap
ld [hl], $1
hlcoord 2, 11, AttrMap
lb bc, 2, 4
ld a, $1 ; falkner
call FillBoxCGB
hlcoord 6, 11, AttrMap
lb bc, 2, 4
ld a, $2 ; bugsy
call FillBoxCGB
hlcoord 10, 11, AttrMap
lb bc, 2, 4
ld a, $3 ; whitney
call FillBoxCGB
hlcoord 14, 11, AttrMap
lb bc, 2, 4
ld a, $4 ; morty
call FillBoxCGB
hlcoord 2, 14, AttrMap
lb bc, 2, 4
ld a, $5 ; chuck
call FillBoxCGB
hlcoord 6, 14, AttrMap
lb bc, 2, 4
ld a, $6 ; jasmine
call FillBoxCGB
hlcoord 10, 14, AttrMap
lb bc, 2, 4
ld a, $7 ; pryce
call FillBoxCGB
; clair uses kris's palette
ld a, [PlayerGender]
and a
push af
jr z, .got_gender3
hlcoord 14, 14, AttrMap
lb bc, 2, 4
ld a, $1
call FillBoxCGB
.got_gender3
pop af
ld c, $0
jr nz, .got_gender4
inc c
.got_gender4
ld a, c
hlcoord 18, 1, AttrMap
ld [hl], a
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 9373
_CGB_MoveList: ; 9373
ld de, UnknBGPals
ld a, $10
call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [PlayerHPPal]
ld l, a
ld h, 0
add hl, hl
add hl, hl
ld bc, HPBarPals
add hl, bc
call LoadPalette_White_Col1_Col2_Black
call WipeAttrMap
hlcoord 11, 1, AttrMap
lb bc, 2, 9
ld a, $1
call FillBoxCGB
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 93a6
_CGB0f: ; 93a6
ld hl, PalPacket_9c46 + 1
call CopyFourPalettes
call WipeAttrMap
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 93ba
_CGB_PokedexSearchOption: ; 93ba
ld de, UnknBGPals
ld a, $1d
call GetPredefPal
call LoadHLPaletteIntoDE
call WipeAttrMap
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 93d3
_CGB_PackPals: ; 93d3
; pack pals
ld a, [BattleType]
cp BATTLETYPE_TUTORIAL
jr z, .tutorial_male
ld a, [PlayerGender]
bit 0, a
jr z, .tutorial_male
ld hl, .KrisPackPals
jr .got_gender
.tutorial_male
ld hl, .ChrisPackPals
.got_gender
ld de, UnknBGPals
ld bc, 8 palettes ; 6 palettes?
ld a, BANK(UnknBGPals)
call FarCopyWRAM
call WipeAttrMap
hlcoord 0, 0, AttrMap
lb bc, 1, 10
ld a, $1
call FillBoxCGB
hlcoord 10, 0, AttrMap
lb bc, 1, 10
ld a, $2
call FillBoxCGB
hlcoord 7, 2, AttrMap
lb bc, 9, 1
ld a, $3
call FillBoxCGB
hlcoord 0, 7, AttrMap
lb bc, 3, 5
ld a, $4
call FillBoxCGB
hlcoord 0, 3, AttrMap
lb bc, 3, 5
ld a, $5
call FillBoxCGB
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 9439
.ChrisPackPals: ; 9439
INCLUDE "data/palettes/pack.pal"
; 9469
.KrisPackPals: ; 9469
INCLUDE "data/palettes/pack_f.pal"
; 9499
_CGB_Pokepic: ; 9499
call _CGB_MapPals
ld de, SCREEN_WIDTH
hlcoord 0, 0, AttrMap
ld a, [wMenuBorderTopCoord]
.loop
and a
jr z, .found_top
dec a
add hl, de
jr .loop
.found_top
ld a, [wMenuBorderLeftCoord]
ld e, a
ld d, $0
add hl, de
ld a, [wMenuBorderTopCoord]
ld b, a
ld a, [wMenuBorderBottomCoord]
inc a
sub b
ld b, a
ld a, [wMenuBorderLeftCoord]
ld c, a
ld a, [wMenuBorderRightCoord]
sub c
inc a
ld c, a
ld a, $0
call FillBoxCGB
call ApplyAttrMap
ret
; 94d0
_CGB13: ; 94d0
ld hl, PalPacket_9ba6 + 1
call CopyFourPalettes
call WipeAttrMap
hlcoord 0, 4, AttrMap
lb bc, 10, SCREEN_WIDTH
ld a, $2
call FillBoxCGB
hlcoord 0, 6, AttrMap
lb bc, 6, SCREEN_WIDTH
ld a, $1
call FillBoxCGB
call ApplyAttrMap
call ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 94fa
_CGB_GamefreakLogo: ; 94fa
ld de, UnknBGPals
ld a, $4e
call GetPredefPal
call LoadHLPaletteIntoDE
ld hl, .Palette
ld de, UnknOBPals
call LoadHLPaletteIntoDE
ld hl, .Palette
ld de, UnknOBPals palette 1
call LoadHLPaletteIntoDE
call WipeAttrMap
call ApplyAttrMap
call ApplyPals
ret
; 9521
.Palette: ; 9521
RGB 31, 31, 31
RGB 13, 11, 00
RGB 23, 12, 28
RGB 00, 00, 00
; 9529
_CGB_PlayerOrMonFrontpicPals: ; 9529
ld de, UnknBGPals
ld a, [CurPartySpecies]
ld bc, TempMonDVs
call GetPlayerOrMonPalettePointer
call LoadPalette_White_Col1_Col2_Black
call WipeAttrMap
call ApplyAttrMap
call ApplyPals
ret
; 9542
_CGB1e: ; 9542
ld de, UnknBGPals
ld a, [CurPartySpecies]
call GetMonPalettePointer_
call LoadPalette_White_Col1_Col2_Black
call WipeAttrMap
call ApplyAttrMap
ret
; 9555
_CGB_TradeTube: ; 9555
ld hl, PalPacket_9cc6 + 1
call CopyFourPalettes
ld hl, PartyMenuOBPals
ld de, UnknOBPals
ld bc, 1 palettes
ld a, BANK(UnknOBPals)
call FarCopyWRAM
ld de, UnknOBPals palette 7
ld a, $1c
call GetPredefPal
call LoadHLPaletteIntoDE
call WipeAttrMap
ret
; 9578
_CGB_TrainerOrMonFrontpicPals: ; 9578
ld de, UnknBGPals
ld a, [CurPartySpecies]
ld bc, TempMonDVs
call GetFrontpicPalettePointer
call LoadPalette_White_Col1_Col2_Black
call WipeAttrMap
call ApplyAttrMap
call ApplyPals
ret
; 9591
_CGB_MysteryGift: ; 9591
ld hl, .Palettes
ld de, UnknBGPals
ld bc, 2 palettes
ld a, BANK(UnknBGPals)
call FarCopyWRAM
call ApplyPals
call WipeAttrMap
hlcoord 3, 7, AttrMap
lb bc, 8, 14
ld a, $1
call FillBoxCGB
hlcoord 1, 5, AttrMap
lb bc, 1, 18
ld a, $1
call FillBoxCGB
hlcoord 1, 16, AttrMap
lb bc, 1, 18
ld a, $1
call FillBoxCGB
hlcoord 0, 0, AttrMap
lb bc, 17, 2
ld a, $1
call FillBoxCGB
hlcoord 18, 5, AttrMap
lb bc, 12, 1
ld a, $1
call FillBoxCGB
call ApplyAttrMap
ret
; 95e0
.Palettes: ; 95e0
RGB 31, 31, 31
RGB 16, 31, 14
RGB 05, 14, 21
RGB 05, 13, 10
RGB 31, 31, 31
RGB 11, 21, 25
RGB 05, 14, 21
RGB 00, 03, 19
; 95f0