mirror of https://github.com/pret/pokecrystal.git
264 lines
4.1 KiB
NASM
264 lines
4.1 KiB
NASM
|
PlaceMenuItemName: ; 0x24ab4
|
|||
|
push de
|
|||
|
ld a, [MenuSelection]
|
|||
|
ld [wNamedObjectIndexBuffer], a
|
|||
|
call GetItemName
|
|||
|
pop hl
|
|||
|
call PlaceString
|
|||
|
ret
|
|||
|
|
|||
|
PlaceMenuItemQuantity: ; 0x24ac3
|
|||
|
push de
|
|||
|
ld a, [MenuSelection]
|
|||
|
ld [CurItem], a
|
|||
|
callba _CheckTossableItem
|
|||
|
ld a, [wItemAttributeParamBuffer]
|
|||
|
pop hl
|
|||
|
and a
|
|||
|
jr nz, .done
|
|||
|
ld de, $15
|
|||
|
add hl, de
|
|||
|
ld [hl], "×"
|
|||
|
inc hl
|
|||
|
ld de, MenuSelectionQuantity
|
|||
|
lb bc, 1, 2
|
|||
|
call PrintNum
|
|||
|
|
|||
|
.done
|
|||
|
ret
|
|||
|
|
|||
|
PlaceMoneyTopRight: ; 24ae8
|
|||
|
ld hl, MenuDataHeader_0x24b15
|
|||
|
call CopyMenuDataHeader
|
|||
|
jr PlaceMoneyDataHeader
|
|||
|
|
|||
|
PlaceMoneyBottomLeft: ; 24af0
|
|||
|
ld hl, MenuDataHeader_0x24b1d
|
|||
|
call CopyMenuDataHeader
|
|||
|
jr PlaceMoneyDataHeader
|
|||
|
|
|||
|
PlaceMoneyAtTopLeftOfTextbox: ; 24af8
|
|||
|
ld hl, MenuDataHeader_0x24b15
|
|||
|
lb de, 0, 11
|
|||
|
call OffsetMenuDataHeader
|
|||
|
|
|||
|
PlaceMoneyDataHeader: ; 24b01
|
|||
|
call MenuBox
|
|||
|
call MenuBoxCoord2Tile
|
|||
|
ld de, SCREEN_WIDTH + 1
|
|||
|
add hl, de
|
|||
|
ld de, Money
|
|||
|
lb bc, PRINTNUM_MONEY | 3, 6
|
|||
|
call PrintNum
|
|||
|
ret
|
|||
|
|
|||
|
MenuDataHeader_0x24b15: ; 0x24b15
|
|||
|
db $40 ; flags
|
|||
|
db 00, 11 ; start coords
|
|||
|
db 02, 19 ; end coords
|
|||
|
dw NULL
|
|||
|
db 1 ; default option
|
|||
|
|
|||
|
MenuDataHeader_0x24b1d: ; 0x24b1d
|
|||
|
db $40 ; flags
|
|||
|
db 11, 00 ; start coords
|
|||
|
db 13, 08 ; end coords
|
|||
|
dw NULL
|
|||
|
db 1 ; default option
|
|||
|
|
|||
|
Special_DisplayCoinCaseBalance: ; 24b25
|
|||
|
; Place a text box of size 1x7 at 11, 0.
|
|||
|
hlcoord 11, 0
|
|||
|
ld b, 1
|
|||
|
ld c, 7
|
|||
|
call TextBox
|
|||
|
hlcoord 12, 0
|
|||
|
ld de, CoinString
|
|||
|
call PlaceString
|
|||
|
hlcoord 17, 1
|
|||
|
ld de, ShowMoney_TerminatorString
|
|||
|
call PlaceString
|
|||
|
ld de, Coins
|
|||
|
lb bc, 2, 4
|
|||
|
hlcoord 13, 1
|
|||
|
call PrintNum
|
|||
|
ret
|
|||
|
|
|||
|
Special_DisplayMoneyAndCoinBalance: ; 24b4e
|
|||
|
hlcoord 5, 0
|
|||
|
ld b, 3
|
|||
|
ld c, 13
|
|||
|
call TextBox
|
|||
|
hlcoord 6, 1
|
|||
|
ld de, MoneyString
|
|||
|
call PlaceString
|
|||
|
hlcoord 12, 1
|
|||
|
ld de, Money
|
|||
|
lb bc, PRINTNUM_MONEY | 3, 6
|
|||
|
call PrintNum
|
|||
|
hlcoord 6, 3
|
|||
|
ld de, CoinString
|
|||
|
call PlaceString
|
|||
|
hlcoord 15, 3
|
|||
|
ld de, Coins
|
|||
|
lb bc, 2, 4
|
|||
|
call PrintNum
|
|||
|
ret
|
|||
|
|
|||
|
MoneyString: ; 24b83
|
|||
|
db "MONEY@"
|
|||
|
CoinString: ; 24b89
|
|||
|
db "COIN@"
|
|||
|
ShowMoney_TerminatorString: ; 24b8e
|
|||
|
db "@"
|
|||
|
|
|||
|
Function24b8f: ; 24b8f
|
|||
|
; unreferenced, related to safari?
|
|||
|
ld hl, Options
|
|||
|
ld a, [hl]
|
|||
|
push af
|
|||
|
set NO_TEXT_SCROLL, [hl]
|
|||
|
hlcoord 0, 0
|
|||
|
ld b, 3
|
|||
|
ld c, 7
|
|||
|
call TextBox
|
|||
|
hlcoord 1, 1
|
|||
|
ld de, wSafariTimeRemaining
|
|||
|
lb bc, 2, 3
|
|||
|
call PrintNum
|
|||
|
hlcoord 4, 1
|
|||
|
ld de, .slash_500
|
|||
|
call PlaceString
|
|||
|
hlcoord 1, 3
|
|||
|
ld de, .booru_ko
|
|||
|
call PlaceString
|
|||
|
hlcoord 5, 3
|
|||
|
ld de, wSafariBallsRemaining
|
|||
|
lb bc, 1, 2
|
|||
|
call PrintNum
|
|||
|
pop af
|
|||
|
ld [Options], a
|
|||
|
ret
|
|||
|
|
|||
|
.slash_500 ; 24bcf
|
|||
|
db "/500@"
|
|||
|
.booru_ko ; 24bd4
|
|||
|
db "ボール こ@"
|
|||
|
|
|||
|
StartMenu_DrawBugContestStatusBox: ; 24bdc
|
|||
|
hlcoord 0, 0
|
|||
|
ld b, 5
|
|||
|
ld c, 17
|
|||
|
call TextBox
|
|||
|
ret
|
|||
|
|
|||
|
StartMenu_PrintBugContestStatus: ; 24be7
|
|||
|
ld hl, Options
|
|||
|
ld a, [hl]
|
|||
|
push af
|
|||
|
set NO_TEXT_SCROLL, [hl]
|
|||
|
call StartMenu_DrawBugContestStatusBox
|
|||
|
hlcoord 1, 5
|
|||
|
ld de, .Balls_EN
|
|||
|
call PlaceString
|
|||
|
hlcoord 8, 5
|
|||
|
ld de, wParkBallsRemaining
|
|||
|
lb bc, PRINTNUM_RIGHTALIGN | 1, 2
|
|||
|
call PrintNum
|
|||
|
hlcoord 1, 1
|
|||
|
ld de, .CAUGHT
|
|||
|
call PlaceString
|
|||
|
ld a, [wContestMon]
|
|||
|
and a
|
|||
|
ld de, .None
|
|||
|
jr z, .no_contest_mon
|
|||
|
ld [wd265], a
|
|||
|
call GetPokemonName
|
|||
|
|
|||
|
.no_contest_mon
|
|||
|
hlcoord 8, 1
|
|||
|
call PlaceString
|
|||
|
ld a, [wContestMon]
|
|||
|
and a
|
|||
|
jr z, .skip_level
|
|||
|
hlcoord 1, 3
|
|||
|
ld de, .LEVEL
|
|||
|
call PlaceString
|
|||
|
ld a, [wContestMonLevel]
|
|||
|
ld h, b
|
|||
|
ld l, c
|
|||
|
inc hl
|
|||
|
ld c, 3
|
|||
|
call Print8BitNumRightAlign
|
|||
|
|
|||
|
.skip_level
|
|||
|
pop af
|
|||
|
ld [Options], a
|
|||
|
ret
|
|||
|
|
|||
|
.Balls_JP: ; 24c43
|
|||
|
db "ボール こ@"
|
|||
|
.CAUGHT: ; 24c4b
|
|||
|
db "CAUGHT@"
|
|||
|
.Balls_EN: ; 24c52
|
|||
|
db "BALLS:@"
|
|||
|
.None: ; 24c59
|
|||
|
db "None@"
|
|||
|
.LEVEL: ; 24c5e
|
|||
|
db "LEVEL@"
|
|||
|
|
|||
|
FindApricornsInBag: ; 24c64
|
|||
|
; Checks the bag for Apricorns.
|
|||
|
ld hl, Buffer1
|
|||
|
xor a
|
|||
|
ld [hli], a
|
|||
|
dec a
|
|||
|
ld bc, 10
|
|||
|
call ByteFill
|
|||
|
|
|||
|
ld hl, .ApricornBalls
|
|||
|
.loop
|
|||
|
ld a, [hl]
|
|||
|
cp -1
|
|||
|
jr z, .done
|
|||
|
push hl
|
|||
|
ld [CurItem], a
|
|||
|
ld hl, NumItems
|
|||
|
call CheckItem
|
|||
|
pop hl
|
|||
|
jr nc, .nope
|
|||
|
ld a, [hl]
|
|||
|
call .addtobuffer
|
|||
|
.nope
|
|||
|
inc hl
|
|||
|
inc hl
|
|||
|
jr .loop
|
|||
|
|
|||
|
.done
|
|||
|
ld a, [Buffer1]
|
|||
|
and a
|
|||
|
ret nz
|
|||
|
scf
|
|||
|
ret
|
|||
|
|
|||
|
.addtobuffer ; 24c94
|
|||
|
push hl
|
|||
|
ld hl, Buffer1
|
|||
|
inc [hl]
|
|||
|
ld e, [hl]
|
|||
|
ld d, 0
|
|||
|
add hl, de
|
|||
|
ld [hl], a
|
|||
|
pop hl
|
|||
|
ret
|
|||
|
|
|||
|
.ApricornBalls: ; 24ca0
|
|||
|
db RED_APRICORN, LEVEL_BALL
|
|||
|
db BLU_APRICORN, LURE_BALL
|
|||
|
db YLW_APRICORN, MOON_BALL
|
|||
|
db GRN_APRICORN, FRIEND_BALL
|
|||
|
db WHT_APRICORN, FAST_BALL
|
|||
|
db BLK_APRICORN, HEAVY_BALL
|
|||
|
db PNK_APRICORN, LOVE_BALL
|
|||
|
db -1
|