ref: 794410352fd92ccf06974763e4b3be0b807641ab
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_FC jp z, Function8ade 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 .SGB00 dw .SGB01 dw .SGB02 dw .SGB03 dw .SGB04 dw .SGB05 dw .SGB06 dw .SGB07 dw .SGB08 dw .SGB09 dw .SGB0a dw .SGB0b dw .SGB0c dw .SGB0d dw .SGB0e dw .SGB0f dw .SGB10 dw .SGB11 dw .SGB12 dw .SGB13 dw .SGB14 dw .SGB15 dw .SGB16 dw .SGB17 dw .SGB18 dw .SGB19 dw .SGB1a dw .SGB1b dw .SGB1c dw .SGB1d dw .SGB1e ; 86ad .SGB00: ; 86ad ld hl, PalPacket_9c66 ld de, BlkPacket_9aa6 ret ; 86b4 .SGB01: ; 86b4 ld hl, BlkPacket_9aa6 call Function9809 ld hl, PalPacket_9ce6 ld de, wcda9 ld bc, $0010 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 [wcda9 + 3], a ld a, [hli] ld [wcda9 + 4], a ld a, [hli] ld [wcda9 + 5], a ld a, [hl] ld [wcda9 + 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 [wcda9 + 9], a ld a, [hli] ld [wcda9 + 10], a ld a, [hli] ld [wcda9 + 11], a ld a, [hl] ld [wcda9 + 12], a ld hl, PalPacket_9cf6 ld de, wcda9 + $10 ld bc, $0010 call CopyBytes call Function9729 ld a, [hli] ld [wcda9 + $13], a ld a, [hli] ld [wcda9 + $14], a ld a, [hli] ld [wcda9 + $15], a ld a, [hl] ld [wcda9 + $16], a call Function973a ld a, [hli] ld [wcda9 + $19], a ld a, [hli] ld [wcda9 + $1a], a ld a, [hli] ld [wcda9 + $1b], a ld a, [hl] ld [wcda9 + $1c], a ld hl, wcda9 ld de, wcda9 + $10 ld a, SCGB_01 ld [SGBPredef], a ret ; 873c .SGB0e: ; 873c ld hl, PalPacket_9bd6 ld de, wcda9 ld bc, $0010 call CopyBytes ld hl, wcda9 + 1 ld [hl], $10 rept 2 inc hl endr ld a, [PlayerHPPal] add $2f ld [hl], a ld hl, wcda9 ld de, BlkPacket_9ad6 ret ; 875c .SGB02: ; 875c ld hl, PalPacket_9c76 ld de, BlkPacket_9a86 ret ; 8763 .SGB03: ; 8763 ld hl, PalPacket_9ce6 ld de, wcda9 ld bc, $0010 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 [wcda9 + 3], a ld a, [hli] ld [wcda9 + 4], a ld a, [hli] ld [wcda9 + 5], a ld a, [hl] ld [wcda9 + 6], a ld a, [CurPartySpecies] ld bc, wd10e + 21 call Function974b ld a, [hli] ld [wcda9 + 9], a ld a, [hli] ld [wcda9 + 10], a ld a, [hli] ld [wcda9 + 11], a ld a, [hl] ld [wcda9 + 12], a ld hl, wcda9 ld de, BlkPacket_9ac6 ret ; 87ab .SGB0a: ; 87ab ld hl, PalPacket_9c56 ld de, wcda9 + 1 ret ; 87b2 .SGB04: ; 87b2 ld hl, PalPacket_9ce6 ld de, wcda9 ld bc, $0010 call CopyBytes ld hl, wcda9 + 3 ld [hl], $9f inc hl ld [hl], $2a inc hl ld [hl], $5a inc hl ld [hl], $19 ld a, [CurPartySpecies] call Function9775 ld a, [hli] ld [wcda9 + 9], a ld a, [hli] ld [wcda9 + 10], a ld a, [hli] ld [wcda9 + 11], a ld a, [hl] ld [wcda9 + 12], a ld hl, wcda9 ld de, BlkPacket_9ae6 ret ; 87e9 .SGB17: ; 87e9 ld hl, PalPacket_9ce6 ld de, wcda9 ld bc, $0010 call CopyBytes ld hl, wcda9 + 3 ld [hl], $9f inc hl ld [hl], $2a inc hl ld [hl], $5a inc hl ld [hl], $19 ld a, [CurPartySpecies] ld bc, wd10e + 21 call Function974b ld a, [hli] ld [wcda9 + 9], a ld a, [hli] ld [wcda9 + 10], a ld a, [hli] ld [wcda9 + 11], a ld a, [hl] ld [wcda9 + 12], a ld hl, wcda9 ld de, BlkPacket_9ae6 ret ; 8823 .SGB16: ; 8823 call .SGB04 ld de, BlkPacket_9af6 ret ; 882a .SGB10: ; 882a ld hl, PalPacket_9ce6 ld de, wcda9 ld bc, $0010 call CopyBytes ld hl, wcda9 + 3 ld [hl], $9f inc hl ld [hl], $2a inc hl ld [hl], $5a inc hl ld [hl], $19 ld hl, wcda9 ld de, BlkPacket_9a86 ret ; 884b .SGB14: ; 884b ld hl, PalPacket_9c36 ld de, BlkPacket_9a86 ret ; 8852 .SGB05: ; 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, $0010 call CopyBytes ld hl, PalPacket_9bb6 ld de, BlkPacket_9a86 ret ; 88b1 .SGB09: ; 88b1 ld hl, PalPacket_9bd6 ld de, wcda9 ld bc, $0010 call CopyBytes call .GetPermission ld hl, wcda9 + 1 ld [hld], a ld de, BlkPacket_9a86 ld a, SCGB_09 ld [SGBPredef], a ret ; 88cd .SGB0b: ; 88cd push bc ld hl, PalPacket_9ce6 ld de, wcda9 ld bc, $0010 call CopyBytes pop bc ld a, c and a jr z, .asm_88ef ld hl, wcda9 + 3 ld [hl], $e7 inc hl ld [hl], $1c inc hl ld [hl], $62 inc hl ld [hl], $c jr .asm_8913 .asm_88ef ld hl, PartyMon1DVs ld bc, $0030 ld a, [CurPartyMon] call AddNTimes ld c, l ld b, h ld a, [PlayerHPPal] call Function974b ld a, [hli] ld [wcda9 + 3], a ld a, [hli] ld [wcda9 + 4], a ld a, [hli] ld [wcda9 + 5], a ld a, [hl] ld [wcda9 + 6], a .asm_8913 ld hl, wcda9 ld de, BlkPacket_9a86 ret ; 891a .SGB0d: .SGB15: ; 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, wcda9 ld bc, $0010 call CopyBytes ld hl, BlkPacket_9a86 ld de, wcda9 + $10 ld bc, $0010 call CopyBytes call .GetPermission ld hl, wcda9 + 1 ld [hl], a ld hl, wcda9 + 3 ld [hl], $2e ld hl, wcda9 + $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, wcda9 ld de, wcda9 + $10 ret ; 8969 .SGB1e: ; 8969 ld hl, PalPacket_9ce6 ld de, wcda9 ld bc, $0010 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 [wcda9 + 3], a ld a, [hli] ld [wcda9 + 4], a ld a, [hli] ld [wcda9 + 5], a ld a, [hl] ld [wcda9 + 6], a ld hl, wcda9 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, wcda9 ld bc, $0010 call CopyBytes ld a, [CurPartySpecies] ld bc, wd10e + 21 call Function974b ld a, [hli] ld [wcda9 + 3], a ld a, [hli] ld [wcda9 + 4], a ld a, [hli] ld [wcda9 + 5], a ld a, [hl] ld [wcda9 + 6], a ld hl, wcda9 ld de, BlkPacket_9a86 ret ; 89d9 .SGB1b: ; 89d9 ld hl, PalPacket_9cc6 ld de, BlkPacket_9a86 ret ; 89e0 .SGB1c: ; 89e0 ld hl, PalPacket_9ce6 ld de, wcda9 ld bc, $0010 call CopyBytes ld a, [CurPartySpecies] ld bc, wd10e + 21 call Function9764 ld a, [hli] ld [wcda9 + 3], a ld a, [hli] ld [wcda9 + 4], a ld a, [hli] ld [wcda9 + 5], a ld a, [hl] ld [wcda9 + 6], a ld hl, wcda9 ld de, BlkPacket_9a86 ret ; 8a0c .GetPermission: ; 8a0c ld a, [TimeOfDayPal] cp $2 jr c, .asm_8a16 ld a, $19 ret .asm_8a16 ld a, [wPermission] cp $2 jr z, .asm_8a39 cp $4 jr z, .asm_8a3c cp $7 jr z, .asm_8a3c cp $5 jr z, .asm_8a3f cp $6 jr z, .asm_8a42 ld a, [MapGroup] ld e, a ld d, 0 ld hl, .Unknown_8a45 add hl, de ld a, [hl] ret .asm_8a39 ld a, $0 ret .asm_8a3c ld a, $18 ret .asm_8a3f ld a, $6 ret .asm_8a42 ld a, $3 ret ; 8a45 .Unknown_8a45: ; 8a45 db $00 db $12 db $14 db $18 db $11 db $15 db $09 db $04 db $0f db $16 db $0e db $10 db $06 db $01 db $03 db $06 db $0b db $08 db $05 db $17 db $08 db $07 db $13 db $02 db $0c db $0a db $0d ; 8a60 .Finish: ; 8a60 push de call Function9809 pop hl jp Function9809 ; 8a68