Move predef/ files into engine/

Get rid of single-file engine/ subdirectories
Move tilesets/ palettes unrelated to individual tilesets into data/palettes/ (more from engine/colors.asm can be moved here too)
This commit is contained in:
Remy Oukaour
2017-12-15 12:31:18 -05:00
parent 2b6dd505c1
commit 94722aa8f0
19 changed files with 18 additions and 16 deletions

1127
engine/cgb_layouts.asm Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,4 @@
PALPACKET_LENGTH EQU $10
INCLUDE "predef/sgb.asm"
INCLUDE "engine/sgb_layouts.asm"
SHINY_ATK_BIT EQU 5
SHINY_DEF_VAL EQU 10
@@ -500,7 +499,7 @@ LoadMailPalettes:
RGB 00, 21, 00
RGB 00, 00, 00
INCLUDE "predef/cgb.asm"
INCLUDE "engine/cgb_layouts.asm"
Function95f0:
; XXX
@@ -2027,13 +2026,13 @@ Palette_b311: ; b311 not mobile
RGB 00, 00, 00
TilesetBGPalette:
INCLUDE "tilesets/bg.pal"
INCLUDE "data/palettes/bg.pal"
MapObjectPals::
INCLUDE "tilesets/ob.pal"
INCLUDE "data/palettes/ob.pal"
RoofPals:
INCLUDE "tilesets/roof.pal"
INCLUDE "data/palettes/roof.pal"
DiplomaPalettes:
RGB 27, 31, 27

614
engine/crystal_colors.asm Executable file
View File

