pokecrystal-board/predef/sgb.asm

639 lines
8.2 KiB
NASM
Raw Normal View History

Predef_LoadSGBLayout: ; 864c
2013-09-09 11:33:04 -07:00
; LoadSGBLayout
call CheckCGB
jp nz, Predef_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
2013-09-09 11:33:04 -07:00
ld a, [SGBPredef]
2015-11-20 12:15:32 -08:00
.not_ram
cp SCGB_FC
2013-09-09 11:33:04 -07:00
jp z, Function8ade
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
ld de, .Finish
2013-09-09 11:33:04 -07:00
push de
jp [hl]
; 866f
.Jumptable: ; 866f
dw .SGB00
dw .SGB01
dw .SGB02
dw .SGB03
dw .SGB04
dw .SGB05
dw .SGB06
dw .SGB07
2015-11-12 21:49:27 -08:00
dw .SGB08
dw .SGB09
dw .SGB0a
dw .SGB0b
dw .SGB0c
2015-11-12 21:49:27 -08:00
dw .SGB0d
dw .SGB0e
dw .SGB0f
dw .SGB10
dw .SGB11
dw .SGB12
dw .SGB13
dw .SGB14
2015-11-12 21:49:27 -08:00
dw .SGB15
dw .SGB16
dw .SGB17
dw .SGB18
dw .SGB19
dw .SGB1a
dw .SGB1b
dw .SGB1c
2015-11-12 21:49:27 -08:00
dw .SGB1d
dw .SGB1e
2013-09-09 11:33:04 -07:00
; 86ad
.SGB00: ; 86ad
ld hl, PalPacket_9c66
ld de, BlkPacket_9aa6
2013-09-09 11:33:04 -07:00
ret
; 86b4
.SGB01: ; 86b4
ld hl, BlkPacket_9aa6
2013-09-09 11:33:04 -07:00
call Function9809
2015-11-12 21:49:27 -08:00
ld hl, PalPacket_9ce6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
2015-11-12 21:49:27 -08:00
2013-09-09 11:33:04 -07:00
ld a, [PlayerHPPal]
ld l, a
ld h, 0
2015-07-20 19:18:18 -07:00
rept 2
2013-09-09 11:33:04 -07:00
add hl, hl
2015-07-20 19:18:18 -07:00
endr
ld de, Palettes_a8be
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 [wcda9 + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + 6], a
2015-11-12 21:49:27 -08:00
2013-09-09 11:33:04 -07:00
ld a, [EnemyHPPal]
ld l, a
ld h, $0
2015-07-20 19:18:18 -07:00
rept 2
2013-09-09 11:33:04 -07:00
add hl, hl
2015-07-20 19:18:18 -07:00
endr
2015-11-12 21:49:27 -08:00
ld de, Palettes_a8be
2013-09-09 11:33:04 -07:00
add hl, de
ld a, [hli]
ld [wcda9 + 9], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 10], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 11], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + 12], a
2015-11-12 21:49:27 -08:00
ld hl, PalPacket_9cf6
ld de, wcda9 + $10
2013-09-09 11:33:04 -07:00
ld bc, $0010
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 [wcda9 + $13], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + $14], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + $15], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + $16], a
2015-12-16 18:57:42 -08:00
call GetEnemyFrontpicPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + $19], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + $1a], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + $1b], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + $1c], a
2015-11-12 21:49:27 -08:00
ld hl, wcda9
ld de, wcda9 + $10
2015-11-20 12:15:32 -08:00
ld a, SCGB_01
2013-09-09 11:33:04 -07:00
ld [SGBPredef], a
ret
; 873c
.SGB0e: ; 873c
ld hl, PalPacket_9bd6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
2015-11-12 21:49:27 -08:00
ld hl, wcda9 + 1
2013-09-09 11:33:04 -07:00
ld [hl], $10
2015-07-20 19:18:18 -07:00
rept 2
2013-09-09 11:33:04 -07:00
inc hl
2015-07-20 19:18:18 -07:00
endr
2015-11-12 21:49:27 -08:00
2013-09-09 11:33:04 -07:00
ld a, [PlayerHPPal]
add $2f
ld [hl], a
ld hl, wcda9
ld de, BlkPacket_9ad6
2013-09-09 11:33:04 -07:00
ret
; 875c
.SGB02: ; 875c
ld hl, PalPacket_9c76
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 8763
.SGB03: ; 8763
ld hl, PalPacket_9ce6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
ld a, [wcda1]
2013-09-09 11:33:04 -07:00
ld l, a
ld h, $0
2015-07-20 19:18:18 -07:00
rept 2
2013-09-09 11:33:04 -07:00
add hl, hl
2015-07-20 19:18:18 -07:00
endr
ld de, Palettes_a8be
2013-09-09 11:33:04 -07:00
add hl, de
ld a, [hli]
ld [wcda9 + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + 6], a
2013-09-09 11:33:04 -07:00
ld a, [CurPartySpecies]
ld bc, wd10e + 21
2015-12-16 18:57:42 -08:00
call GetPlayerOrMonPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 9], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 10], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 11], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + 12], a
ld hl, wcda9
ld de, BlkPacket_9ac6
2013-09-09 11:33:04 -07:00
ret
; 87ab
.SGB0a: ; 87ab
ld hl, PalPacket_9c56
ld de, wcda9 + 1
2013-09-09 11:33:04 -07:00
ret
; 87b2
.SGB04: ; 87b2
ld hl, PalPacket_9ce6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
ld hl, wcda9 + 3
2013-09-09 11:33:04 -07:00
ld [hl], $9f
inc hl
ld [hl], $2a
inc hl
ld [hl], $5a
inc hl
ld [hl], $19
ld a, [CurPartySpecies]
2015-12-16 18:57:42 -08:00
call GetMonPalettePointer_
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 9], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 10], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 11], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + 12], a
ld hl, wcda9
ld de, BlkPacket_9ae6
2013-09-09 11:33:04 -07:00
ret
; 87e9
.SGB17: ; 87e9
ld hl, PalPacket_9ce6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
ld hl, wcda9 + 3
2013-09-09 11:33:04 -07:00
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
2015-12-16 18:57:42 -08:00
call GetPlayerOrMonPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 9], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 10], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 11], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + 12], a
ld hl, wcda9
ld de, BlkPacket_9ae6
2013-09-09 11:33:04 -07:00
ret
; 8823
.SGB16: ; 8823
call .SGB04
ld de, BlkPacket_9af6
2013-09-09 11:33:04 -07:00
ret
; 882a
.SGB10: ; 882a
ld hl, PalPacket_9ce6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
ld hl, wcda9 + 3
2013-09-09 11:33:04 -07:00
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
2013-09-09 11:33:04 -07:00
ret
; 884b
.SGB14: ; 884b
ld hl, PalPacket_9c36
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 8852
.SGB05: ; 8852
ld hl, PalPacket_9c96
ld de, BlkPacket_9b06
2013-09-09 11:33:04 -07:00
ret
; 8859
.SGB06: ; 8859
ld hl, PalPacket_9ca6
ld de, BlkPacket_9b76
2013-09-09 11:33:04 -07:00
ret
; 8860
2015-11-12 21:49:27 -08:00
.SGB08:
.SGB1d: ; 8860
ld hl, PalPacket_9cb6
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 8867
.SGB07: ; 8867
ld b, 0
ld hl, .BlkPacketTable_SGB07
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
; 8878
.BlkPacketTable_SGB07: ; 8878
dw BlkPacket_9a86, PalPacket_9be6
dw BlkPacket_9a96, PalPacket_9c06
dw BlkPacket_9a86, PalPacket_9c16
; 8884
2013-09-09 11:33:04 -07:00
.SGB0c: ; 8884
ld hl, PalPacket_9b96
ld de, BlkPacket_9b56
2015-11-20 12:15:32 -08:00
ld a, SCGB_08
2013-09-09 11:33:04 -07:00
ld [SGBPredef], a
ret
; 8890
.SGB13: ; 8890
ld hl, PalPacket_9ba6
ld de, BlkPacket_9b86
2013-09-09 11:33:04 -07:00
ret
; 8897
.SGB0f: ; 8897
ld hl, PalPacket_9c46
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 889e
.SGB11: ; 889e
ld hl, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ld de, PlayerLightScreenCount
ld bc, $0010
call CopyBytes
ld hl, PalPacket_9bb6
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 88b1
.SGB09: ; 88b1
ld hl, PalPacket_9bd6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
call .GetPermission
ld hl, wcda9 + 1
2013-09-09 11:33:04 -07:00
ld [hld], a
ld de, BlkPacket_9a86
2015-11-20 12:15:32 -08:00
ld a, SCGB_09
2013-09-09 11:33:04 -07:00
ld [SGBPredef], a
ret
; 88cd
.SGB0b: ; 88cd
2013-09-09 11:33:04 -07:00
push bc
ld hl, PalPacket_9ce6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
pop bc
ld a, c
and a
jr z, .asm_88ef
ld hl, wcda9 + 3
2013-09-09 11:33:04 -07:00
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]
2015-12-16 18:57:42 -08:00
call GetPlayerOrMonPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + 6], a
2013-09-09 11:33:04 -07:00
.asm_8913
ld hl, wcda9
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 891a
2015-11-12 21:49:27 -08:00
.SGB0d:
.SGB15: ; 891a
ld hl, PalPacket_9cb6
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 8921
.SGB18: ; 8921
ld hl, PalPacket_9bc6
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 8928
.SGB12: ; 8928
ld hl, PalPacket_9bd6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
ld hl, BlkPacket_9a86
ld de, wcda9 + $10
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
call .GetPermission
ld hl, wcda9 + 1
2013-09-09 11:33:04 -07:00
ld [hl], a
ld hl, wcda9 + 3
2013-09-09 11:33:04 -07:00
ld [hl], $2e
ld hl, wcda9 + $13
2013-09-09 11:33:04 -07:00
ld a, $5
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, wcda9
ld de, wcda9 + $10
2013-09-09 11:33:04 -07:00
ret
; 8969
.SGB1e: ; 8969
ld hl, PalPacket_9ce6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
ld a, [CurPartySpecies]
ld l, a
ld h, 0
2015-07-20 19:18:18 -07:00
rept 3
2013-09-09 11:33:04 -07:00
add hl, hl
2015-07-20 19:18:18 -07:00
endr
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 [wcda9 + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + 6], a
ld hl, wcda9
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 89a6
.SGB19: ; 89a6
ld hl, PalPacket_9cd6
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 89ad
.SGB1a: ; 89ad
ld hl, PalPacket_9ce6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
ld a, [CurPartySpecies]
ld bc, wd10e + 21
2015-12-16 18:57:42 -08:00
call GetPlayerOrMonPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + 6], a
ld hl, wcda9
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 89d9
.SGB1b: ; 89d9
ld hl, PalPacket_9cc6
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 89e0
.SGB1c: ; 89e0
ld hl, PalPacket_9ce6
ld de, wcda9
2013-09-09 11:33:04 -07:00
ld bc, $0010
call CopyBytes
ld a, [CurPartySpecies]
ld bc, wd10e + 21
2015-12-16 18:57:42 -08:00
call GetFrontpicPalettePointer
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 3], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 4], a
2013-09-09 11:33:04 -07:00
ld a, [hli]
ld [wcda9 + 5], a
2013-09-09 11:33:04 -07:00
ld a, [hl]
ld [wcda9 + 6], a
ld hl, wcda9
ld de, BlkPacket_9a86
2013-09-09 11:33:04 -07:00
ret
; 8a0c
.GetPermission: ; 8a0c
2013-09-09 11:33:04 -07:00
ld a, [TimeOfDayPal]
cp $2
jr c, .asm_8a16
ld a, $19
ret
.asm_8a16
ld a, [wPermission]
2013-09-09 11:33:04 -07:00
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
2013-09-09 11:33:04 -07:00
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
2013-09-09 11:33:04 -07:00
.Finish: ; 8a60
2013-09-09 11:33:04 -07:00
push de
call Function9809
pop hl
jp Function9809
; 8a68