mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-01-23 09:16:20 -08:00
Added a bunch of constants for the bitflags of each kind of menu. Some are slightly vague or too long, but I'm not sure how to else name them.
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
|
||
farcall _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 MENU_BACKUP_TILES ; flags
|
||
db 00, 11 ; start coords
|
||
db 02, 19 ; end coords
|
||
dw NULL
|
||
db 1 ; default option
|
||
|
||
MenuDataHeader_0x24b1d: ; 0x24b1d
|
||
db MENU_BACKUP_TILES ; 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
|