pokecrystal-board/engine/cgb_layouts.asm

1072 lines
18 KiB
NASM
Raw Normal View History

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