@@ -0,0 +1,614 @@
GetMysteryGift_MobileAdapterLayout: ; 4930f (mobile)
ld a, b
cp SCGB_RAM
jr nz, .not_ram
ld a, [SGBPredef]
.not_ram
push af
callba ResetBGPals
pop af
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, .done
push de
jp hl
.done
ret
; 49330 (12:5330)
.dw ; 49330
dw MG_Mobile_Layout00
dw MG_Mobile_Layout01
dw MG_Mobile_Layout02
; 49336
MG_Mobile_Layout_FillBox: ; 49336
.row
push bc
push hl
.col
ld [hli], a
dec c
jr nz, .col
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
jr nz, .row
ret
; 49346
MG_Mobile_Layout_WipeAttrMap: ; 49346 (12:5346)
hlcoord 0, 0, AttrMap
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
xor a
call ByteFill
ret
MG_Mobile_Layout_LoadPals: ; 49351 (12:5351)
ld de, UnknBGPals
ld hl, Palette_493e1
ld bc, 5 palettes
ld a, $5 ; BANK(UnknBGPals)
call FarCopyWRAM
ld de, UnknBGPals + 7 palettes
ld hl, Palette_TextBG7
ld bc, 1 palettes
ld a, $5 ; BANK(UnknBGPals)
call FarCopyWRAM
ret
MG_Mobile_Layout00: ; 4936e (12:536e)
call MG_Mobile_Layout_LoadPals
call MG_Mobile_Layout_WipeAttrMap
call MG_Mobile_Layout_CreatePalBoxes
callba ApplyAttrMap
callba ApplyPals
ret
MG_Mobile_Layout_CreatePalBoxes: ; 49384 (12:5384)
hlcoord 0, 0, AttrMap
lb bc, 4, 1
ld a, $1
call MG_Mobile_Layout_FillBox
lb bc, 2, 1
ld a, $2
call MG_Mobile_Layout_FillBox
lb bc, 6, 1
ld a, $3
call MG_Mobile_Layout_FillBox
hlcoord 1, 0, AttrMap
ld a, $1
lb bc, 3, 18
call MG_Mobile_Layout_FillBox
lb bc, 2, 18
ld a, $2
call MG_Mobile_Layout_FillBox
lb bc, 12, 18
ld a, $3
call MG_Mobile_Layout_FillBox
hlcoord 19, 0, AttrMap
lb bc, 4, 1
ld a, $1
call MG_Mobile_Layout_FillBox
lb bc, 2, 1
ld a, $2
call MG_Mobile_Layout_FillBox
lb bc, 6, 1
ld a, $3
call MG_Mobile_Layout_FillBox
hlcoord 0, 12, AttrMap
ld bc, 6 * SCREEN_WIDTH
ld a, $7
call ByteFill
ret
; 493e1 (12:53e1)
Palette_493e1: ; 493e1
RGB 03, 07, 09
RGB 26, 31, 00
RGB 20, 16, 03
RGB 31, 31, 31
RGB 13, 24, 29
RGB 11, 16, 30
RGB 07, 11, 22
RGB 05, 06, 18
RGB 31, 31, 31
RGB 20, 26, 31
RGB 13, 24, 29
RGB 11, 16, 30
RGB 31, 31, 31
RGB 20, 26, 31
RGB 00, 00, 00
RGB 00, 00, 00
RGB 31, 31, 31
RGB 20, 16, 08
RGB 31, 00, 00
RGB 00, 00, 00
; 49409
LoadOW_BGPal7:: ; 49409
ld hl, Palette_TextBG7
ld de, UnknBGPals + 8 * 7
ld bc, 8
ld a, $5
call FarCopyWRAM
ret
; 49418
Palette_TextBG7: ; 49418
RGB 31, 31, 31
RGB 08, 19, 28
RGB 05, 05, 16
RGB 00, 00, 00
; 49420
Function49420:: ; 49420 (12:5420)
ld hl, MansionPalette4
ld de, UnknBGPals + $30
ld bc, $8
ld a, $5 ; BANK(UnknBGPals)
call FarCopyWRAM
ret
; 4942f (12:542f)
MG_Mobile_Layout01: ; 4942f
call MG_Mobile_Layout_LoadPals
ld de, UnknBGPals + $38
ld hl, Palette_49478
ld bc, $8
ld a, $5 ; BANK(UnknBGPals)
call FarCopyWRAM
call MG_Mobile_Layout_WipeAttrMap
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
xor a
call ByteFill
hlcoord 0, 14, AttrMap
ld bc, 4 * SCREEN_WIDTH
ld a, $7
call ByteFill
ld a, [wd002]
bit 6, a
jr z, .asm_49464
call Function49480
jr .asm_49467
.asm_49464
call Function49496
.asm_49467
callba ApplyAttrMap
callba ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ret
; 49478
Palette_49478: ; 49478
RGB 31, 31, 31
RGB 26, 31, 00
RGB 20, 16, 03
RGB 00, 00, 00
; 49480
Function49480: ; 49480
hlcoord 0, 0, AttrMap
lb bc, 4, SCREEN_WIDTH
ld a, $7
call MG_Mobile_Layout_FillBox
hlcoord 0, 2, AttrMap
ld a, $4
ld [hl], a
hlcoord 19, 2, AttrMap
ld [hl], a
ret
; 49496
Function49496: ; 49496
hlcoord 0, 0, AttrMap
lb bc, 2, SCREEN_WIDTH
ld a, $7
call MG_Mobile_Layout_FillBox
hlcoord 0, 1, AttrMap
ld a, $4
ld [hl], a
hlcoord 19, 1, AttrMap
ld [hl], a
ret
; 494ac
LoadSpecialMapPalette: ; 494ac
ld a, [wTileset]
cp TILESET_POKECOM_CENTER
jr z, .pokecom_2f
cp TILESET_BATTLE_TOWER
jr z, .battle_tower
cp TILESET_ICE_PATH
jr z, .ice_path
cp TILESET_HOUSE_1
jr z, .house
cp TILESET_RADIO_TOWER
jr z, .radio_tower
cp TILESET_CELADON_MANSION
jr z, .mansion_mobile
jr .do_nothing
.pokecom_2f
call LoadPokeComPalette
scf
ret
.battle_tower
call LoadBattleTowerPalette
scf
ret
.ice_path
ld a, [wPermission] ; permission
and 7
cp 3 ; Hall of Fame
jr z, .do_nothing
call LoadIcePathPalette
scf
ret
.house
call LoadHousePalette
scf
ret
.radio_tower
call LoadRadioTowerPalette
scf
ret
.mansion_mobile
call LoadMansionPalette
scf
ret
.do_nothing
and a
ret
; 494f2
LoadPokeComPalette: ; 494f2
ld a, $5
ld de, UnknBGPals
ld hl, PokeComPalette
ld bc, 8 palettes
call FarCopyWRAM
ret
; 49501
PokeComPalette: ; 49501
INCLUDE "tilesets/pokecom_center.pal"
; 49541
LoadBattleTowerPalette: ; 49541
ld a, $5
ld de, UnknBGPals
ld hl, BattleTowerPalette
ld bc, 8 palettes
call FarCopyWRAM
ret
; 49550
BattleTowerPalette: ; 49550
INCLUDE "tilesets/battle_tower.pal"
; 49590
LoadIcePathPalette: ; 49590
ld a, $5
ld de, UnknBGPals
ld hl, IcePathPalette
ld bc, 8 palettes
call FarCopyWRAM
ret
; 4959f
IcePathPalette: ; 4959f
INCLUDE "tilesets/ice_path.pal"
; 495df
LoadHousePalette: ; 495df
ld a, $5
ld de, UnknBGPals
ld hl, HousePalette
ld bc, 8 palettes
call FarCopyWRAM
ret
; 495ee
HousePalette: ; 495ee
INCLUDE "tilesets/house_1.pal"
; 4962e
LoadRadioTowerPalette: ; 4962e
ld a, $5
ld de, UnknBGPals
ld hl, RadioTowerPalette
ld bc, 8 palettes
call FarCopyWRAM
ret
; 4963d
RadioTowerPalette: ; 4963d
INCLUDE "tilesets/radio_tower.pal"
; 4967d
MansionPalette1: ; 4967d
RGB 30, 28, 26
RGB 19, 19, 19
RGB 13, 13, 13
RGB 07, 07, 07
RGB 30, 28, 26
RGB 31, 19, 24
RGB 30, 10, 06
RGB 07, 07, 07
RGB 18, 24, 09
RGB 15, 20, 01
RGB 09, 13, 00
RGB 07, 07, 07
RGB 30, 28, 26
RGB 15, 16, 31
RGB 09, 09, 31
RGB 07, 07, 07
RGB 30, 28, 26
RGB 31, 31, 07
RGB 31, 16, 01
RGB 07, 07, 07
RGB 26, 24, 17
RGB 21, 17, 07
RGB 16, 13, 03
RGB 07, 07, 07
MansionPalette3: ; 496ad
RGB 30, 28, 26
RGB 17, 19, 31
RGB 14, 16, 31
RGB 07, 07, 07
RGB 31, 31, 16
RGB 31, 31, 16
RGB 14, 09, 00
RGB 00, 00, 00
; 496bd
MansionPalette4: ; 496bd
RGB 05, 05, 16
RGB 08, 19, 28
RGB 00, 00, 00
RGB 31, 31, 31
; 496c5
LoadMansionPalette: ; 496c5
ld a, $5
ld de, UnknBGPals
ld hl, MansionPalette1
ld bc, 8 palettes
call FarCopyWRAM
ld a, $5
ld de, UnknBGPals + 4 palettes
ld hl, MansionPalette2
ld bc, 1 palettes
call FarCopyWRAM
ld a, $5
ld de, UnknBGPals + 3 palettes
ld hl, MansionPalette3
ld bc, 1 palettes
call FarCopyWRAM
ld a, $5
ld de, UnknBGPals + 6 palettes
ld hl, MansionPalette4
ld bc, 1 palettes
call FarCopyWRAM
ret
; 496fe
MansionPalette2: ; 496fe
RGB 25, 24, 23
RGB 20, 19, 19
RGB 14, 16, 31
RGB 07, 07, 07
; 49706
MG_Mobile_Layout02: ; 49706
ld hl, Palette_49732
ld de, UnknBGPals
ld bc, 1 palettes
ld a, $5
call FarCopyWRAM
callba ApplyPals
call MG_Mobile_Layout_WipeAttrMap
callba ApplyAttrMap
ld hl, Palette_4973a
ld de, UnknOBPals
ld bc, 1 palettes
ld a, $5
call FarCopyWRAM
ret
; 49732
Palette_49732: ; 49732
RGB 31, 31, 31
RGB 23, 16, 07
RGB 23, 07, 07
RGB 03, 07, 20
; 4973a
Palette_4973a: ; 4973a
RGB 00, 00, 00
RGB 07, 05, 31
RGB 14, 18, 31
RGB 31, 31, 31
; 49742
Function49742: ; 49742
ld hl, Palette_49757
ld de, UnknBGPals
ld bc, $40
ld a, $5
call FarCopyWRAM
callba ApplyPals
ret
; 49757
Palette_49757: ; 49757
RGB 31, 31, 63
RGB 00, 00, 00
RGB 00, 00, 00
RGB 00, 00, 00
RGB 31, 31, 63
RGB 00, 00, 00
RGB 00, 00, 00
RGB 00, 00, 00
RGB 04, 02, 15
RGB 21, 00, 21
RGB 31, 00, 00
RGB 31, 31, 31
RGB 04, 02, 15
RGB 21, 00, 21
RGB 30, 16, 26
RGB 31, 31, 31
RGB 04, 02, 15
RGB 21, 00, 21
RGB 16, 16, 16
RGB 31, 31, 31
RGB 04, 02, 15
RGB 21, 00, 21
RGB 31, 12, 12
RGB 31, 31, 31
RGB 04, 02, 15
RGB 21, 00, 21
RGB 07, 08, 31
RGB 31, 31, 31
RGB 04, 02, 15
RGB 21, 00, 21
RGB 29, 28, 09
RGB 31, 31, 31
; 49797
_InitMG_Mobile_LinkTradePalMap: ; 49797
hlcoord 0, 0, AttrMap
lb bc, 16, 2
ld a, $4
call MG_Mobile_Layout_FillBox
ld a, $3
ldcoord_a 0, 1, AttrMap
ldcoord_a 0, 14, AttrMap
hlcoord 2, 0, AttrMap
lb bc, 8, 18
ld a, $5
call MG_Mobile_Layout_FillBox
hlcoord 2, 8, AttrMap
lb bc, 8, 18
ld a, $6
call MG_Mobile_Layout_FillBox
hlcoord 0, 16, AttrMap
lb bc, 2, SCREEN_WIDTH
ld a, $4
call MG_Mobile_Layout_FillBox
ld a, $3
lb bc, 6, 1
hlcoord 6, 1, AttrMap
call MG_Mobile_Layout_FillBox
ld a, $3
lb bc, 6, 1
hlcoord 17, 1, AttrMap
call MG_Mobile_Layout_FillBox
ld a, $3
lb bc, 6, 1
hlcoord 6, 9, AttrMap
call MG_Mobile_Layout_FillBox
ld a, $3
lb bc, 6, 1
hlcoord 17, 9, AttrMap
call MG_Mobile_Layout_FillBox
ld a, $2
hlcoord 2, 16, AttrMap
ld [hli], a
ld a, $7
ld [hli], a
ld [hli], a
ld [hli], a
ld a, $2
ld [hl], a
hlcoord 2, 17, AttrMap
ld a, $3
ld bc, 6
call ByteFill
ret
; 49811
LoadTradeRoomBGPals: ; 49811
ld hl, Palette_49826
ld de, UnknBGPals + $10
ld bc, $30
ld a, $5
call FarCopyWRAM
callba ApplyPals
ret
; 49826
Palette_49826: ; 49826
RGB 04, 02, 15
RGB 07, 09, 31
RGB 31, 00, 00
RGB 31, 31, 31
RGB 04, 02, 15
RGB 07, 09, 31
RGB 15, 23, 30
RGB 31, 31, 31
RGB 04, 02, 15
RGB 07, 09, 31
RGB 16, 16, 16
RGB 31, 31, 31
RGB 04, 02, 15
RGB 07, 09, 31
RGB 25, 07, 04
RGB 31, 31, 31
RGB 04, 02, 15
RGB 07, 09, 31
RGB 03, 22, 08
RGB 31, 31, 31
RGB 04, 02, 15
RGB 07, 09, 31
RGB 29, 28, 09
RGB 31, 31, 31
; 49856
InitMG_Mobile_LinkTradePalMap: ; 49856
call _InitMG_Mobile_LinkTradePalMap
ret
; 4985a

