ref: ce019e6347435a89fe53037db993049958fc837e
dir: /predef/sgb.asm/
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 .SGB04 dw .SGB_SlotMachine dw .SGB06 dw .SGB07 dw .SGB08 dw .SGB_MapPals dw .SGB0a dw .SGB0b dw .SGB0c dw .SGB0d dw .SGB0e dw .SGB0f dw .SGB10 dw .SGB11 dw .SGB12 dw .SGB13 dw .SGB_PackPals dw .SGB_TrainerCard dw .SGB16 dw .SGB17 dw .SGB18 dw .SGB19 dw .SGB1a dw .SGB1b dw .SGB_FrontpicPals dw .SGB1d dw .SGB1e ; 86ad .SGB_BattleGrayscale: ; 86ad ld hl, PalPacket_9c66 ld de, BlkPacket_9aa6 ret ; 86b4 .SGB_BattleColors: ; 86b4 ld hl, BlkPacket_9aa6 call Function9809 ld hl, PalPacket_9ce6 ld de, wSGBPals ld bc, $10 call CopyBytes ld a, [PlayerHPPal] ld l, a ld h, 0 rept 2 add hl, hl endr 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 rept 2 add hl, hl endr 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 .SGB0e: ; 873c ld hl, PalPacket_9bd6 ld de, wSGBPals ld bc, $10 call CopyBytes ld hl, wSGBPals + 1 ld [hl], $10 rept 2 inc hl endr 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, [wcda1] ld l, a ld h, 0 rept 2 add hl, hl endr 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 .SGB0a: ; 87ab ld hl, PalPacket_9c56 ld de, wSGBPals + 1 ret ; 87b2 .SGB04: ; 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 .SGB17: ; 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 .SGB16: ; 8823 call .SGB04 ld de, BlkPacket_9af6 ret ; 882a .SGB10: ; 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 .SGB08: .SGB1d: ; 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_08 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 .SGB0b: ; 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 ld hl, wSGBPals + 3 ld [hl], $e7 inc hl ld [hl], $1c inc hl 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 .SGB18: ; 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 rept 3 add hl, hl endr 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 .SGB1a: ; 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 .SGB1b: ; 89d9 ld hl, PalPacket_9cc6 ld de, BlkPacket_9a86 ret ; 89e0 .SGB_FrontpicPals: ; 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 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 Function9809 pop hl jp Function9809 ; 8a68