mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
e6ea1889fb
The former is arguably misleading (as you don’t access the memory location in hl to retrieve the jump location), and is consequently deprecated in newer versions of rgbds. This fix silences these deprecation warnings.
1122 lines
18 KiB
NASM
1122 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 + 4 palettes
|
|
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
|
|
call GetEnemyFrontpicPalettePointer
|
|
push hl
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, [EnemyHPPal]
|
|
ld l, a
|
|
ld h, $0
|
|
add hl, hl
|
|
add hl, hl
|
|
ld bc, Palettes_a8be
|
|
add hl, bc
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, [PlayerHPPal]
|
|
ld l, a
|
|
ld h, $0
|
|
add hl, hl
|
|
add hl, hl
|
|
ld bc, Palettes_a8be
|
|
add hl, bc
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld hl, Palettes_a8ca
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld de, UnknOBPals
|
|
pop hl
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
pop hl
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
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, $2
|
|
call ByteFill
|
|
hlcoord 0, 4, AttrMap
|
|
lb bc, 8, 10
|
|
ld a, $0
|
|
call FillBoxCGB
|
|
hlcoord 10, 0, AttrMap
|
|
lb bc, 7, 10
|
|
ld a, $1
|
|
call FillBoxCGB
|
|
hlcoord 0, 0, AttrMap
|
|
lb bc, 4, 10
|
|
ld a, $2
|
|
call FillBoxCGB
|
|
hlcoord 10, 7, AttrMap
|
|
lb bc, 5, 10
|
|
ld a, $3
|
|
call FillBoxCGB
|
|
hlcoord 10, 11, AttrMap
|
|
lb bc, 1, 9
|
|
ld a, $4
|
|
call FillBoxCGB
|
|
hlcoord 0, 12, AttrMap
|
|
ld bc, 6 * SCREEN_WIDTH
|
|
ld a, $7
|
|
call ByteFill
|
|
ld hl, Palettes_979c
|
|
ld de, UnknOBPals + 2 palettes
|
|
ld bc, 6 palettes
|
|
ld a, $5
|
|
call FarCopyWRAM
|
|
call ApplyAttrMap
|
|
ret
|
|
; 8e85
|
|
|
|
|
|
InitPartyMenuBGPal7: ; 8e85
|
|
callba Function100dc0
|
|
Mobile_InitPartyMenuBGPal7: ; 8e8b
|
|
ld hl, Palette_b311
|
|
jr nc, .not_mobile
|
|
ld hl, Palette_b309
|
|
.not_mobile
|
|
ld de, UnknBGPals + 8 * 7
|
|
ld bc, 1 palettes
|
|
ld a, $5
|
|
call FarCopyWRAM
|
|
ret
|
|
; 8e9f
|
|
|
|
InitPartyMenuBGPal0: ; 8e9f
|
|
callba Function100dc0
|
|
ld hl, Palette_b311
|
|
jr nc, .not_mobile
|
|
ld hl, Palette_b309
|
|
.not_mobile
|
|
ld de, UnknBGPals
|
|
ld bc, 1 palettes
|
|
ld a, $5
|
|
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, $5
|
|
call FarCopyWRAM
|
|
call ApplyPals
|
|
ld a, $1
|
|
ld [hCGBPalUpdate], a
|
|
ret
|
|
; 8edb
|
|
|
|
_CGB_StatsScreenHPPals: ; 8edb
|
|
ld de, UnknBGPals
|
|
ld a, [wcda1]
|
|
ld l, a
|
|
ld h, $0
|
|
add hl, hl
|
|
add hl, hl
|
|
ld bc, Palettes_a8be
|
|
add hl, bc
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, [CurPartySpecies]
|
|
ld bc, TempMonDVs
|
|
call GetPlayerOrMonPalettePointer
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld hl, Palettes_a8ca
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld hl, Palette8f52
|
|
ld de, UnknBGPals + 8 * 3
|
|
ld bc, 3 palettes
|
|
ld a, $5
|
|
call FarCopyWRAM
|
|
call WipeAttrMap
|
|
|
|
hlcoord 0, 0, AttrMap
|
|
lb bc, 8, SCREEN_WIDTH
|
|
ld a, $1
|
|
call FillBoxCGB
|
|
|
|
hlcoord 10, 16, AttrMap
|
|
ld bc, 10
|
|
ld a, $2
|
|
call ByteFill
|
|
|
|
hlcoord 13, 5, AttrMap
|
|
lb bc, 2, 2
|
|
ld a, $3
|
|
call FillBoxCGB
|
|
|
|
hlcoord 15, 5, AttrMap
|
|
lb bc, 2, 2
|
|
ld a, $4
|
|
call FillBoxCGB
|
|
|
|
hlcoord 17, 5, AttrMap
|
|
lb bc, 2, 2
|
|
ld a, $5
|
|
call FillBoxCGB
|
|
|
|
call ApplyAttrMap
|
|
call ApplyPals
|
|
ld a, $1
|
|
ld [hCGBPalUpdate], a
|
|
ret
|
|
; 8f52
|
|
|
|
Palette8f52: ; 8f52
|
|
RGB 31, 31, 31
|
|
RGB 31, 19, 31
|
|
RGB 31, 15, 31
|
|
RGB 00, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 21, 31, 14
|
|
RGB 17, 31, 00
|
|
RGB 00, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 17, 31, 31
|
|
RGB 17, 31, 31
|
|
RGB 00, 00, 00
|
|
; 8f6a
|
|
|
|
StatsScreenPals: ; 8f6a
|
|
RGB 31, 19, 31
|
|
|
|
RGB 21, 31, 14
|
|
|
|
RGB 17, 31, 31
|
|
; 8f70
|
|
|
|
_CGB_Pokedex: ; 8f70
|
|
ld de, UnknBGPals
|
|
ld a, $1d
|
|
call GetPredefPal
|
|
call LoadHLPaletteIntoDE
|
|
ld a, [CurPartySpecies]
|
|
cp $ff
|
|
jr nz, .is_pokemon
|
|
ld hl, Palette8fba
|
|
call LoadHLPaletteIntoDE
|
|
jr .got_palette
|
|
|
|
.is_pokemon
|
|
call GetMonPalettePointer_
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
.got_palette
|
|
call WipeAttrMap
|
|
hlcoord 1, 1, AttrMap
|
|
lb bc, 7, 7
|
|
ld a, $1
|
|
call FillBoxCGB
|
|
call InitPartyMenuOBPals
|
|
ld hl, Palette8fc2
|
|
ld de, UnknOBPals + 7 palettes
|
|
ld bc, 1 palettes
|
|
ld a, $5
|
|
call FarCopyWRAM
|
|
call ApplyAttrMap
|
|
call ApplyPals
|
|
ld a, $1
|
|
ld [hCGBPalUpdate], a
|
|
ret
|
|
; 8fba
|
|
|
|
Palette8fba: ; 8fba
|
|
RGB 11, 23, 00
|
|
RGB 07, 17, 00
|
|
RGB 06, 16, 03
|
|
RGB 05, 12, 01
|
|
|
|
Palette8fc2: ; 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, Palette9036
|
|
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, Palette9036
|
|
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
|
|
|
|
Palette9036: ; 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, Palettes_b7a9
|
|
ld de, UnknBGPals
|
|
ld bc, $80
|
|
ld a, $5
|
|
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_912d
|
|
add hl, bc
|
|
add hl, bc
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
jp hl
|
|
; 912d
|
|
|
|
Jumptable_912d: ; 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, $5
|
|
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, $5
|
|
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, $5
|
|
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, Palettes_979c
|
|
ld de, UnknOBPals + 2 palettes
|
|
ld bc, 6 palettes
|
|
ld a, $5
|
|
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, $5
|
|
call FarCopyWRAM
|
|
ld hl, Palettes_b719
|
|
ld de, UnknOBPals
|
|
ld bc, 2 palettes
|
|
ld a, $5
|
|
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, $5
|
|
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
|
|
call GetTrainerPalettePointer
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, $1
|
|
call GetTrainerPalettePointer
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, $3
|
|
call GetTrainerPalettePointer
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, $2
|
|
call GetTrainerPalettePointer
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, $4
|
|
call GetTrainerPalettePointer
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, $7
|
|
call GetTrainerPalettePointer
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, $6
|
|
call GetTrainerPalettePointer
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, $5
|
|
call GetTrainerPalettePointer
|
|
call LoadPalette_White_Col1_Col2_Black
|
|
ld a, $24
|
|
call GetPredefPal
|
|
call LoadHLPaletteIntoDE
|
|
|
|
hlcoord 0, 0, AttrMap
|
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
|
ld a, [PlayerGender]
|
|
and a
|
|
ld a, $1
|
|
jr z, .got_gender
|
|
ld a, $0
|
|
.got_gender
|
|
call ByteFill
|
|
hlcoord 14, 1, AttrMap
|
|
lb bc, 7, 5
|
|
ld a, [PlayerGender]
|
|
and a
|
|
ld a, $0
|
|
jr z, .got_gender2
|
|
ld a, $1
|
|
.got_gender2
|
|
call FillBoxCGB
|
|
hlcoord 18, 1, AttrMap
|
|
ld [hl], $1
|
|
hlcoord 2, 11, AttrMap
|
|
lb bc, 2, 4
|
|
ld a, $1
|
|
call FillBoxCGB
|
|
hlcoord 6, 11, AttrMap
|
|
lb bc, 2, 4
|
|
ld a, $2
|
|
call FillBoxCGB
|
|
hlcoord 10, 11, AttrMap
|
|
lb bc, 2, 4
|
|
ld a, $3
|
|
call FillBoxCGB
|
|
hlcoord 14, 11, AttrMap
|
|
lb bc, 2, 4
|
|
ld a, $4
|
|
call FillBoxCGB
|
|
hlcoord 2, 14, AttrMap
|
|
lb bc, 2, 4
|
|
ld a, $5
|
|
call FillBoxCGB
|
|
hlcoord 6, 14, AttrMap
|
|
lb bc, 2, 4
|
|
ld a, $6
|
|
call FillBoxCGB
|
|
hlcoord 10, 14, AttrMap
|
|
lb bc, 2, 4
|
|
ld a, $7
|
|
call FillBoxCGB
|
|
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, Palettes_a8be
|
|
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, $5
|
|
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
|
|
RGB 31, 31, 31
|
|
RGB 15, 15, 31
|
|
RGB 00, 00, 31
|
|
RGB 00, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 15, 15, 31
|
|
RGB 00, 00, 31
|
|
RGB 00, 00, 00
|
|
|
|
RGB 31, 11, 31
|
|
RGB 15, 15, 31
|
|
RGB 00, 00, 31
|
|
RGB 00, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 15, 15, 31
|
|
RGB 00, 00, 31
|
|
RGB 31, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 15, 15, 31
|
|
RGB 31, 00, 00
|
|
RGB 00, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 07, 19, 07
|
|
RGB 07, 19, 07
|
|
RGB 00, 00, 00
|
|
; 9469
|
|
|
|
.KrisPackPals: ; 9469
|
|
RGB 31, 31, 31
|
|
RGB 31, 14, 31
|
|
RGB 31, 07, 31
|
|
RGB 00, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 31, 14, 31
|
|
RGB 31, 07, 31
|
|
RGB 00, 00, 00
|
|
|
|
RGB 15, 15, 31
|
|
RGB 31, 14, 31
|
|
RGB 31, 07, 31
|
|
RGB 00, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 31, 14, 31
|
|
RGB 31, 07, 31
|
|
RGB 31, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 31, 14, 31
|
|
RGB 31, 00, 00
|
|
RGB 00, 00, 00
|
|
|
|
RGB 31, 31, 31
|
|
RGB 07, 19, 07
|
|
RGB 07, 19, 07
|
|
RGB 00, 00, 00
|
|
; 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 + 1 palettes
|
|
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, Palettes_b681
|
|
ld de, UnknOBPals
|
|
ld bc, 1 palettes
|
|
ld a, $5
|
|
call FarCopyWRAM
|
|
ld de, UnknOBPals + 7 palettes
|
|
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, $5
|
|
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
|