mirror of https://github.com/pret/pokecrystal.git
264 lines
4.0 KiB
NASM
264 lines
4.0 KiB
NASM
|
Function88248: ; 88248
|
||
|
; XXX
|
||
|
ld c, CAL
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
jr z, .okay
|
||
|
ld c, KAREN
|
||
|
|
||
|
.okay
|
||
|
ld a, c
|
||
|
ld [TrainerClass], a
|
||
|
ret
|
||
|
|
||
|
MovePlayerPicRight: ; 88258
|
||
|
hlcoord 6, 4
|
||
|
ld de, 1
|
||
|
jr MovePlayerPic
|
||
|
|
||
|
MovePlayerPicLeft: ; 88260
|
||
|
hlcoord 13, 4
|
||
|
ld de, -1
|
||
|
; fallthrough
|
||
|
|
||
|
MovePlayerPic: ; 88266
|
||
|
; Move player pic at hl by de * 7 tiles.
|
||
|
ld c, $8
|
||
|
.loop
|
||
|
push bc
|
||
|
push hl
|
||
|
push de
|
||
|
xor a
|
||
|
ld [hBGMapMode], a
|
||
|
lb bc, 7, 7
|
||
|
predef PlaceGraphic
|
||
|
xor a
|
||
|
ld [hBGMapThird], a
|
||
|
call WaitBGMap
|
||
|
call DelayFrame
|
||
|
pop de
|
||
|
pop hl
|
||
|
add hl, de
|
||
|
pop bc
|
||
|
dec c
|
||
|
ret z
|
||
|
push hl
|
||
|
push bc
|
||
|
ld a, l
|
||
|
sub e
|
||
|
ld l, a
|
||
|
ld a, h
|
||
|
sbc d
|
||
|
ld h, a
|
||
|
lb bc, 7, 7
|
||
|
call ClearBox
|
||
|
pop bc
|
||
|
pop hl
|
||
|
jr .loop
|
||
|
|
||
|
ShowPlayerNamingChoices: ; 88297
|
||
|
ld hl, ChrisNameMenuHeader
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
jr z, .GotGender
|
||
|
ld hl, KrisNameMenuHeader
|
||
|
.GotGender:
|
||
|
call LoadMenuDataHeader
|
||
|
call VerticalMenu
|
||
|
ld a, [wMenuCursorY]
|
||
|
dec a
|
||
|
call CopyNameFromMenu
|
||
|
call CloseWindow
|
||
|
ret
|
||
|
|
||
|
ChrisNameMenuHeader: ; 882b5
|
||
|
db $40 ; flags
|
||
|
db 00, 00 ; start coords
|
||
|
db 11, 10 ; end coords
|
||
|
dw .MaleNames
|
||
|
db 1 ; ????
|
||
|
db 0 ; default option
|
||
|
|
||
|
.MaleNames: ; 882be
|
||
|
db $91 ; flags
|
||
|
db 5 ; items
|
||
|
db "NEW NAME@"
|
||
|
MalePlayerNameArray: ; 882c9
|
||
|
db "CHRIS@"
|
||
|
db "MAT@"
|
||
|
db "ALLAN@"
|
||
|
db "JON@"
|
||
|
db 2 ; displacement
|
||
|
db " NAME @" ; title
|
||
|
|
||
|
KrisNameMenuHeader: ; 882e5
|
||
|
db $40 ; flags
|
||
|
db 00, 00 ; start coords
|
||
|
db 11, 10 ; end coords
|
||
|
dw .FemaleNames
|
||
|
db 1 ; ????
|
||
|
db 0 ; default option
|
||
|
|
||
|
.FemaleNames: ; 882ee
|
||
|
db $91 ; flags
|
||
|
db 5 ; items
|
||
|
db "NEW NAME@"
|
||
|
FemalePlayerNameArray: ; 882f9
|
||
|
db "KRIS@"
|
||
|
db "AMANDA@"
|
||
|
db "JUANA@"
|
||
|
db "JODI@"
|
||
|
db 2 ; displacement
|
||
|
db " NAME @" ; title
|
||
|
|
||
|
GetPlayerNameArray: ; 88318 This Function is never called
|
||
|
ld hl, PlayerName
|
||
|
ld de, MalePlayerNameArray
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
jr z, .done
|
||
|
ld de, FemalePlayerNameArray
|
||
|
|
||
|
.done
|
||
|
call InitName
|
||
|
ret
|
||
|
|
||
|
GetPlayerIcon: ; 8832c
|
||
|
; Get the player icon corresponding to gender
|
||
|
|
||
|
; Male
|
||
|
ld de, ChrisSpriteGFX
|
||
|
ld b, BANK(ChrisSpriteGFX)
|
||
|
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
jr z, .done
|
||
|
|
||
|
; Female
|
||
|
ld de, KrisSpriteGFX
|
||
|
ld b, BANK(KrisSpriteGFX)
|
||
|
|
||
|
.done
|
||
|
ret
|
||
|
|
||
|
GetCardPic: ; 8833e
|
||
|
ld hl, ChrisCardPic
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
jr z, .GotClass
|
||
|
ld hl, KrisCardPic
|
||
|
.GotClass:
|
||
|
ld de, VTiles2 tile $00
|
||
|
ld bc, $23 tiles
|
||
|
ld a, BANK(ChrisCardPic) ; BANK(KrisCardPic)
|
||
|
call FarCopyBytes
|
||
|
ld hl, CardGFX
|
||
|
ld de, VTiles2 tile $23
|
||
|
ld bc, 6 tiles
|
||
|
ld a, BANK(CardGFX)
|
||
|
call FarCopyBytes
|
||
|
ret
|
||
|
|
||
|
ChrisCardPic: ; 88365
|
||
|
INCBIN "gfx/trainer_card/chris_card.2bpp"
|
||
|
|
||
|
KrisCardPic: ; 88595
|
||
|
INCBIN "gfx/trainer_card/kris_card.2bpp"
|
||
|
|
||
|
CardGFX: ; 887c5
|
||
|
INCBIN "gfx/trainer_card/trainer_card.2bpp"
|
||
|
|
||
|
GetPlayerBackpic: ; 88825
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
jr z, GetChrisBackpic
|
||
|
call GetKrisBackpic
|
||
|
ret
|
||
|
|
||
|
GetChrisBackpic: ; 88830
|
||
|
ld hl, ChrisBackpic
|
||
|
ld b, BANK(ChrisBackpic)
|
||
|
ld de, VTiles2 tile $31
|
||
|
ld c, 7 * 7
|
||
|
predef DecompressPredef
|
||
|
ret
|
||
|
|
||
|
HOF_LoadTrainerFrontpic: ; 88840
|
||
|
call WaitBGMap
|
||
|
xor a
|
||
|
ld [hBGMapMode], a
|
||
|
ld e, 0
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
jr z, .GotClass
|
||
|
ld e, 1
|
||
|
|
||
|
.GotClass:
|
||
|
ld a, e
|
||
|
ld [TrainerClass], a
|
||
|
ld de, ChrisPic
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
jr z, .GotPic
|
||
|
ld de, KrisPic
|
||
|
|
||
|
.GotPic:
|
||
|
ld hl, VTiles2
|
||
|
ld b, BANK(ChrisPic) ; BANK(KrisPic)
|
||
|
ld c, 7 * 7
|
||
|
call Get2bpp
|
||
|
call WaitBGMap
|
||
|
ld a, $1
|
||
|
ld [hBGMapMode], a
|
||
|
ret
|
||
|
|
||
|
DrawIntroPlayerPic: ; 88874
|
||
|
; Draw the player pic at (6,4).
|
||
|
|
||
|
; Get class
|
||
|
ld e, CHRIS
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
jr z, .GotClass
|
||
|
ld e, KRIS
|
||
|
.GotClass:
|
||
|
ld a, e
|
||
|
ld [TrainerClass], a
|
||
|
|
||
|
; Load pic
|
||
|
ld de, ChrisPic
|
||
|
ld a, [PlayerGender]
|
||
|
bit 0, a
|
||
|
jr z, .GotPic
|
||
|
ld de, KrisPic
|
||
|
.GotPic:
|
||
|
ld hl, VTiles2
|
||
|
ld b, BANK(ChrisPic) ; BANK(KrisPic)
|
||
|
ld c, 7 * 7 ; dimensions
|
||
|
call Get2bpp
|
||
|
|
||
|
; Draw
|
||
|
xor a
|
||
|
ld [hGraphicStartTile], a
|
||
|
hlcoord 6, 4
|
||
|
lb bc, 7, 7
|
||
|
predef PlaceGraphic
|
||
|
ret
|
||
|
|
||
|
ChrisPic: ; 888a9
|
||
|
INCBIN "gfx/player/chris.2bpp"
|
||
|
|
||
|
KrisPic: ; 88bb9
|
||
|
INCBIN "gfx/player/kris.2bpp"
|
||
|
|
||
|
GetKrisBackpic: ; 88ec9
|
||
|
; Kris's backpic is uncompressed.
|
||
|
ld de, KrisBackpic
|
||
|
ld hl, VTiles2 tile $31
|
||
|
lb bc, BANK(KrisBackpic), 7 * 7 ; dimensions
|
||
|
call Get2bpp
|
||
|
ret
|
||
|
|
||
|
KrisBackpic: ; 88ed6
|
||
|
INCBIN "gfx/player/kris_back.2bpp"
|