mirror of https://github.com/pret/pokecrystal.git
Add more missing files
This commit is contained in:
parent
33506f382a
commit
5322b56a83
|
@ -1523,7 +1523,7 @@ RadioChannels:
|
||||||
dbw 72, .LetsAllSing
|
dbw 72, .LetsAllSing
|
||||||
dbw 78, .PokeFluteRadio
|
dbw 78, .PokeFluteRadio
|
||||||
dbw 80, .EvolutionRadio
|
dbw 80, .EvolutionRadio
|
||||||
db $ff
|
db -1
|
||||||
|
|
||||||
.PkmnTalkAndPokedexShow
|
.PkmnTalkAndPokedexShow
|
||||||
; Pokédex Show in the morning
|
; Pokédex Show in the morning
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
Pokepic:: ; 244e3
|
||||||
|
ld hl, PokepicMenuDataHeader
|
||||||
|
call CopyMenuDataHeader
|
||||||
|
call MenuBox
|
||||||
|
call UpdateSprites
|
||||||
|
call ApplyTilemap
|
||||||
|
ld b, SCGB_POKEPIC
|
||||||
|
call GetSGBLayout
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
ld a, [CurPartySpecies]
|
||||||
|
ld [CurSpecies], a
|
||||||
|
call GetBaseData
|
||||||
|
ld de, VTiles1
|
||||||
|
predef GetFrontpic
|
||||||
|
ld a, [wMenuBorderTopCoord]
|
||||||
|
inc a
|
||||||
|
ld b, a
|
||||||
|
ld a, [wMenuBorderLeftCoord]
|
||||||
|
inc a
|
||||||
|
ld c, a
|
||||||
|
call Coord2Tile
|
||||||
|
ld a, $80
|
||||||
|
ld [hGraphicStartTile], a
|
||||||
|
lb bc, 7, 7
|
||||||
|
predef PlaceGraphic
|
||||||
|
call WaitBGMap
|
||||||
|
ret
|
||||||
|
|
||||||
|
ClosePokepic:: ; 24528
|
||||||
|
ld hl, PokepicMenuDataHeader
|
||||||
|
call CopyMenuDataHeader
|
||||||
|
call ClearMenuBoxInterior
|
||||||
|
call WaitBGMap
|
||||||
|
call GetMemSGBLayout
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
call OverworldTextModeSwitch
|
||||||
|
call ApplyTilemap
|
||||||
|
call UpdateSprites
|
||||||
|
call LoadStandardFont
|
||||||
|
ret
|
||||||
|
|
||||||
|
PokepicMenuDataHeader: ; 0x24547
|
||||||
|
db $40 ; flags
|
||||||
|
db 04, 06 ; start coords
|
||||||
|
db 13, 14 ; end coords
|
||||||
|
dw NULL
|
||||||
|
db 1 ; default option
|
|
@ -0,0 +1,490 @@
|
||||||
|
GetUnownLetter: ; 51040
|
||||||
|
; Return Unown letter in UnownLetter based on DVs at hl
|
||||||
|
|
||||||
|
; Take the middle 2 bits of each DV and place them in order:
|
||||||
|
; atk def spd spc
|
||||||
|
; .ww..xx. .yy..zz.
|
||||||
|
|
||||||
|
; atk
|
||||||
|
ld a, [hl]
|
||||||
|
and %01100000
|
||||||
|
sla a
|
||||||
|
ld b, a
|
||||||
|
; def
|
||||||
|
ld a, [hli]
|
||||||
|
and %00000110
|
||||||
|
swap a
|
||||||
|
srl a
|
||||||
|
or b
|
||||||
|
ld b, a
|
||||||
|
|
||||||
|
; spd
|
||||||
|
ld a, [hl]
|
||||||
|
and %01100000
|
||||||
|
swap a
|
||||||
|
sla a
|
||||||
|
or b
|
||||||
|
ld b, a
|
||||||
|
; spc
|
||||||
|
ld a, [hl]
|
||||||
|
and %00000110
|
||||||
|
srl a
|
||||||
|
or b
|
||||||
|
|
||||||
|
; Divide by 10 to get 0-25
|
||||||
|
ld [hDividend + 3], a
|
||||||
|
xor a
|
||||||
|
ld [hDividend], a
|
||||||
|
ld [hDividend + 1], a
|
||||||
|
ld [hDividend + 2], a
|
||||||
|
ld a, 10
|
||||||
|
ld [hDivisor], a
|
||||||
|
ld b, 4
|
||||||
|
call Divide
|
||||||
|
|
||||||
|
; Increment to get 1-26
|
||||||
|
ld a, [hQuotient + 2]
|
||||||
|
inc a
|
||||||
|
ld [UnownLetter], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
GetFrontpic: ; 51077
|
||||||
|
ld a, [CurPartySpecies]
|
||||||
|
ld [CurSpecies], a
|
||||||
|
call IsAPokemon
|
||||||
|
ret c
|
||||||
|
ld a, [rSVBK]
|
||||||
|
push af
|
||||||
|
call _GetFrontpic
|
||||||
|
pop af
|
||||||
|
ld [rSVBK], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
FrontpicPredef: ; 5108b
|
||||||
|
ld a, [CurPartySpecies]
|
||||||
|
ld [CurSpecies], a
|
||||||
|
call IsAPokemon
|
||||||
|
ret c
|
||||||
|
ld a, [rSVBK]
|
||||||
|
push af
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
call _GetFrontpic
|
||||||
|
call Function51103
|
||||||
|
pop af
|
||||||
|
ld [rSVBK], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
_GetFrontpic: ; 510a5
|
||||||
|
push de
|
||||||
|
call GetBaseData
|
||||||
|
ld a, [BasePicSize]
|
||||||
|
and $f
|
||||||
|
ld b, a
|
||||||
|
push bc
|
||||||
|
call GetFrontpicPointer
|
||||||
|
ld a, $6
|
||||||
|
ld [rSVBK], a
|
||||||
|
ld a, b
|
||||||
|
ld de, wDecompressScratch + $800
|
||||||
|
call FarDecompress
|
||||||
|
pop bc
|
||||||
|
ld hl, wDecompressScratch
|
||||||
|
ld de, wDecompressScratch + $800
|
||||||
|
call Function512ab
|
||||||
|
pop hl
|
||||||
|
push hl
|
||||||
|
ld de, wDecompressScratch
|
||||||
|
ld c, 7 * 7
|
||||||
|
ld a, [hROMBank]
|
||||||
|
ld b, a
|
||||||
|
call Get2bpp
|
||||||
|
pop hl
|
||||||
|
ret
|
||||||
|
|
||||||
|
GetFrontpicPointer: ; 510d7
|
||||||
|
GLOBAL PicPointers, UnownPicPointers
|
||||||
|
|
||||||
|
ld a, [CurPartySpecies]
|
||||||
|
cp UNOWN
|
||||||
|
jr z, .unown
|
||||||
|
ld a, [CurPartySpecies]
|
||||||
|
ld d, BANK(PicPointers)
|
||||||
|
jr .ok
|
||||||
|
|
||||||
|
.unown
|
||||||
|
ld a, [UnownLetter]
|
||||||
|
ld d, BANK(UnownPicPointers)
|
||||||
|
|
||||||
|
.ok
|
||||||
|
ld hl, PicPointers ; UnownPicPointers
|
||||||
|
dec a
|
||||||
|
ld bc, 6
|
||||||
|
call AddNTimes
|
||||||
|
ld a, d
|
||||||
|
call GetFarByte
|
||||||
|
call FixPicBank
|
||||||
|
push af
|
||||||
|
inc hl
|
||||||
|
ld a, d
|
||||||
|
call GetFarHalfword
|
||||||
|
pop bc
|
||||||
|
ret
|
||||||
|
|
||||||
|
Function51103: ; 51103
|
||||||
|
ld a, $1
|
||||||
|
ld [rVBK], a
|
||||||
|
push hl
|
||||||
|
ld de, wDecompressScratch
|
||||||
|
ld c, 7 * 7
|
||||||
|
ld a, [hROMBank]
|
||||||
|
ld b, a
|
||||||
|
call Get2bpp
|
||||||
|
pop hl
|
||||||
|
ld de, 7 * 7 tiles
|
||||||
|
add hl, de
|
||||||
|
push hl
|
||||||
|
ld a, $1
|
||||||
|
ld hl, BasePicSize
|
||||||
|
call GetFarWRAMByte
|
||||||
|
pop hl
|
||||||
|
and $f
|
||||||
|
ld de, w6_d800 + 5 * 5 tiles
|
||||||
|
ld c, 5 * 5
|
||||||
|
cp 5
|
||||||
|
jr z, .got_dims
|
||||||
|
ld de, w6_d800 + 6 * 6 tiles
|
||||||
|
ld c, 6 * 6
|
||||||
|
cp 6
|
||||||
|
jr z, .got_dims
|
||||||
|
ld de, w6_d800 + 7 * 7 tiles
|
||||||
|
ld c, 7 * 7
|
||||||
|
.got_dims
|
||||||
|
|
||||||
|
push hl
|
||||||
|
push bc
|
||||||
|
call Function5114f
|
||||||
|
pop bc
|
||||||
|
pop hl
|
||||||
|
ld de, wDecompressScratch
|
||||||
|
ld a, [hROMBank]
|
||||||
|
ld b, a
|
||||||
|
call Get2bpp
|
||||||
|
xor a
|
||||||
|
ld [rVBK], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
Function5114f: ; 5114f
|
||||||
|
ld hl, wDecompressScratch
|
||||||
|
swap c
|
||||||
|
ld a, c
|
||||||
|
and $f
|
||||||
|
ld b, a
|
||||||
|
ld a, c
|
||||||
|
and $f0
|
||||||
|
ld c, a
|
||||||
|
push bc
|
||||||
|
call LoadFrontpic
|
||||||
|
pop bc
|
||||||
|
.asm_51161
|
||||||
|
push bc
|
||||||
|
ld c, $0
|
||||||
|
call LoadFrontpic
|
||||||
|
pop bc
|
||||||
|
dec b
|
||||||
|
jr nz, .asm_51161
|
||||||
|
ret
|
||||||
|
|
||||||
|
GetBackpic: ; 5116c
|
||||||
|
ld a, [CurPartySpecies]
|
||||||
|
call IsAPokemon
|
||||||
|
ret c
|
||||||
|
|
||||||
|
ld a, [CurPartySpecies]
|
||||||
|
ld b, a
|
||||||
|
ld a, [UnownLetter]
|
||||||
|
ld c, a
|
||||||
|
ld a, [rSVBK]
|
||||||
|
push af
|
||||||
|
ld a, $6
|
||||||
|
ld [rSVBK], a
|
||||||
|
push de
|
||||||
|
|
||||||
|
; These are assumed to be at the same
|
||||||
|
; address in their respective banks.
|
||||||
|
GLOBAL PicPointers, UnownPicPointers
|
||||||
|
ld hl, PicPointers ; UnownPicPointers
|
||||||
|
ld a, b
|
||||||
|
ld d, BANK(PicPointers)
|
||||||
|
cp UNOWN
|
||||||
|
jr nz, .ok
|
||||||
|
ld a, c
|
||||||
|
ld d, BANK(UnownPicPointers)
|
||||||
|
.ok
|
||||||
|
dec a
|
||||||
|
ld bc, 6
|
||||||
|
call AddNTimes
|
||||||
|
ld bc, 3
|
||||||
|
add hl, bc
|
||||||
|
ld a, d
|
||||||
|
call GetFarByte
|
||||||
|
call FixPicBank
|
||||||
|
push af
|
||||||
|
inc hl
|
||||||
|
ld a, d
|
||||||
|
call GetFarHalfword
|
||||||
|
ld de, wDecompressScratch
|
||||||
|
pop af
|
||||||
|
call FarDecompress
|
||||||
|
ld hl, wDecompressScratch
|
||||||
|
ld c, 6 * 6
|
||||||
|
call FixBackpicAlignment
|
||||||
|
pop hl
|
||||||
|
ld de, wDecompressScratch
|
||||||
|
ld a, [hROMBank]
|
||||||
|
ld b, a
|
||||||
|
call Get2bpp
|
||||||
|
pop af
|
||||||
|
ld [rSVBK], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
FixPicBank: ; 511c5
|
||||||
|
; This is a thing for some reason.
|
||||||
|
push hl
|
||||||
|
push bc
|
||||||
|
sub PICS_1 - PICS_FIX
|
||||||
|
ld c, a
|
||||||
|
ld b, 0
|
||||||
|
ld hl, .PicsBanks
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
pop bc
|
||||||
|
pop hl
|
||||||
|
ret
|
||||||
|
|
||||||
|
.PicsBanks: ; 511d4
|
||||||
|
db PICS_1
|
||||||
|
db PICS_2
|
||||||
|
db PICS_3
|
||||||
|
db PICS_4
|
||||||
|
db PICS_5
|
||||||
|
db PICS_6
|
||||||
|
db PICS_7
|
||||||
|
db PICS_8
|
||||||
|
db PICS_9
|
||||||
|
db PICS_10
|
||||||
|
db PICS_11
|
||||||
|
db PICS_12
|
||||||
|
db PICS_13
|
||||||
|
db PICS_14
|
||||||
|
db PICS_15
|
||||||
|
db PICS_16
|
||||||
|
db PICS_17
|
||||||
|
db PICS_18
|
||||||
|
db PICS_19
|
||||||
|
db PICS_19 + 1
|
||||||
|
db PICS_19 + 2
|
||||||
|
db PICS_19 + 3
|
||||||
|
db PICS_19 + 4
|
||||||
|
db PICS_19 + 5
|
||||||
|
|
||||||
|
Function511ec: ; 511ec
|
||||||
|
ld a, c
|
||||||
|
push de
|
||||||
|
ld hl, PicPointers
|
||||||
|
dec a
|
||||||
|
ld bc, 6
|
||||||
|
call AddNTimes
|
||||||
|
ld a, BANK(PicPointers)
|
||||||
|
call GetFarByte
|
||||||
|
call FixPicBank
|
||||||
|
push af
|
||||||
|
inc hl
|
||||||
|
ld a, BANK(PicPointers)
|
||||||
|
call GetFarHalfword
|
||||||
|
pop af
|
||||||
|
pop de
|
||||||
|
call FarDecompress
|
||||||
|
ret
|
||||||
|
|
||||||
|
GetTrainerPic: ; 5120d
|
||||||
|
ld a, [TrainerClass]
|
||||||
|
and a
|
||||||
|
ret z
|
||||||
|
cp NUM_TRAINER_CLASSES
|
||||||
|
ret nc
|
||||||
|
call WaitBGMap
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
ld hl, TrainerPicPointers
|
||||||
|
ld a, [TrainerClass]
|
||||||
|
dec a
|
||||||
|
ld bc, 3
|
||||||
|
call AddNTimes
|
||||||
|
ld a, [rSVBK]
|
||||||
|
push af
|
||||||
|
ld a, $6
|
||||||
|
ld [rSVBK], a
|
||||||
|
push de
|
||||||
|
ld a, BANK(TrainerPicPointers)
|
||||||
|
call GetFarByte
|
||||||
|
call FixPicBank
|
||||||
|
push af
|
||||||
|
inc hl
|
||||||
|
ld a, BANK(TrainerPicPointers)
|
||||||
|
call GetFarHalfword
|
||||||
|
pop af
|
||||||
|
ld de, wDecompressScratch
|
||||||
|
call FarDecompress
|
||||||
|
pop hl
|
||||||
|
ld de, wDecompressScratch
|
||||||
|
ld c, 7 * 7
|
||||||
|
ld a, [hROMBank]
|
||||||
|
ld b, a
|
||||||
|
call Get2bpp
|
||||||
|
pop af
|
||||||
|
ld [rSVBK], a
|
||||||
|
call WaitBGMap
|
||||||
|
ld a, $1
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
DecompressPredef: ; 5125d
|
||||||
|
; Decompress lz data from b:hl to scratch space at 6:d000, then copy it to address de.
|
||||||
|
|
||||||
|
ld a, [rSVBK]
|
||||||
|
push af
|
||||||
|
ld a, 6
|
||||||
|
ld [rSVBK], a
|
||||||
|
|
||||||
|
push de
|
||||||
|
push bc
|
||||||
|
ld a, b
|
||||||
|
ld de, wDecompressScratch
|
||||||
|
call FarDecompress
|
||||||
|
pop bc
|
||||||
|
ld de, wDecompressScratch
|
||||||
|
pop hl
|
||||||
|
ld a, [hROMBank]
|
||||||
|
ld b, a
|
||||||
|
call Get2bpp
|
||||||
|
|
||||||
|
pop af
|
||||||
|
ld [rSVBK], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
FixBackpicAlignment: ; 5127c
|
||||||
|
push de
|
||||||
|
push bc
|
||||||
|
ld a, [wBoxAlignment]
|
||||||
|
and a
|
||||||
|
jr z, .keep_dims
|
||||||
|
ld a, c
|
||||||
|
cp 7 * 7
|
||||||
|
ld de, 7 * 7 tiles
|
||||||
|
jr z, .got_dims
|
||||||
|
cp 6 * 6
|
||||||
|
ld de, 6 * 6 tiles
|
||||||
|
jr z, .got_dims
|
||||||
|
ld de, 5 * 5 tiles
|
||||||
|
|
||||||
|
.got_dims
|
||||||
|
ld a, [hl]
|
||||||
|
ld b, $0
|
||||||
|
ld c, $8
|
||||||
|
.loop
|
||||||
|
rra
|
||||||
|
rl b
|
||||||
|
dec c
|
||||||
|
jr nz, .loop
|
||||||
|
ld a, b
|
||||||
|
ld [hli], a
|
||||||
|
dec de
|
||||||
|
ld a, e
|
||||||
|
or d
|
||||||
|
jr nz, .got_dims
|
||||||
|
|
||||||
|
.keep_dims
|
||||||
|
pop bc
|
||||||
|
pop de
|
||||||
|
ret
|
||||||
|
|
||||||
|
Function512ab: ; 512ab
|
||||||
|
ld a, b
|
||||||
|
cp 6
|
||||||
|
jr z, .six
|
||||||
|
cp 5
|
||||||
|
jr z, .five
|
||||||
|
|
||||||
|
.seven_loop
|
||||||
|
ld c, $70
|
||||||
|
call LoadFrontpic
|
||||||
|
dec b
|
||||||
|
jr nz, .seven_loop
|
||||||
|
ret
|
||||||
|
|
||||||
|
.six
|
||||||
|
ld c, $70
|
||||||
|
xor a
|
||||||
|
call .Fill
|
||||||
|
.six_loop
|
||||||
|
ld c, $10
|
||||||
|
xor a
|
||||||
|
call .Fill
|
||||||
|
ld c, $60
|
||||||
|
call LoadFrontpic
|
||||||
|
dec b
|
||||||
|
jr nz, .six_loop
|
||||||
|
ret
|
||||||
|
|
||||||
|
.five
|
||||||
|
ld c, $70
|
||||||
|
xor a
|
||||||
|
call .Fill
|
||||||
|
.five_loop
|
||||||
|
ld c, $20
|
||||||
|
xor a
|
||||||
|
call .Fill
|
||||||
|
ld c, $50
|
||||||
|
call LoadFrontpic
|
||||||
|
dec b
|
||||||
|
jr nz, .five_loop
|
||||||
|
ld c, $70
|
||||||
|
xor a
|
||||||
|
call .Fill
|
||||||
|
ret
|
||||||
|
|
||||||
|
.Fill
|
||||||
|
ld [hli], a
|
||||||
|
dec c
|
||||||
|
jr nz, .Fill
|
||||||
|
ret
|
||||||
|
|
||||||
|
LoadFrontpic: ; 512f2
|
||||||
|
ld a, [wBoxAlignment]
|
||||||
|
and a
|
||||||
|
jr nz, .x_flip
|
||||||
|
.left_loop
|
||||||
|
ld a, [de]
|
||||||
|
inc de
|
||||||
|
ld [hli], a
|
||||||
|
dec c
|
||||||
|
jr nz, .left_loop
|
||||||
|
ret
|
||||||
|
|
||||||
|
.x_flip
|
||||||
|
push bc
|
||||||
|
.right_loop
|
||||||
|
ld a, [de]
|
||||||
|
inc de
|
||||||
|
ld b, a
|
||||||
|
xor a
|
||||||
|
rept 8
|
||||||
|
rr b
|
||||||
|
rla
|
||||||
|
endr
|
||||||
|
ld [hli], a
|
||||||
|
dec c
|
||||||
|
jr nz, .right_loop
|
||||||
|
pop bc
|
||||||
|
ret
|
Binary file not shown.
Loading…
Reference in New Issue