View File

@@ -2034,7 +2034,7 @@ Function28f09: ; 28f09
ret
; 28f24
INCLUDE "engine/trade/animation.asm"
INCLUDE "engine/trade_animation.asm"
Special_CheckTimeCapsuleCompatibility: ; 29bfb
; Checks to see if your Party is compatible with the generation 1 games. Returns the following in ScriptVar:

View File

@@ -1,4 +1,4 @@
INCLUDE "engine/printer/serial.asm"
INCLUDE "engine/printer_serial.asm"
SendScreenToPrinter: ; 843f0
.loop

636
engine/sgb_layouts.asm Normal file
View File

@@ -0,0 +1,636 @@
Predef_LoadSGBLayout: ; 864c
; LoadSGBLayout
call CheckCGB
jp nz, Predef_LoadSGBLayoutCGB
ld a, b
cp SCGB_RAM
jr nz, .not_ram
ld a, [SGBPredef]
.not_ram
cp SCGB_PARTY_MENU_HP_PALS
jp z, SGB_ApplyPartyMenuHPPals
ld l, a
ld h, 0
add hl, hl
ld de, .Jumptable
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
ld de, .Finish
push de
jp hl
; 866f
.Jumptable: ; 866f
dw .SGB_BattleGrayscale
dw .SGB_BattleColors
dw .SGB_PokegearPals
dw .SGB_StatsScreenHPPals
dw .SGB_Pokedex
dw .SGB_SlotMachine
dw .SGB06
dw .SGB07
dw .SGB_Diploma
dw .SGB_MapPals
dw .SGB_PartyMenu
dw .SGB_Evolution
dw .SGB0c
dw .SGB0d
dw .SGB_MoveList
dw .SGB0f
dw .SGB_PokedexSearchOption
dw .SGB11
dw .SGB12
dw .SGB13
dw .SGB_PackPals
dw .SGB_TrainerCard
dw .SGB_PokedexUnownMode
dw .SGB_BillsPC
dw .SGB_UnownPuzzle
dw .SGB19
dw .SGB_PlayerOrMonFrontpicPals
dw .SGB_TradeTube
dw .SGB_TrainerOrMonFrontpicPals
dw .SGB_MysteryGift
dw .SGB1e
; 86ad
.SGB_BattleGrayscale: ; 86ad
ld hl, PalPacket_9c66
ld de, BlkPacket_9aa6
ret
; 86b4
.SGB_BattleColors: ; 86b4
ld hl, BlkPacket_9aa6
call PushSGBPals_
ld hl, PalPacket_9ce6
ld de, wSGBPals
ld bc, $10
call CopyBytes
ld a, [PlayerHPPal]
ld l, a
ld h, 0
add hl, hl
add hl, hl
ld de, Palettes_a8be
add hl, de
ld a, [hli]
ld [wSGBPals + 3], a
ld a, [hli]
ld [wSGBPals + 4], a
ld a, [hli]
ld [wSGBPals + 5], a
ld a, [hl]
ld [wSGBPals + 6], a
ld a, [EnemyHPPal]
ld l, a
ld h, 0
add hl, hl
add hl, hl
ld de, Palettes_a8be
add hl, de
ld a, [hli]
ld [wSGBPals + 9], a
ld a, [hli]
ld [wSGBPals + 10], a
ld a, [hli]
ld [wSGBPals + 11], a
ld a, [hl]
ld [wSGBPals + 12], a
ld hl, PalPacket_9cf6
ld de, wSGBPals + $10
ld bc, $10
call CopyBytes
call GetBattlemonBackpicPalettePointer
ld a, [hli]
ld [wSGBPals + $13], a
ld a, [hli]
ld [wSGBPals + $14], a
ld a, [hli]
ld [wSGBPals + $15], a
ld a, [hl]
ld [wSGBPals + $16], a
call GetEnemyFrontpicPalettePointer
ld a, [hli]
ld [wSGBPals + $19], a
ld a, [hli]
ld [wSGBPals + $1a], a
ld a, [hli]
ld [wSGBPals + $1b], a
ld a, [hl]
ld [wSGBPals + $1c], a
ld hl, wSGBPals
ld de, wSGBPals + $10
ld a, SCGB_BATTLE_COLORS
ld [SGBPredef], a
ret
; 873c
.SGB_MoveList: ; 873c
ld hl, PalPacket_9bd6
ld de, wSGBPals
ld bc, $10
call CopyBytes
ld hl, wSGBPals + 1
ld [hl], $10
inc hl
inc hl
ld a, [PlayerHPPal]
add $2f
ld [hl], a
ld hl, wSGBPals
ld de, BlkPacket_9ad6
ret
; 875c
.SGB_PokegearPals: ; 875c
ld hl, PalPacket_9c76
ld de, BlkPacket_9a86
ret
; 8763
.SGB_StatsScreenHPPals: ; 8763
ld hl, PalPacket_9ce6
ld de, wSGBPals
ld bc, $10
call CopyBytes
ld a, [wCurHPPal]
ld l, a
ld h, 0
add hl, hl
add hl, hl
ld de, Palettes_a8be
add hl, de
ld a, [hli]
ld [wSGBPals + 3], a
ld a, [hli]
ld [wSGBPals + 4], a
ld a, [hli]
ld [wSGBPals + 5], a
ld a, [hl]
ld [wSGBPals + 6], a
ld a, [CurPartySpecies]
ld bc, TempMonDVs
call GetPlayerOrMonPalettePointer
ld a, [hli]
ld [wSGBPals + 9], a
ld a, [hli]
ld [wSGBPals + 10], a
ld a, [hli]
ld [wSGBPals + 11], a
ld a, [hl]
ld [wSGBPals + 12], a
ld hl, wSGBPals
ld de, BlkPacket_9ac6
ret
; 87ab
.SGB_PartyMenu: ; 87ab
ld hl, PalPacket_9c56
ld de, wSGBPals + 1
ret
; 87b2
.SGB_Pokedex: ; 87b2
ld hl, PalPacket_9ce6
ld de, wSGBPals
ld bc, $10
call CopyBytes
ld hl, wSGBPals + 3
ld [hl], $9f
inc hl
ld [hl], $2a
inc hl
ld [hl], $5a
inc hl
ld [hl], $19
ld a, [CurPartySpecies]
call GetMonPalettePointer_
ld a, [hli]
ld [wSGBPals + 9], a
ld a, [hli]
ld [wSGBPals + 10], a
ld a, [hli]
ld [wSGBPals + 11], a
ld a, [hl]
ld [wSGBPals + 12], a
ld hl, wSGBPals
ld de, BlkPacket_9ae6
ret
; 87e9
.SGB_BillsPC: ; 87e9
ld hl, PalPacket_9ce6
ld de, wSGBPals
ld bc, $10
call CopyBytes
ld hl, wSGBPals + 3
ld [hl], $9f
inc hl
ld [hl], $2a
inc hl
ld [hl], $5a
inc hl
ld [hl], $19
ld a, [CurPartySpecies]
ld bc, TempMonDVs
call GetPlayerOrMonPalettePointer
ld a, [hli]
ld [wSGBPals + 9], a
ld a, [hli]
ld [wSGBPals + 10], a
ld a, [hli]
ld [wSGBPals + 11], a
ld a, [hl]
ld [wSGBPals + 12], a
ld hl, wSGBPals
ld de, BlkPacket_9ae6
ret
; 8823
.SGB_PokedexUnownMode: ; 8823
call .SGB_Pokedex
ld de, BlkPacket_9af6
ret
; 882a
.SGB_PokedexSearchOption: ; 882a
ld hl, PalPacket_9ce6
ld de, wSGBPals
ld bc, $10
call CopyBytes
ld hl, wSGBPals + 3
ld [hl], $9f
inc hl
ld [hl], $2a
inc hl
ld [hl], $5a
inc hl
ld [hl], $19
ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 884b
.SGB_PackPals: ; 884b
ld hl, PalPacket_9c36
ld de, BlkPacket_9a86
ret
; 8852
.SGB_SlotMachine: ; 8852
ld hl, PalPacket_9c96
ld de, BlkPacket_9b06
ret
; 8859
.SGB06: ; 8859
ld hl, PalPacket_9ca6
ld de, BlkPacket_9b76
ret
; 8860
.SGB_Diploma:
.SGB_MysteryGift: ; 8860
ld hl, PalPacket_9cb6
ld de, BlkPacket_9a86
ret
; 8867
.SGB07: ; 8867
ld b, 0
ld hl, .BlkPacketTable_SGB07
rept 4
add hl, bc
endr
ld e, [hl]
inc hl
ld d, [hl]
inc hl
ld a, [hli]
ld h, [hl]
ld l, a
ret
; 8878
.BlkPacketTable_SGB07: ; 8878
dw BlkPacket_9a86, PalPacket_9be6
dw BlkPacket_9a96, PalPacket_9c06
dw BlkPacket_9a86, PalPacket_9c16
; 8884
.SGB0c: ; 8884
ld hl, PalPacket_9b96
ld de, BlkPacket_9b56
ld a, SCGB_DIPLOMA
ld [SGBPredef], a
ret
; 8890
.SGB13: ; 8890
ld hl, PalPacket_9ba6
ld de, BlkPacket_9b86
ret
; 8897
.SGB0f: ; 8897
ld hl, PalPacket_9c46
ld de, BlkPacket_9a86
ret
; 889e
.SGB11: ; 889e
ld hl, BlkPacket_9a86
ld de, PlayerLightScreenCount
ld bc, $10
call CopyBytes
ld hl, PalPacket_9bb6
ld de, BlkPacket_9a86
ret
; 88b1
.SGB_MapPals: ; 88b1
ld hl, PalPacket_9bd6
ld de, wSGBPals
ld bc, $10
call CopyBytes
call .GetMapPalsIndex
ld hl, wSGBPals + 1
ld [hld], a
ld de, BlkPacket_9a86
ld a, SCGB_MAPPALS
ld [SGBPredef], a
ret
; 88cd
.SGB_Evolution: ; 88cd
push bc
ld hl, PalPacket_9ce6
ld de, wSGBPals
ld bc, $10
call CopyBytes
pop bc
ld a, c
and a
jr z, .partymon
; Egg
ld hl, wSGBPals + 3
; RGB 7, 7, 7
ld [hl], $e7
inc hl
ld [hl], $1c
inc hl
; RGB 2, 3, 3
ld [hl], $62
inc hl
ld [hl], $c
jr .done
.partymon
ld hl, PartyMon1DVs
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld c, l
ld b, h
ld a, [PlayerHPPal]
call GetPlayerOrMonPalettePointer
ld a, [hli]
ld [wSGBPals + 3], a
ld a, [hli]
ld [wSGBPals + 4], a
ld a, [hli]
ld [wSGBPals + 5], a
ld a, [hl]
ld [wSGBPals + 6], a
.done
ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 891a
.SGB0d:
.SGB_TrainerCard: ; 891a
ld hl, PalPacket_9cb6
ld de, BlkPacket_9a86
ret
; 8921
.SGB_UnownPuzzle: ; 8921
ld hl, PalPacket_9bc6
ld de, BlkPacket_9a86
ret
; 8928
.SGB12: ; 8928
ld hl, PalPacket_9bd6
ld de, wSGBPals
ld bc, $10
call CopyBytes
ld hl, BlkPacket_9a86
ld de, wSGBPals + $10
ld bc, $10
call CopyBytes
call .GetMapPalsIndex
ld hl, wSGBPals + 1
ld [hl], a
ld hl, wSGBPals + 3
ld [hl], $2e
ld hl, wSGBPals + $13
ld a, 5
ld [hli], a
ld a, [wMenuBorderLeftCoord]
ld [hli], a
ld a, [wMenuBorderTopCoord]
ld [hli], a
ld a, [wMenuBorderRightCoord]
ld [hli], a
ld a, [wMenuBorderBottomCoord]
ld [hl], a
ld hl, wSGBPals
ld de, wSGBPals + $10
ret
; 8969
.SGB1e: ; 8969
ld hl, PalPacket_9ce6
ld de, wSGBPals
ld bc, $10
call CopyBytes
ld a, [CurPartySpecies]
ld l, a
ld h, 0
add hl, hl
add hl, hl
add hl, hl
ld de, PokemonPalettes
add hl, de
ld a, [wcf65]
and 3
sla a
sla a
ld c, a
ld b, 0
add hl, bc
ld a, [hli]
ld [wSGBPals + 3], a
ld a, [hli]
ld [wSGBPals + 4], a
ld a, [hli]
ld [wSGBPals + 5], a
ld a, [hl]
ld [wSGBPals + 6], a
ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 89a6
.SGB19: ; 89a6
ld hl, PalPacket_9cd6
ld de, BlkPacket_9a86
ret
; 89ad
.SGB_PlayerOrMonFrontpicPals: ; 89ad
ld hl, PalPacket_9ce6
ld de, wSGBPals
ld bc, $10
call CopyBytes
ld a, [CurPartySpecies]
ld bc, TempMonDVs
call GetPlayerOrMonPalettePointer
ld a, [hli]
ld [wSGBPals + 3], a
ld a, [hli]
ld [wSGBPals + 4], a
ld a, [hli]
ld [wSGBPals + 5], a
ld a, [hl]
ld [wSGBPals + 6], a
ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 89d9
.SGB_TradeTube: ; 89d9
ld hl, PalPacket_9cc6
ld de, BlkPacket_9a86
ret
; 89e0
.SGB_TrainerOrMonFrontpicPals: ; 89e0
ld hl, PalPacket_9ce6
ld de, wSGBPals
ld bc, $10
call CopyBytes
ld a, [CurPartySpecies]
ld bc, TempMonDVs
call GetFrontpicPalettePointer
ld a, [hli]
ld [wSGBPals + 3], a
ld a, [hli]
ld [wSGBPals + 4], a
ld a, [hli]
ld [wSGBPals + 5], a
ld a, [hl]
ld [wSGBPals + 6], a
ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 8a0c
.GetMapPalsIndex: ; 8a0c
ld a, [TimeOfDayPal]
cp NITE_F
jr c, .morn_day
ld a, $19
ret
.morn_day
ld a, [wPermission]
cp ROUTE
jr z, .route
cp CAVE
jr z, .cave
cp DUNGEON
jr z, .cave
cp PERM_5
jr z, .perm5
cp GATE
jr z, .gate
ld a, [MapGroup]
ld e, a
ld d, 0
ld hl, .SGBRoofPalInds
add hl, de
ld a, [hl]
ret
.route
ld a, $00
ret
.cave
ld a, $18
ret
.perm5
ld a, $06
ret
.gate
ld a, $03
ret
; 8a45
.SGBRoofPalInds: ; 8a45
db $00 ; Unused
db $12 ; Olivine
db $14 ; Mahogany
db $18 ; Various Dungeons
db $11 ; Ecruteak
db $15 ; Blackthorn
db $09 ; Cinnabar
db $04 ; Cerulean
db $0f ; Azalea
db $16 ; Lake Of Rage
db $0e ; Violet
db $10 ; Goldenrod
db $06 ; Vermilion
db $01 ; Palette
db $03 ; Pewter
db $06 ; Fast Ship
db $0b ; Indigo Plateau
db $08 ; Fuchsia
db $05 ; Lavender
db $17 ; Silver Cave Outside
db $08 ; Pokemon Center 2F
db $07 ; Celadon
db $13 ; Cianwood
db $02 ; Viridian
db $0c ; New Bark
db $0a ; Saffron
db $0d ; Cherrygrove
; 8a60
.Finish: ; 8a60
push de
call PushSGBPals_
pop hl
jp PushSGBPals_
; 8a68