pokecrystal/engine/menus/menu_2.asm

253 lines
3.8 KiB
NASM
Raw Normal View History

PlaceMenuItemName:
push de
2018-01-23 22:39:09 +00:00
ld a, [wMenuSelection]
ld [wNamedObjectIndexBuffer], a
call GetItemName
pop hl
call PlaceString
ret
PlaceMenuItemQuantity:
push de
2018-01-23 22:39:09 +00:00
ld a, [wMenuSelection]
ld [wCurItem], a
2017-12-24 17:47:30 +00:00
farcall _CheckTossableItem
ld a, [wItemAttributeParamBuffer]
pop hl
and a
jr nz, .done
ld de, $15
add hl, de
ld [hl], "×"
inc hl
2018-01-23 22:39:09 +00:00
ld de, wMenuSelectionQuantity
lb bc, 1, 2
call PrintNum
.done
ret
2018-06-24 14:09:41 +00:00
PlaceMoneyTopRight:
2020-10-04 23:43:28 +00:00
ld hl, MoneyTopRightMenuHeader
call CopyMenuHeader
2019-04-08 12:15:10 +00:00
jr PlaceMoneyTextbox
2018-06-24 14:09:41 +00:00
PlaceMoneyBottomLeft:
2020-10-04 23:43:28 +00:00
ld hl, MoneyBottomLeftMenuHeader
call CopyMenuHeader
2019-04-08 12:15:10 +00:00
jr PlaceMoneyTextbox
2018-06-24 14:09:41 +00:00
PlaceMoneyAtTopLeftOfTextbox:
2020-10-04 23:43:28 +00:00
ld hl, MoneyTopRightMenuHeader
lb de, 0, 11
call OffsetMenuHeader
2019-04-08 12:15:10 +00:00
PlaceMoneyTextbox:
call MenuBox
call MenuBoxCoord2Tile
ld de, SCREEN_WIDTH + 1
add hl, de
2018-01-23 22:39:09 +00:00
ld de, wMoney
lb bc, PRINTNUM_MONEY | 3, 6
call PrintNum
ret
2020-10-04 23:43:28 +00:00
MoneyTopRightMenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 11, 0, SCREEN_WIDTH - 1, 2
dw NULL
db 1 ; default option
2020-10-04 23:43:28 +00:00
MoneyBottomLeftMenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 11, 8, 13
dw NULL
db 1 ; default option
2018-06-24 14:09:41 +00:00
DisplayCoinCaseBalance:
; Place a text box of size 1x7 at 11, 0.
hlcoord 11, 0
ld b, 1
ld c, 7
2019-04-08 12:15:10 +00:00
call Textbox
hlcoord 12, 0
ld de, CoinString
call PlaceString
hlcoord 17, 1
ld de, ShowMoney_TerminatorString
call PlaceString
ld de, wCoins
lb bc, 2, 4
hlcoord 13, 1
call PrintNum
ret
2018-06-24 14:09:41 +00:00
DisplayMoneyAndCoinBalance:
hlcoord 5, 0
ld b, 3
ld c, 13
2019-04-08 12:15:10 +00:00
call Textbox
hlcoord 6, 1
ld de, MoneyString
call PlaceString
hlcoord 12, 1
2018-01-23 22:39:09 +00:00
ld de, wMoney
lb bc, PRINTNUM_MONEY | 3, 6
call PrintNum
hlcoord 6, 3
ld de, CoinString
call PlaceString
hlcoord 15, 3
ld de, wCoins
lb bc, 2, 4
call PrintNum
ret
2018-06-24 14:09:41 +00:00
MoneyString:
db "MONEY@"
2018-06-24 14:09:41 +00:00
CoinString:
db "COIN@"
2018-06-24 14:09:41 +00:00
ShowMoney_TerminatorString:
db "@"
StartMenu_PrintSafariGameStatus: ; unreferenced
2018-01-23 22:39:09 +00:00
ld hl, wOptions
ld a, [hl]
push af
set NO_TEXT_SCROLL, [hl]
hlcoord 0, 0
ld b, 3
ld c, 7
2019-04-08 12:15:10 +00:00
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
2018-01-23 22:39:09 +00:00
ld [wOptions], a
ret
2018-06-24 14:09:41 +00:00
.slash_500
db "@"
2018-06-24 14:09:41 +00:00
.booru_ko
db "ボール   こ@"
2018-06-24 14:09:41 +00:00
StartMenu_DrawBugContestStatusBox:
hlcoord 0, 0
ld b, 5
ld c, 17
2019-04-08 12:15:10 +00:00
call Textbox
ret
2018-06-24 14:09:41 +00:00
StartMenu_PrintBugContestStatus:
2018-01-23 22:39:09 +00:00
ld hl, wOptions
ld a, [hl]
push af
set NO_TEXT_SCROLL, [hl]
call StartMenu_DrawBugContestStatusBox
hlcoord 1, 5
ld de, .BallsString
call PlaceString
hlcoord 8, 5
ld de, wParkBallsRemaining
2019-11-04 01:17:04 +00:00
lb bc, PRINTNUM_LEFTALIGN | 1, 2
call PrintNum
hlcoord 1, 1
ld de, .CaughtString
call PlaceString
ld a, [wContestMon]
and a
ld de, .NoneString
jr z, .no_contest_mon
ld [wNamedObjectIndexBuffer], 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, .LevelString
call PlaceString
ld a, [wContestMonLevel]
ld h, b
ld l, c
inc hl
ld c, 3
2019-11-04 01:17:04 +00:00
call Print8BitNumLeftAlign
.skip_level
pop af
2018-01-23 22:39:09 +00:00
ld [wOptions], a
ret
.BallsJPString: ; unreferenced
db "ボール   こ@"
.CaughtString:
db "CAUGHT@"
.BallsString:
db "BALLS:@"
.NoneString:
db "None@"
.LevelString:
db "LEVEL@"
2018-06-24 14:09:41 +00:00
FindApricornsInBag:
; Checks the bag for Apricorns.
2018-01-23 22:39:09 +00:00
ld hl, wBuffer1
xor a
ld [hli], a
dec a
ld bc, 10
call ByteFill
2018-01-11 06:45:27 +00:00
ld hl, ApricornBalls
.loop
ld a, [hl]
cp -1
jr z, .done
push hl
2018-01-23 22:39:09 +00:00
ld [wCurItem], a
ld hl, wNumItems
call CheckItem
pop hl
jr nc, .nope
ld a, [hl]
call .addtobuffer
.nope
inc hl
inc hl
jr .loop
.done
2018-01-23 22:39:09 +00:00
ld a, [wBuffer1]
and a
ret nz
scf
ret
2018-06-24 14:09:41 +00:00
.addtobuffer
push hl
2018-01-23 22:39:09 +00:00
ld hl, wBuffer1
inc [hl]
ld e, [hl]
ld d, 0
add hl, de
ld [hl], a
pop hl
ret
2018-01-11 06:45:27 +00:00
INCLUDE "data/items/apricorn_balls.asm"