pokecrystal-board/engine/gfx/sgb_layouts.asm

572 lines
9.6 KiB
NASM
Raw Normal View History

2018-06-24 07:09:41 -07:00
LoadSGBLayout:
2013-09-09 11:33:04 -07:00
call CheckCGB
2018-01-02 06:05:14 -08:00
jp nz, LoadSGBLayoutCGB
2013-09-09 11:33:04 -07:00
ld a, b
2015-11-20 12:15:32 -08:00
cp SCGB_RAM
jr nz, .not_ram
2018-01-23 14:39:09 -08:00
ld a, [wSGBPredef]
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, SGB_ApplyPartyMenuHPPals
2013-09-09 11:33:04 -07:00
ld l, a
ld h, 0
add hl, hl
ld de, .Jumptable
2013-09-09 11:33:04 -07:00
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
2018-01-10 22:45:27 -08:00
ld de, _LoadSGBLayout_ReturnFromJumpTable
2013-09-09 11:33:04 -07:00
push de
jp hl
2013-09-09 11:33:04 -07:00
2018-06-24 07:09:41 -07:00
.Jumptable:
2015-12-28 07:57:04 -08:00
dw .SGB_BattleGrayscale
dw .SGB_BattleColors
dw .SGB_PokegearPals
dw .SGB_StatsScreenHPPals
2016-01-09 17:51:14 -08:00
dw .SGB_Pokedex
2015-12-28 07:57:04 -08:00
dw .SGB_SlotMachine
dw .SGB06
2018-01-17 21:16:03 -08:00
dw .SGB_GSIntro
2016-06-06 15:23:00 -07:00
dw .SGB_Diploma
2015-12-28 07:57:04 -08:00
dw .SGB_MapPals
2016-06-06 15:23:00 -07:00
dw .SGB_PartyMenu
dw .SGB_Evolution
2018-01-17 21:16:03 -08:00
dw .SGB_GSTitleScreen
2015-11-12 21:49:27 -08:00
dw .SGB0d
2016-06-06 15:23:00 -07:00
dw .SGB_MoveList
dw .SGB_BetaPikachuMinigame
2016-01-09 19:56:37 -08:00
dw .SGB_PokedexSearchOption
dw .SGB_BetaPoker
dw .SGB12
dw .SGB13
2015-12-28 07:57:04 -08:00
dw .SGB_PackPals
dw .SGB_TrainerCard
2016-01-09 19:56:37 -08:00
dw .SGB_PokedexUnownMode
2016-06-06 15:23:00 -07:00
dw .SGB_BillsPC
dw .SGB_UnownPuzzle
2018-01-17 21:16:03 -08:00
dw .SGB_GamefreakLogo
dw .SGB_PlayerOrMonFrontpicPals
dw .SGB_TradeTube
dw .SGB_TrainerOrMonFrontpicPals
2016-06-06 15:23:00 -07:00
dw .SGB_MysteryGift
dw .SGB1e
2013-09-09 11:33:04 -07:00
2018-06-24 07:09:41 -07:00
.SGB_BattleGrayscale:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_BattleGrayscale
ld de, BlkPacket_Battle
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_BattleColors:
2018-01-17 21:16:03 -08:00
ld hl, BlkPacket_Battle
call PushSGBPals
2015-11-12 21:49:27 -08:00
ld hl, PalPacket_9ce6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
2015-11-12 21:49:27 -08:00
2018-01-23 14:39:09 -08:00
ld a, [wPlayerHPPal]
2013-09-09 11:33:04 -07:00
ld l, a
ld h, 0
2013-09-09 11:33:04 -07:00
add hl, hl
add hl, hl
2017-12-15 19:36:33 -08:00
ld de, HPBarPals
2013-09-09 11:33:04 -07:00
add hl, de
2015-11-12 21:49:27 -08:00
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 6], a
2015-11-12 21:49:27 -08:00
2018-01-23 14:39:09 -08:00
ld a, [wEnemyHPPal]
2013-09-09 11:33:04 -07:00
ld l, a
ld h, 0
2013-09-09 11:33:04 -07:00
add hl, hl
add hl, hl
2015-11-12 21:49:27 -08:00
2017-12-15 19:36:33 -08:00
ld de, HPBarPals
2013-09-09 11:33:04 -07:00
add hl, de
ld a, [hli]
ld [wSGBPals + 9], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 10], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 11], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 12], a
2015-11-12 21:49:27 -08:00
ld hl, PalPacket_9cf6
2018-01-17 21:16:03 -08:00
ld de, wSGBPals + PALPACKET_LENGTH
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
2015-11-12 21:49:27 -08:00
2015-12-16 18:57:42 -08:00
call GetBattlemonBackpicPalettePointer
2015-11-12 21:49:27 -08:00
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 19], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 20], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 21], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 22], a
2015-12-16 18:57:42 -08:00
call GetEnemyFrontpicPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 25], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 26], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 27], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 28], a
2015-11-12 21:49:27 -08:00
ld hl, wSGBPals
2018-01-17 21:16:03 -08:00
ld de, wSGBPals + PALPACKET_LENGTH
2015-12-28 07:57:04 -08:00
ld a, SCGB_BATTLE_COLORS
2018-01-23 14:39:09 -08:00
ld [wSGBPredef], a
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_MoveList:
ld hl, PalPacket_9bd6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
2015-11-12 21:49:27 -08:00
ld hl, wSGBPals + 1
2013-09-09 11:33:04 -07:00
ld [hl], $10
inc hl
inc hl
2015-11-12 21:49:27 -08:00
2018-01-23 14:39:09 -08:00
ld a, [wPlayerHPPal]
2018-01-17 21:16:03 -08:00
add PREDEFPAL_HP_GREEN
2013-09-09 11:33:04 -07:00
ld [hl], a
ld hl, wSGBPals
2018-01-17 21:16:03 -08:00
ld de, BlkPacket_MoveList
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_PokegearPals:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_Pokegear
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_StatsScreenHPPals:
ld hl, PalPacket_9ce6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
2017-12-09 16:41:03 -08:00
ld a, [wCurHPPal]
2013-09-09 11:33:04 -07:00
ld l, a
ld h, 0
2013-09-09 11:33:04 -07:00
add hl, hl
add hl, hl
2017-12-15 19:36:33 -08:00
ld de, HPBarPals
2013-09-09 11:33:04 -07:00
add hl, de
ld a, [hli]
ld [wSGBPals + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 6], a
2018-01-23 14:39:09 -08:00
ld a, [wCurPartySpecies]
ld bc, wTempMonDVs
2015-12-16 18:57:42 -08:00
call GetPlayerOrMonPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 9], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 10], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 11], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 12], a
ld hl, wSGBPals
2018-01-17 21:16:03 -08:00
ld de, BlkPacket_StatsScreen
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_PartyMenu:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_PartyMenu
ld de, wSGBPals + 1
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_Pokedex:
ld hl, PalPacket_9ce6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
ld hl, wSGBPals + 3
ld [hl], LOW(palred 31 + palgreen 20 + palblue 10)
2013-09-09 11:33:04 -07:00
inc hl
ld [hl], HIGH(palred 31 + palgreen 20 + palblue 10)
2013-09-09 11:33:04 -07:00
inc hl
ld [hl], LOW(palred 26 + palgreen 10 + palblue 6)
2013-09-09 11:33:04 -07:00
inc hl
ld [hl], HIGH(palred 26 + palgreen 10 + palblue 6)
2018-01-23 14:39:09 -08:00
ld a, [wCurPartySpecies]
call GetMonPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 9], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 10], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 11], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 12], a
ld hl, wSGBPals
2018-01-17 21:16:03 -08:00
ld de, BlkPacket_Pokedex_PC
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_BillsPC:
ld hl, PalPacket_9ce6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
ld hl, wSGBPals + 3
ld [hl], LOW(palred 31 + palgreen 20 + palblue 10)
2013-09-09 11:33:04 -07:00
inc hl
ld [hl], HIGH(palred 31 + palgreen 20 + palblue 10)
2013-09-09 11:33:04 -07:00
inc hl
ld [hl], LOW(palred 26 + palgreen 10 + palblue 6)
2013-09-09 11:33:04 -07:00
inc hl
ld [hl], HIGH(palred 26 + palgreen 10 + palblue 6)
2018-01-23 14:39:09 -08:00
ld a, [wCurPartySpecies]
ld bc, wTempMonDVs
2015-12-16 18:57:42 -08:00
call GetPlayerOrMonPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 9], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 10], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 11], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 12], a
ld hl, wSGBPals
2018-01-17 21:16:03 -08:00
ld de, BlkPacket_Pokedex_PC
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_PokedexUnownMode:
2016-01-09 17:51:14 -08:00
call .SGB_Pokedex
2018-01-17 21:16:03 -08:00
ld de, BlkPacket_PokedexUnownMode
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_PokedexSearchOption:
ld hl, PalPacket_9ce6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
ld hl, wSGBPals + 3
ld [hl], LOW(palred 31 + palgreen 20 + palblue 10)
2013-09-09 11:33:04 -07:00
inc hl
ld [hl], HIGH(palred 31 + palgreen 20 + palblue 10)
2013-09-09 11:33:04 -07:00
inc hl
ld [hl], LOW(palred 26 + palgreen 10 + palblue 6)
2013-09-09 11:33:04 -07:00
inc hl
ld [hl], HIGH(palred 26 + palgreen 10 + palblue 6)
ld hl, wSGBPals
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_PackPals:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_Pack
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_SlotMachine:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_SlotMachine
ld de, BlkPacket_SlotMachine
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB06:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_SCGB_06
ld de, BlkPacket_SCGB_06
2013-09-09 11:33:04 -07:00
ret
2016-06-06 15:23:00 -07:00
.SGB_Diploma:
2018-06-24 07:09:41 -07:00
.SGB_MysteryGift:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_Diploma
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_GSIntro:
ld b, 0
2018-01-17 21:16:03 -08:00
ld hl, .BlkPacketTable_GSIntro
2015-07-20 19:18:18 -07:00
rept 4
2013-09-09 11:33:04 -07:00
add hl, bc
2015-07-20 19:18:18 -07:00
endr
2013-09-09 11:33:04 -07:00
ld e, [hl]
inc hl
ld d, [hl]
inc hl
ld a, [hli]
ld h, [hl]
ld l, a
ret
2018-06-24 07:09:41 -07:00
.BlkPacketTable_GSIntro:
2018-01-17 21:16:03 -08:00
dw BlkPacket_9a86, PalPacket_GSIntroShellderLapras
dw BlkPacket_GSIntroJigglypuffPikachu, PalPacket_GSIntroJigglypuffPikachu
2018-01-18 12:06:43 -08:00
dw BlkPacket_9a86, PalPacket_GSIntroStartersTransition
2013-09-09 11:33:04 -07:00
2018-06-24 07:09:41 -07:00
.SGB_GSTitleScreen:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_GSTitleScreen
ld de, BlkPacket_GSTitleScreen
2016-06-06 15:23:00 -07:00
ld a, SCGB_DIPLOMA
2018-01-23 14:39:09 -08:00
ld [wSGBPredef], a
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB13:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_SCGB_13
ld de, BlkPacket_SCGB_13
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_BetaPikachuMinigame:
ld hl, PalPacket_BetaPikachuMinigame
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_BetaPoker:
ld hl, BlkPacket_9a86
2018-01-23 14:39:09 -08:00
ld de, wPlayerLightScreenCount ; ???
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
ld hl, PalPacket_BetaPoker
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_MapPals:
ld hl, PalPacket_9bd6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
call .GetMapPalsIndex
ld hl, wSGBPals + 1
2013-09-09 11:33:04 -07:00
ld [hld], a
ld de, BlkPacket_9a86
ld a, SCGB_MAPPALS
2018-01-23 14:39:09 -08:00
ld [wSGBPredef], a
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_Evolution:
2013-09-09 11:33:04 -07:00
push bc
ld hl, PalPacket_9ce6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
pop bc
ld a, c
and a
2015-12-22 19:19:33 -08:00
jr z, .partymon
2016-06-06 15:23:00 -07:00
; Egg
ld hl, wSGBPals + 3
2018-01-10 22:45:27 -08:00
ld [hl], LOW(palred 7 + palgreen 7 + palblue 7)
2013-09-09 11:33:04 -07:00
inc hl
2018-01-10 22:45:27 -08:00
ld [hl], HIGH(palred 7 + palgreen 7 + palblue 7)
2013-09-09 11:33:04 -07:00
inc hl
2018-01-10 22:45:27 -08:00
ld [hl], LOW(palred 2 + palgreen 3 + palblue 3)
2013-09-09 11:33:04 -07:00
inc hl
2018-01-10 22:45:27 -08:00
ld [hl], HIGH(palred 2 + palgreen 3 + palblue 3)
2015-12-22 19:19:33 -08:00
jr .done
2013-09-09 11:33:04 -07:00
2015-12-22 19:19:33 -08:00
.partymon
2018-01-23 14:39:09 -08:00
ld hl, wPartyMon1DVs
2015-12-22 19:19:33 -08:00
ld bc, PARTYMON_STRUCT_LENGTH
2018-01-23 14:39:09 -08:00
ld a, [wCurPartyMon]
2013-09-09 11:33:04 -07:00
call AddNTimes
ld c, l
ld b, h
2018-01-23 14:39:09 -08:00
ld a, [wPlayerHPPal]
2015-12-16 18:57:42 -08:00
call GetPlayerOrMonPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 6], a
2013-09-09 11:33:04 -07:00
2015-12-22 19:19:33 -08:00
.done
ld hl, wSGBPals
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2015-11-12 21:49:27 -08:00
.SGB0d:
2018-06-24 07:09:41 -07:00
.SGB_TrainerCard:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_Diploma
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_UnownPuzzle:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_UnownPuzzle
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB12:
ld hl, PalPacket_9bd6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
ld hl, BlkPacket_9a86
2018-01-17 21:16:03 -08:00
ld de, wSGBPals + PALPACKET_LENGTH
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
call .GetMapPalsIndex
ld hl, wSGBPals + 1
2013-09-09 11:33:04 -07:00
ld [hl], a
ld hl, wSGBPals + 3
2013-09-09 11:33:04 -07:00
ld [hl], $2e
ld hl, wSGBPals + $13
ld a, 5
2013-09-09 11:33:04 -07:00
ld [hli], a
2015-10-24 07:34:19 -07:00
ld a, [wMenuBorderLeftCoord]
2013-09-09 11:33:04 -07:00
ld [hli], a
2015-10-24 07:34:19 -07:00
ld a, [wMenuBorderTopCoord]
2013-09-09 11:33:04 -07:00
ld [hli], a
2015-10-24 07:34:19 -07:00
ld a, [wMenuBorderRightCoord]
2013-09-09 11:33:04 -07:00
ld [hli], a
2015-10-24 07:34:19 -07:00
ld a, [wMenuBorderBottomCoord]
2013-09-09 11:33:04 -07:00
ld [hl], a
ld hl, wSGBPals
2018-01-17 21:16:03 -08:00
ld de, wSGBPals + PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB1e:
ld hl, PalPacket_9ce6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
2018-01-23 14:39:09 -08:00
ld a, [wCurPartySpecies]
2013-09-09 11:33:04 -07:00
ld l, a
ld h, 0
2013-09-09 11:33:04 -07:00
add hl, hl
add hl, hl
add hl, hl
ld de, PokemonPalettes
2013-09-09 11:33:04 -07:00
add hl, de
ld a, [wcf65]
and 3
2013-09-09 11:33:04 -07:00
sla a
sla a
ld c, a
ld b, 0
2013-09-09 11:33:04 -07:00
add hl, bc
ld a, [hli]
ld [wSGBPals + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 6], a
ld hl, wSGBPals
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_GamefreakLogo:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_GamefreakLogo
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_PlayerOrMonFrontpicPals:
ld hl, PalPacket_9ce6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
2018-01-23 14:39:09 -08:00
ld a, [wCurPartySpecies]
ld bc, wTempMonDVs
2015-12-16 18:57:42 -08:00
call GetPlayerOrMonPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 6], a
ld hl, wSGBPals
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_TradeTube:
2018-01-17 21:16:03 -08:00
ld hl, PalPacket_TradeTube
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.SGB_TrainerOrMonFrontpicPals:
ld hl, PalPacket_9ce6
ld de, wSGBPals
2018-01-17 21:16:03 -08:00
ld bc, PALPACKET_LENGTH
2013-09-09 11:33:04 -07:00
call CopyBytes
2018-01-23 14:39:09 -08:00
ld a, [wCurPartySpecies]
ld bc, wTempMonDVs
2015-12-16 18:57:42 -08:00
call GetFrontpicPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wSGBPals + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wSGBPals + 6], a
ld hl, wSGBPals
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
2018-06-24 07:09:41 -07:00
.GetMapPalsIndex:
2018-01-23 14:39:09 -08:00
ld a, [wTimeOfDayPal]
cp NITE_F
jr c, .morn_day
2018-01-17 19:48:57 -08:00
ld a, PREDEFPAL_NITE
2013-09-09 11:33:04 -07:00
ret
.morn_day
ld a, [wEnvironment]
cp ROUTE
jr z, .route
cp CAVE
jr z, .cave
cp DUNGEON
jr z, .cave
cp ENVIRONMENT_5
jr z, .perm5
cp GATE
jr z, .gate
2018-01-23 14:39:09 -08:00
ld a, [wMapGroup]
2013-09-09 11:33:04 -07:00
ld e, a
ld d, 0
2018-01-10 22:45:27 -08:00
ld hl, MapGroupRoofSGBPalInds
2013-09-09 11:33:04 -07:00
add hl, de
ld a, [hl]
ret
.route
ld a, PREDEFPAL_00
2013-09-09 11:33:04 -07:00
ret
.cave
2018-01-17 19:48:57 -08:00
ld a, PREDEFPAL_DUNGEONS
2013-09-09 11:33:04 -07:00
ret
.perm5
2018-01-17 19:48:57 -08:00
ld a, PREDEFPAL_VERMILION
2013-09-09 11:33:04 -07:00
ret
.gate
2018-01-17 19:48:57 -08:00
ld a, PREDEFPAL_PEWTER
2013-09-09 11:33:04 -07:00
ret
INCLUDE "data/maps/sgb_roof_pal_inds.asm"
2018-01-10 22:45:27 -08:00
2018-06-24 07:09:41 -07:00
_LoadSGBLayout_ReturnFromJumpTable:
2013-09-09 11:33:04 -07:00
push de
call PushSGBPals
2013-09-09 11:33:04 -07:00
pop hl
jp PushSGBPals