mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Pack; buy, sell, toss
This commit is contained in:
parent
acd92eee94
commit
259c155187
118
battle/menu.asm
Executable file
118
battle/menu.asm
Executable file
@ -0,0 +1,118 @@
|
||||
LoadBattleMenu: ; 24ef2
|
||||
ld hl, BattleMenuDataHeader
|
||||
call LoadMenuDataHeader
|
||||
ld a, [wd0d2]
|
||||
ld [wMenuCursorBuffer], a
|
||||
call Function2039
|
||||
ld a, [wMenuCursorBuffer]
|
||||
ld [wd0d2], a
|
||||
call ExitMenu
|
||||
ret
|
||||
; 24f0b
|
||||
|
||||
SafariBattleMenu: ; 24f0b
|
||||
; untranslated
|
||||
ld hl, MenuDataHeader_0x24f4e
|
||||
call LoadMenuDataHeader
|
||||
jr Function24f19
|
||||
; 24f13
|
||||
|
||||
ContestBattleMenu: ; 24f13
|
||||
ld hl, MenuDataHeader_0x24f89
|
||||
call LoadMenuDataHeader
|
||||
; 24f19
|
||||
|
||||
Function24f19: ; 24f19
|
||||
ld a, [wd0d2]
|
||||
ld [wMenuCursorBuffer], a
|
||||
call InterpretMenu
|
||||
ld a, [wMenuCursorBuffer]
|
||||
ld [wd0d2], a
|
||||
call ExitMenu
|
||||
ret
|
||||
; 24f2c
|
||||
|
||||
BattleMenuDataHeader: ; 24f2c
|
||||
db $40 ; flags
|
||||
db 12, 08 ; start coords
|
||||
db 17, 19 ; end coords
|
||||
dw MenuData_0x24f34
|
||||
db 1 ; default option
|
||||
; 24f34
|
||||
|
||||
MenuData_0x24f34: ; 0x24f34
|
||||
db $81 ; flags
|
||||
dn 2, 2 ; rows, columns
|
||||
db 6 ; spacing
|
||||
dba Strings24f3d
|
||||
dbw BANK(MenuData_0x24f34), 0
|
||||
; 0x24f3d
|
||||
|
||||
Strings24f3d: ; 0x24f3d
|
||||
db "FIGHT@"
|
||||
db "<PKMN>@"
|
||||
db "PACK@"
|
||||
db "RUN@"
|
||||
; 24f4e
|
||||
|
||||
MenuDataHeader_0x24f4e: ; 24f4e
|
||||
db $40 ; flags
|
||||
db 12, 00 ; start coords
|
||||
db 17, 19 ; end coords
|
||||
dw MenuData_0x24f56
|
||||
db 1 ; default option
|
||||
; 24f56
|
||||
|
||||
MenuData_0x24f56: ; 24f56
|
||||
db $81 ; flags
|
||||
dn 2, 2 ; rows, columns
|
||||
db 11 ; spacing
|
||||
dba Strings24f5f
|
||||
dba Function24f7c
|
||||
; 24f5f
|
||||
|
||||
Strings24f5f: ; 24f5f
|
||||
db "サファりボール× @" ; "SAFARI BALL× @"
|
||||
db "エサをなげる@" ; "THROW BAIT"
|
||||
db "いしをなげる@" ; "THROW ROCK"
|
||||
db "にげる@" ; "RUN"
|
||||
; 24f7c
|
||||
|
||||
Function24f7c: ; 24f7c
|
||||
hlcoord 17, 13
|
||||
ld de, wSafariBallsRemaining
|
||||
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
|
||||
call PrintNum
|
||||
ret
|
||||
; 24f89
|
||||
|
||||
MenuDataHeader_0x24f89: ; 24f89
|
||||
db $40 ; flags
|
||||
db 12, 02 ; start coords
|
||||
db 17, 19 ; end coords
|
||||
dw MenuData_0x24f91
|
||||
db 1 ; default option
|
||||
; 24f91
|
||||
|
||||
MenuData_0x24f91: ; 24f91
|
||||
db $81 ; flags
|
||||
dn 2, 2 ; rows, columns
|
||||
db 12 ; spacing
|
||||
dba Strings24f9a
|
||||
dba Function24fb2
|
||||
; 24f9a
|
||||
|
||||
Strings24f9a: ; 24f9a
|
||||
db "FIGHT@"
|
||||
db "<PKMN>", "@"
|
||||
db "PARKBALL× @"
|
||||
db "RUN@"
|
||||
; 24fb2
|
||||
|
||||
Function24fb2: ; 24fb2
|
||||
hlcoord 13, 16
|
||||
ld de, wParkBallsRemaining
|
||||
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
|
||||
call PrintNum
|
||||
ret
|
||||
; 24fbf
|
238
engine/buy_sell_toss.asm
Executable file
238
engine/buy_sell_toss.asm
Executable file
@ -0,0 +1,238 @@
|
||||
SelectQuantityToToss: ; 24fbf
|
||||
ld hl, TossItem_MenuDataHeader
|
||||
call LoadMenuDataHeader
|
||||
call Toss_Sell_Loop
|
||||
ret
|
||||
; 24fc9
|
||||
|
||||
SelectQuantityToBuy: ; 24fc9
|
||||
callba GetItemPrice
|
||||
RooftopSale_SelectQuantityToBuy: ; 24fcf
|
||||
ld a, d
|
||||
ld [Buffer1], a
|
||||
ld a, e
|
||||
ld [Buffer2], a
|
||||
ld hl, BuyItem_MenuDataHeader
|
||||
call LoadMenuDataHeader
|
||||
call Toss_Sell_Loop
|
||||
ret
|
||||
; 24fe1
|
||||
|
||||
SelectQuantityToSell: ; 24fe1
|
||||
callba GetItemPrice
|
||||
ld a, d
|
||||
ld [Buffer1], a
|
||||
ld a, e
|
||||
ld [Buffer2], a
|
||||
ld hl, SellItem_MenuDataHeader
|
||||
call LoadMenuDataHeader
|
||||
call Toss_Sell_Loop
|
||||
ret
|
||||
; 24ff9
|
||||
|
||||
Toss_Sell_Loop: ; 24ff9
|
||||
ld a, 1
|
||||
ld [wItemQuantityChangeBuffer], a
|
||||
.loop
|
||||
call BuySellToss_UpdateQuantityDisplay ; update display
|
||||
call BuySellToss_InterpretJoypad ; joy action
|
||||
jr nc, .loop
|
||||
cp -1
|
||||
jr nz, .nope ; pressed B
|
||||
scf
|
||||
ret
|
||||
|
||||
.nope
|
||||
and a
|
||||
ret
|
||||
; 2500e
|
||||
|
||||
BuySellToss_InterpretJoypad: ; 2500e
|
||||
call Function354b ; get joypad
|
||||
bit B_BUTTON_F, c
|
||||
jr nz, .b
|
||||
bit A_BUTTON_F, c
|
||||
jr nz, .a
|
||||
bit D_DOWN_F, c
|
||||
jr nz, .down
|
||||
bit D_UP_F, c
|
||||
jr nz, .up
|
||||
bit D_LEFT_F, c
|
||||
jr nz, .left
|
||||
bit D_RIGHT_F, c
|
||||
jr nz, .right
|
||||
and a
|
||||
ret
|
||||
|
||||
.b
|
||||
ld a, -1
|
||||
scf
|
||||
ret
|
||||
|
||||
.a
|
||||
ld a, 0
|
||||
scf
|
||||
ret
|
||||
|
||||
.down
|
||||
ld hl, wItemQuantityChangeBuffer
|
||||
dec [hl]
|
||||
jr nz, .finish_down
|
||||
ld a, [wItemQuantityBuffer]
|
||||
ld [hl], a
|
||||
|
||||
.finish_down
|
||||
and a
|
||||
ret
|
||||
|
||||
.up
|
||||
ld hl, wItemQuantityChangeBuffer
|
||||
inc [hl]
|
||||
ld a, [wItemQuantityBuffer]
|
||||
cp [hl]
|
||||
jr nc, .finish_up
|
||||
ld [hl], 1
|
||||
|
||||
.finish_up
|
||||
and a
|
||||
ret
|
||||
|
||||
.left
|
||||
ld a, [wItemQuantityChangeBuffer]
|
||||
sub 10
|
||||
jr c, .load_1
|
||||
jr z, .load_1
|
||||
jr .finish_left
|
||||
|
||||
.load_1
|
||||
ld a, 1
|
||||
|
||||
.finish_left
|
||||
ld [wItemQuantityChangeBuffer], a
|
||||
and a
|
||||
ret
|
||||
|
||||
.right
|
||||
ld a, [wItemQuantityChangeBuffer]
|
||||
add $a
|
||||
ld b, a
|
||||
ld a, [wItemQuantityBuffer]
|
||||
cp b
|
||||
jr nc, .finish_right
|
||||
ld b, a
|
||||
|
||||
.finish_right
|
||||
ld a, b
|
||||
ld [wItemQuantityChangeBuffer], a
|
||||
and a
|
||||
ret
|
||||
; 25072
|
||||
|
||||
BuySellToss_UpdateQuantityDisplay: ; 25072
|
||||
call MenuBox
|
||||
call MenuBoxCoord2Tile
|
||||
ld de, SCREEN_WIDTH + 1
|
||||
add hl, de
|
||||
ld [hl], "×"
|
||||
inc hl
|
||||
ld de, wItemQuantityChangeBuffer
|
||||
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
|
||||
call PrintNum
|
||||
ld a, [wMenuData2Pointer]
|
||||
ld e, a
|
||||
ld a, [wMenuData2Pointer + 1]
|
||||
ld d, a
|
||||
ld a, [wMenuDataBank]
|
||||
call FarCall_de
|
||||
ret
|
||||
; 25097
|
||||
|
||||
ret_25097: ; 25097
|
||||
ret
|
||||
; 25098
|
||||
|
||||
DisplayPurchasePrice: ; 25098
|
||||
call BuySell_MultiplyPrice
|
||||
call BuySell_DisplaySubtotal
|
||||
ret
|
||||
; 2509f
|
||||
|
||||
DisplaySellingPrice: ; 2509f
|
||||
call BuySell_MultiplyPrice
|
||||
call Sell_HalvePrice
|
||||
call BuySell_DisplaySubtotal
|
||||
ret
|
||||
; 250a9
|
||||
|
||||
BuySell_MultiplyPrice: ; 250a9
|
||||
xor a
|
||||
ld [hMultiplicand + 0], a
|
||||
ld a, [Buffer1]
|
||||
ld [hMultiplicand + 1], a
|
||||
ld a, [Buffer2]
|
||||
ld [hMultiplicand + 2], a
|
||||
ld a, [wItemQuantityChangeBuffer]
|
||||
ld [hMultiplier], a
|
||||
push hl
|
||||
call Multiply
|
||||
pop hl
|
||||
ret
|
||||
; 250c1
|
||||
|
||||
Sell_HalvePrice: ; 250c1
|
||||
push hl
|
||||
ld hl, hProduct + 1
|
||||
ld a, [hl]
|
||||
srl a
|
||||
ld [hli], a
|
||||
ld a, [hl]
|
||||
rra
|
||||
ld [hli], a
|
||||
ld a, [hl]
|
||||
rra
|
||||
ld [hl], a
|
||||
pop hl
|
||||
ret
|
||||
; 250d1
|
||||
|
||||
BuySell_DisplaySubtotal: ; 250d1
|
||||
push hl
|
||||
ld hl, hMoneyTemp
|
||||
ld a, [hProduct + 1]
|
||||
ld [hli], a
|
||||
ld a, [hProduct + 2]
|
||||
ld [hli], a
|
||||
ld a, [hProduct + 3]
|
||||
ld [hl], a
|
||||
pop hl
|
||||
inc hl
|
||||
ld de, hMoneyTemp
|
||||
lb bc, PRINTNUM_MONEY | 3, 6
|
||||
call PrintNum
|
||||
call WaitBGMap
|
||||
ret
|
||||
; 250ed
|
||||
|
||||
TossItem_MenuDataHeader: ; 0x250ed
|
||||
db $40 ; flags
|
||||
db 09, 15 ; start coords
|
||||
db 11, 19 ; end coords
|
||||
dw ret_25097
|
||||
db 0 ; default option
|
||||
; 0x250f5
|
||||
|
||||
BuyItem_MenuDataHeader: ; 0x250f5
|
||||
db $40 ; flags
|
||||
db 15, 07 ; start coords
|
||||
db 17, 19 ; end coords
|
||||
dw DisplayPurchasePrice
|
||||
db -1 ; default option
|
||||
; 0x250fd
|
||||
|
||||
SellItem_MenuDataHeader: ; 0x250fd
|
||||
db $40 ; flags
|
||||
db 15, 07 ; start coords
|
||||
db 17, 19 ; end coords
|
||||
dw DisplaySellingPrice
|
||||
db 0 ; default option
|
||||
; 0x25105
|
@ -546,7 +546,7 @@ StandardMartAskPurchaseQuantity:
|
||||
ld [wItemQuantityBuffer], a
|
||||
ld a, MARTTEXT_HOW_MANY
|
||||
call LoadBuyMenuText
|
||||
callba Function24fc9
|
||||
callba SelectQuantityToBuy
|
||||
call ExitMenu
|
||||
ret
|
||||
; 15d97
|
||||
@ -606,7 +606,7 @@ RooftopSaleAskPurchaseQuantity:
|
||||
call .GetSalePrice
|
||||
ld a, 99
|
||||
ld [wItemQuantityBuffer], a
|
||||
callba Function24fcf
|
||||
callba RooftopSale_SelectQuantityToBuy
|
||||
call ExitMenu
|
||||
ret
|
||||
; 15df9
|
||||
@ -876,7 +876,7 @@ Function15ee0: ; 15ee0
|
||||
ld hl, Text_Mart_SellHowMany
|
||||
call PrintText
|
||||
callba PlaceMoneyTopRightMenu
|
||||
callba Function24fe1
|
||||
callba SelectQuantityToSell
|
||||
call ExitMenu
|
||||
jr c, .declined
|
||||
hlcoord 1, 14
|
||||
|
344
engine/mon_menu.asm
Executable file
344
engine/mon_menu.asm
Executable file
@ -0,0 +1,344 @@
|
||||
MonMenuOptionStrings: ; 24caf
|
||||
db "STATS@"
|
||||
db "SWITCH@"
|
||||
db "ITEM@"
|
||||
db "CANCEL@"
|
||||
db "MOVE@"
|
||||
db "MAIL@"
|
||||
db "ERROR!@"
|
||||
; 24cd9
|
||||
|
||||
MonMenuOptions: ; 24cd9
|
||||
|
||||
; Moves
|
||||
db MONMENU_FIELD_MOVE, MONMENU_CUT, CUT
|
||||
db MONMENU_FIELD_MOVE, MONMENU_FLY, FLY
|
||||
db MONMENU_FIELD_MOVE, MONMENU_SURF, SURF
|
||||
db MONMENU_FIELD_MOVE, MONMENU_STRENGTH, STRENGTH
|
||||
db MONMENU_FIELD_MOVE, MONMENU_FLASH, FLASH
|
||||
db MONMENU_FIELD_MOVE, MONMENU_WATERFALL, WATERFALL
|
||||
db MONMENU_FIELD_MOVE, MONMENU_WHIRLPOOL, WHIRLPOOL
|
||||
db MONMENU_FIELD_MOVE, MONMENU_DIG, DIG
|
||||
db MONMENU_FIELD_MOVE, MONMENU_TELEPORT, TELEPORT
|
||||
db MONMENU_FIELD_MOVE, MONMENU_SOFTBOILED, SOFTBOILED
|
||||
db MONMENU_FIELD_MOVE, MONMENU_HEADBUTT, HEADBUTT
|
||||
db MONMENU_FIELD_MOVE, MONMENU_ROCKSMASH, ROCK_SMASH
|
||||
db MONMENU_FIELD_MOVE, MONMENU_MILKDRINK, MILK_DRINK
|
||||
db MONMENU_FIELD_MOVE, MONMENU_SWEETSCENT, SWEET_SCENT
|
||||
|
||||
; Options
|
||||
db MONMENU_MENUOPTION, MONMENU_STATS, 1 ; STATS
|
||||
db MONMENU_MENUOPTION, MONMENU_SWITCH, 2 ; SWITCH
|
||||
db MONMENU_MENUOPTION, MONMENU_ITEM, 3 ; ITEM
|
||||
db MONMENU_MENUOPTION, MONMENU_CANCEL, 4 ; CANCEL
|
||||
db MONMENU_MENUOPTION, MONMENU_MOVE, 5 ; MOVE
|
||||
db MONMENU_MENUOPTION, MONMENU_MAIL, 6 ; MAIL
|
||||
db MONMENU_MENUOPTION, MONMENU_ERROR, 7 ; ERROR!
|
||||
|
||||
db -1
|
||||
; 24d19
|
||||
|
||||
MonSubmenu: ; 24d19
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
call GetMonSubmenuItems
|
||||
callba FreezeMonIcons
|
||||
ld hl, .MenuDataHeader
|
||||
call LoadMenuDataHeader
|
||||
call .GetTopCoord
|
||||
call PopulateMonMenu
|
||||
|
||||
ld a, 1
|
||||
ld [hBGMapMode], a
|
||||
call MonMenuLoop
|
||||
ld [MenuSelection], a
|
||||
|
||||
call ExitMenu
|
||||
ret
|
||||
; 24d3f
|
||||
|
||||
.MenuDataHeader: ; 24d3f
|
||||
db $40 ; tile backup
|
||||
db 00, 06 ; start coords
|
||||
db 17, 19 ; end coords
|
||||
dw 0
|
||||
db 1 ; default option
|
||||
; 24d47
|
||||
|
||||
.GetTopCoord: ; 24d47
|
||||
; TopCoord = 1 + BottomCoord - 2 * (NumSubmenuItems + 1)
|
||||
ld a, [Buffer1]
|
||||
inc a
|
||||
add a
|
||||
ld b, a
|
||||
ld a, [wMenuBorderBottomCoord]
|
||||
sub b
|
||||
inc a
|
||||
ld [wMenuBorderTopCoord], a
|
||||
call MenuBox
|
||||
ret
|
||||
; 24d59
|
||||
|
||||
MonMenuLoop: ; 24d59
|
||||
.loop
|
||||
ld a, $a0 ; flags
|
||||
ld [wMenuData2Flags], a
|
||||
ld a, [Buffer1] ; items
|
||||
ld [wMenuData2Items], a
|
||||
call Function1c10
|
||||
ld hl, wcfa5
|
||||
set 6, [hl]
|
||||
call Function1bc9
|
||||
ld de, SFX_READ_TEXT_2
|
||||
call PlaySFX
|
||||
ld a, [hJoyPressed]
|
||||
bit 0, a ; A
|
||||
jr nz, .select
|
||||
bit 1, a ; B
|
||||
jr nz, .cancel
|
||||
jr .loop
|
||||
|
||||
.cancel
|
||||
ld a, MONMENU_CANCEL ; CANCEL
|
||||
ret
|
||||
|
||||
.select
|
||||
ld a, [MenuSelection2]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
ld hl, Buffer2
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ret
|
||||
; 24d91
|
||||
|
||||
PopulateMonMenu: ; 24d91
|
||||
call MenuBoxCoord2Tile
|
||||
ld bc, $2a ; 42
|
||||
add hl, bc
|
||||
ld de, Buffer2
|
||||
.loop
|
||||
ld a, [de]
|
||||
inc de
|
||||
cp -1
|
||||
ret z
|
||||
push de
|
||||
push hl
|
||||
call GetMonMenuString
|
||||
pop hl
|
||||
call PlaceString
|
||||
ld bc, $28 ; 40
|
||||
add hl, bc
|
||||
pop de
|
||||
jr .loop
|
||||
; 24db0
|
||||
|
||||
GetMonMenuString: ; 24db0
|
||||
ld hl, MonMenuOptions + 1
|
||||
ld de, 3
|
||||
call IsInArray
|
||||
dec hl
|
||||
ld a, [hli]
|
||||
cp 1
|
||||
jr z, .NotMove
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
ld [wd265], a
|
||||
call GetMoveName
|
||||
ret
|
||||
|
||||
.NotMove
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
dec a
|
||||
ld hl, MonMenuOptionStrings
|
||||
call GetNthString
|
||||
ld d, h
|
||||
ld e, l
|
||||
ret
|
||||
; 24dd4
|
||||
|
||||
GetMonSubmenuItems: ; 24dd4
|
||||
call ResetMonSubmenu
|
||||
ld a, [CurPartySpecies]
|
||||
cp EGG
|
||||
jr z, .egg
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .skip_moves
|
||||
ld a, MON_MOVES
|
||||
call GetPartyParamLocation
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld c, NUM_MOVES
|
||||
.loop
|
||||
push bc
|
||||
push de
|
||||
ld a, [de]
|
||||
and a
|
||||
jr z, .next
|
||||
push hl
|
||||
call IsFieldMove
|
||||
pop hl
|
||||
jr nc, .next
|
||||
call AddMonMenuItem
|
||||
|
||||
.next
|
||||
pop de
|
||||
inc de
|
||||
pop bc
|
||||
dec c
|
||||
jr nz, .loop
|
||||
|
||||
.skip_moves
|
||||
ld a, MONMENU_STATS
|
||||
call AddMonMenuItem
|
||||
ld a, MONMENU_SWITCH
|
||||
call AddMonMenuItem
|
||||
ld a, MONMENU_MOVE
|
||||
call AddMonMenuItem
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jr nz, .skip2
|
||||
push hl
|
||||
ld a, MON_ITEM
|
||||
call GetPartyParamLocation
|
||||
ld d, [hl]
|
||||
callba ItemIsMail
|
||||
pop hl
|
||||
ld a, MONMENU_MAIL
|
||||
jr c, .ok
|
||||
ld a, MONMENU_ITEM
|
||||
|
||||
.ok
|
||||
call AddMonMenuItem
|
||||
|
||||
.skip2
|
||||
ld a, [Buffer1]
|
||||
cp NUM_MON_SUBMENU_ITEMS
|
||||
jr z, .ok2
|
||||
ld a, MONMENU_CANCEL
|
||||
call AddMonMenuItem
|
||||
|
||||
.ok2
|
||||
call TerminateMonSubmenu
|
||||
ret
|
||||
|
||||
.egg
|
||||
ld a, MONMENU_STATS
|
||||
call AddMonMenuItem
|
||||
ld a, MONMENU_SWITCH
|
||||
call AddMonMenuItem
|
||||
ld a, MONMENU_CANCEL
|
||||
call AddMonMenuItem
|
||||
call TerminateMonSubmenu
|
||||
ret
|
||||
; 24e52
|
||||
|
||||
IsFieldMove: ; 24e52
|
||||
ld b, a
|
||||
ld hl, MonMenuOptions
|
||||
.next
|
||||
ld a, [hli]
|
||||
cp -1
|
||||
jr z, .nope
|
||||
cp MONMENU_MENUOPTION
|
||||
jr z, .nope
|
||||
ld d, [hl]
|
||||
inc hl
|
||||
ld a, [hli]
|
||||
cp b
|
||||
jr nz, .next
|
||||
ld a, d
|
||||
scf
|
||||
|
||||
.nope
|
||||
ret
|
||||
; 24e68
|
||||
|
||||
ResetMonSubmenu: ; 24e68
|
||||
xor a
|
||||
ld [Buffer1], a
|
||||
ld hl, Buffer2
|
||||
ld bc, NUM_MON_SUBMENU_ITEMS + 1
|
||||
call ByteFill
|
||||
ret
|
||||
; 24e76
|
||||
|
||||
TerminateMonSubmenu: ; 24e76
|
||||
ld a, [Buffer1]
|
||||
ld e, a
|
||||
ld d, $0
|
||||
ld hl, Buffer2
|
||||
add hl, de
|
||||
ld [hl], -1
|
||||
ret
|
||||
; 24e83
|
||||
|
||||
AddMonMenuItem: ; 24e83
|
||||
push hl
|
||||
push de
|
||||
push af
|
||||
ld a, [Buffer1]
|
||||
ld e, a
|
||||
inc a
|
||||
ld [Buffer1], a
|
||||
ld d, $0
|
||||
ld hl, Buffer2
|
||||
add hl, de
|
||||
pop af
|
||||
ld [hl], a
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 24e99
|
||||
|
||||
BattleMonMenu: ; 24e99
|
||||
ld hl, MenuDataHeader_0x24ed4
|
||||
call CopyMenuDataHeader
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
call MenuBox
|
||||
call UpdateSprites
|
||||
call Function1c89
|
||||
call WaitBGMap
|
||||
call CopyMenuData2
|
||||
ld a, [wMenuData2Flags]
|
||||
bit 7, a
|
||||
jr z, .set_carry
|
||||
call Function1c10
|
||||
ld hl, wcfa5
|
||||
set 6, [hl]
|
||||
call Function1bc9
|
||||
ld de, SFX_READ_TEXT_2
|
||||
call PlaySFX
|
||||
ld a, [hJoyPressed]
|
||||
bit B_BUTTON_F, a
|
||||
jr z, .clear_carry
|
||||
ret z
|
||||
|
||||
.set_carry
|
||||
scf
|
||||
ret
|
||||
|
||||
.clear_carry
|
||||
and a
|
||||
ret
|
||||
; 24ed4
|
||||
|
||||
MenuDataHeader_0x24ed4: ; 24ed4
|
||||
db $00 ; flags
|
||||
db 11, 11 ; start coords
|
||||
db 17, 19 ; end coords
|
||||
dw MenuData2_0x24edc
|
||||
db 1 ; default option
|
||||
; 24edc
|
||||
|
||||
MenuData2_0x24edc: ; 24edc
|
||||
db $c0 ; flags
|
||||
db 3 ; items
|
||||
db "SWITCH@"
|
||||
db "STATS@"
|
||||
db "CANCEL@"
|
||||
; 24ef2
|
@ -514,7 +514,7 @@ UseItem: ; 10311
|
||||
TossMenu: ; 10364
|
||||
ld hl, Text_ThrowAwayHowMany
|
||||
call Pack_PrintTextNoScroll
|
||||
callba Function24fbf
|
||||
callba SelectQuantityToToss
|
||||
push af
|
||||
call ExitMenu
|
||||
pop af
|
||||
|
@ -343,7 +343,7 @@ Function157e9: ; 0x157e9
|
||||
.askquantity
|
||||
ld hl, .HowManyText
|
||||
call MenuTextBox
|
||||
callba Function24fbf
|
||||
callba SelectQuantityToToss
|
||||
call ExitMenu
|
||||
call ExitMenu
|
||||
jr c, .done
|
||||
@ -516,7 +516,7 @@ Function1590a: ; 0x1590a
|
||||
.asm_1591d
|
||||
ld hl, .HowManyText
|
||||
call MenuTextBox
|
||||
callba Function24fbf
|
||||
callba SelectQuantityToToss
|
||||
push af
|
||||
call ExitMenu
|
||||
call ExitMenu
|
||||
|
@ -602,7 +602,7 @@ Function129f4: ; 129f4
|
||||
jr nz, .asm_12a3f
|
||||
ld hl, UnknownText_0x12a45
|
||||
call MenuTextBox
|
||||
callba Function24fbf
|
||||
callba SelectQuantityToToss
|
||||
push af
|
||||
call WriteBackup
|
||||
call ExitMenu
|
||||
|
@ -618,7 +618,7 @@ Function86810: ; 86810
|
||||
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
|
||||
call PrintNum
|
||||
call WaitBGMap
|
||||
callba Function26601
|
||||
callba ProfOaksPCRating
|
||||
ret
|
||||
; 868ed
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user