You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-09-08 08:13:02 -07:00
Organize the engine/ directory, take 2
Renamed `game` to `games` and `menu` to `menus`. Moved some functions from `engine/routines/` to their fitting subdirectories. Made two new subdirectories: * engine/rtc: Contains all RTC-related things. Menus, hardware, misc functions. * engine/items: Contains all item-related things. Pack, item effects, other item handlers.
This commit is contained in:
253
engine/menus/menu_2.asm
Normal file
253
engine/menus/menu_2.asm
Normal file
@@ -0,0 +1,253 @@
|
||||
PlaceMenuItemName: ; 0x24ab4
|
||||
push de
|
||||
ld a, [wMenuSelection]
|
||||
ld [wNamedObjectIndexBuffer], a
|
||||
call GetItemName
|
||||
pop hl
|
||||
call PlaceString
|
||||
ret
|
||||
|
||||
PlaceMenuItemQuantity: ; 0x24ac3
|
||||
push de
|
||||
ld a, [wMenuSelection]
|
||||
ld [wCurItem], 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, wMenuSelectionQuantity
|
||||
lb bc, 1, 2
|
||||
call PrintNum
|
||||
|
||||
.done
|
||||
ret
|
||||
|
||||
PlaceMoneyTopRight: ; 24ae8
|
||||
ld hl, MenuHeader_0x24b15
|
||||
call CopyMenuHeader
|
||||
jr PlaceMoneyTextBox
|
||||
|
||||
PlaceMoneyBottomLeft: ; 24af0
|
||||
ld hl, MenuHeader_0x24b1d
|
||||
call CopyMenuHeader
|
||||
jr PlaceMoneyTextBox
|
||||
|
||||
PlaceMoneyAtTopLeftOfTextbox: ; 24af8
|
||||
ld hl, MenuHeader_0x24b15
|
||||
lb de, 0, 11
|
||||
call OffsetMenuHeader
|
||||
|
||||
PlaceMoneyTextBox: ; 24b01
|
||||
call MenuBox
|
||||
call MenuBoxCoord2Tile
|
||||
ld de, SCREEN_WIDTH + 1
|
||||
add hl, de
|
||||
ld de, wMoney
|
||||
lb bc, PRINTNUM_MONEY | 3, 6
|
||||
call PrintNum
|
||||
ret
|
||||
|
||||
MenuHeader_0x24b15: ; 0x24b15
|
||||
db MENU_BACKUP_TILES ; flags
|
||||
menu_coords 11, 0, SCREEN_WIDTH - 1, 2
|
||||
dw NULL
|
||||
db 1 ; default option
|
||||
|
||||
MenuHeader_0x24b1d: ; 0x24b1d
|
||||
db MENU_BACKUP_TILES ; flags
|
||||
menu_coords 0, 11, 8, 13
|
||||
dw NULL
|
||||
db 1 ; default option
|
||||
|
||||
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, wCoins
|
||||
lb bc, 2, 4
|
||||
hlcoord 13, 1
|
||||
call PrintNum
|
||||
ret
|
||||
|
||||
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, 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
|
||||
|
||||
MoneyString: ; 24b83
|
||||
db "MONEY@"
|
||||
CoinString: ; 24b89
|
||||
db "COIN@"
|
||||
ShowMoney_TerminatorString: ; 24b8e
|
||||
db "@"
|
||||
|
||||
Unreferenced_Function24b8f: ; 24b8f
|
||||
; related to safari?
|
||||
ld hl, wOptions
|
||||
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 [wOptions], 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, wOptions
|
||||
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 [wOptions], 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, wBuffer1
|
||||
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 [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
|
||||
ld a, [wBuffer1]
|
||||
and a
|
||||
ret nz
|
||||
scf
|
||||
ret
|
||||
|
||||
.addtobuffer ; 24c94
|
||||
push hl
|
||||
ld hl, wBuffer1
|
||||
inc [hl]
|
||||
ld e, [hl]
|
||||
ld d, 0
|
||||
add hl, de
|
||||
ld [hl], a
|
||||
pop hl
|
||||
ret
|
||||
|
||||
INCLUDE "data/items/apricorn_balls.asm"
|
||||
Reference in New Issue
Block a user