You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-09-08 08:13:02 -07:00
SelectMenu
This commit is contained in:
324
main.asm
324
main.asm
@@ -2927,7 +2927,23 @@ CheckFacingSign: ; 2a8b
|
|||||||
; 0x2ad4
|
; 0x2ad4
|
||||||
|
|
||||||
|
|
||||||
INCBIN "baserom.gbc", $2ad4, $2b74 - $2ad4
|
INCBIN "baserom.gbc", $2ad4, $2b29 - $2ad4
|
||||||
|
|
||||||
|
|
||||||
|
FadeToMenu: ; 2b29
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
call $1d6e
|
||||||
|
ld a, $23
|
||||||
|
ld hl, $4084
|
||||||
|
rst FarCall
|
||||||
|
call ClearSprites
|
||||||
|
call Function2ed3
|
||||||
|
ret
|
||||||
|
; 2b3c
|
||||||
|
|
||||||
|
|
||||||
|
INCBIN "baserom.gbc", $2b3c, $2b74 - $2b3c
|
||||||
|
|
||||||
|
|
||||||
Function2b74: ; 0x2b74
|
Function2b74: ; 0x2b74
|
||||||
@@ -3201,7 +3217,27 @@ Predef: ; 2d83
|
|||||||
ret
|
ret
|
||||||
; 2dba
|
; 2dba
|
||||||
|
|
||||||
INCBIN "baserom.gbc", $2dba, $2e6f-$2dba
|
|
||||||
|
ResetWindow: ; 2dba
|
||||||
|
|
||||||
|
call $1fbf
|
||||||
|
ld a, [hROMBank]
|
||||||
|
push af
|
||||||
|
ld a, $1
|
||||||
|
rst Bankswitch
|
||||||
|
|
||||||
|
call $6454
|
||||||
|
call $2e20
|
||||||
|
call $64bf
|
||||||
|
|
||||||
|
pop af
|
||||||
|
rst Bankswitch
|
||||||
|
ret
|
||||||
|
; 2dcf
|
||||||
|
|
||||||
|
|
||||||
|
INCBIN "baserom.gbc", $2dcf, $2e6f-$2dcf
|
||||||
|
|
||||||
|
|
||||||
BitTable1Func: ; 0x2e6f
|
BitTable1Func: ; 0x2e6f
|
||||||
ld hl, $da72
|
ld hl, $da72
|
||||||
@@ -3323,7 +3359,30 @@ InitString: ; 0x2ef9
|
|||||||
ret
|
ret
|
||||||
; 0x2f17
|
; 0x2f17
|
||||||
|
|
||||||
INCBIN "baserom.gbc", $2f17, $2f8c - $2f17
|
|
||||||
|
INCBIN "baserom.gbc", $2f17, $2f3f - $2f17
|
||||||
|
|
||||||
|
|
||||||
|
DoItemEffect: ; 2f3f
|
||||||
|
callba _DoItemEffect
|
||||||
|
ret
|
||||||
|
; 2f46
|
||||||
|
|
||||||
|
|
||||||
|
CheckTossableItem: ; 2f46
|
||||||
|
push hl
|
||||||
|
push de
|
||||||
|
push bc
|
||||||
|
callba _CheckTossableItem
|
||||||
|
pop bc
|
||||||
|
pop de
|
||||||
|
pop hl
|
||||||
|
ret
|
||||||
|
; 2f53
|
||||||
|
|
||||||
|
|
||||||
|
INCBIN "baserom.gbc", $2f53, $2f8c - $2f53
|
||||||
|
|
||||||
|
|
||||||
RNG: ; 2f8c
|
RNG: ; 2f8c
|
||||||
; Two random numbers are generated by adding and subtracting
|
; Two random numbers are generated by adding and subtracting
|
||||||
@@ -6763,7 +6822,7 @@ GetNumberedTMHM: ; d417
|
|||||||
; d427
|
; d427
|
||||||
|
|
||||||
|
|
||||||
CheckTossableItem: ; d427
|
_CheckTossableItem: ; d427
|
||||||
; Return 1 in $d142 and carry if CurItem can't be removed from the bag.
|
; Return 1 in $d142 and carry if CurItem can't be removed from the bag.
|
||||||
ld a, 4
|
ld a, 4
|
||||||
call GetItemAttr
|
call GetItemAttr
|
||||||
@@ -6872,7 +6931,7 @@ ClearPCItemScreen: ; e58b
|
|||||||
INCBIN "baserom.gbc", $e5bb, $e722 - $e5bb
|
INCBIN "baserom.gbc", $e5bb, $e722 - $e5bb
|
||||||
|
|
||||||
|
|
||||||
DoItemEffect: ; e722
|
_DoItemEffect: ; e722
|
||||||
ld a, [CurItem]
|
ld a, [CurItem]
|
||||||
ld [$d265], a
|
ld [$d265], a
|
||||||
call GetItemName
|
call GetItemName
|
||||||
@@ -7663,7 +7722,7 @@ StartMenu_Save: ; 1290b
|
|||||||
StartMenu_Option: ; 1291c
|
StartMenu_Option: ; 1291c
|
||||||
; Game options.
|
; Game options.
|
||||||
|
|
||||||
call $2b29
|
call FadeToMenu
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld hl, $5b64
|
ld hl, $5b64
|
||||||
rst FarCall
|
rst FarCall
|
||||||
@@ -7675,7 +7734,7 @@ StartMenu_Option: ; 1291c
|
|||||||
StartMenu_Status: ; 12928
|
StartMenu_Status: ; 12928
|
||||||
; Player status.
|
; Player status.
|
||||||
|
|
||||||
call $2b29
|
call FadeToMenu
|
||||||
ld a, $9
|
ld a, $9
|
||||||
ld hl, $5105
|
ld hl, $5105
|
||||||
rst FarCall
|
rst FarCall
|
||||||
@@ -7691,7 +7750,7 @@ StartMenu_Pokedex: ; 12937
|
|||||||
and a
|
and a
|
||||||
jr z, .asm_12949
|
jr z, .asm_12949
|
||||||
|
|
||||||
call $2b29
|
call FadeToMenu
|
||||||
ld a, $10
|
ld a, $10
|
||||||
ld hl, $4000
|
ld hl, $4000
|
||||||
rst FarCall
|
rst FarCall
|
||||||
@@ -7705,7 +7764,7 @@ StartMenu_Pokedex: ; 12937
|
|||||||
|
|
||||||
StartMenu_Pokegear: ; 1294c
|
StartMenu_Pokegear: ; 1294c
|
||||||
|
|
||||||
call $2b29
|
call FadeToMenu
|
||||||
ld a, $24
|
ld a, $24
|
||||||
ld hl, $4b8d
|
ld hl, $4b8d
|
||||||
rst FarCall
|
rst FarCall
|
||||||
@@ -7717,7 +7776,7 @@ StartMenu_Pokegear: ; 1294c
|
|||||||
|
|
||||||
StartMenu_Pack: ; 1295b
|
StartMenu_Pack: ; 1295b
|
||||||
|
|
||||||
call $2b29
|
call FadeToMenu
|
||||||
ld a, $4
|
ld a, $4
|
||||||
ld hl, $4000
|
ld hl, $4000
|
||||||
rst FarCall
|
rst FarCall
|
||||||
@@ -7740,7 +7799,7 @@ StartMenu_Pokemon: ; 12976
|
|||||||
and a
|
and a
|
||||||
jr z, .return
|
jr z, .return
|
||||||
|
|
||||||
call $2b29 ; fade in?
|
call FadeToMenu
|
||||||
|
|
||||||
.choosemenu
|
.choosemenu
|
||||||
xor a
|
xor a
|
||||||
@@ -7791,7 +7850,19 @@ StartMenu_Pokemon: ; 12976
|
|||||||
; 129d5
|
; 129d5
|
||||||
|
|
||||||
|
|
||||||
INCBIN "baserom.gbc", $129d5, $12a6c - $129d5
|
INCBIN "baserom.gbc", $129d5, $12a60 - $129d5
|
||||||
|
|
||||||
|
|
||||||
|
CantUseItem: ; 12a60
|
||||||
|
ld hl, CantUseItemText
|
||||||
|
call $2012
|
||||||
|
ret
|
||||||
|
; 12a67
|
||||||
|
|
||||||
|
CantUseItemText: ; 12a67
|
||||||
|
text_jump UnknownText_0x1c1b03, BANK(UnknownText_0x1c1b03)
|
||||||
|
db "@"
|
||||||
|
; 12a6c
|
||||||
|
|
||||||
|
|
||||||
PartyMonItemName: ; 12a6c
|
PartyMonItemName: ; 12a6c
|
||||||
@@ -7989,7 +8060,7 @@ Function12ba9: ; 12ba9
|
|||||||
cp 2
|
cp 2
|
||||||
jr z, .next
|
jr z, .next
|
||||||
|
|
||||||
call $2f46
|
call CheckTossableItem
|
||||||
ld a, [$d142]
|
ld a, [$d142]
|
||||||
and a
|
and a
|
||||||
jr nz, .next
|
jr nz, .next
|
||||||
@@ -8213,7 +8284,201 @@ OpenPartyStats: ; 12e00
|
|||||||
; 12e1b
|
; 12e1b
|
||||||
|
|
||||||
|
|
||||||
INCBIN "baserom.gbc", $12e1b, $13b87 - $12e1b
|
INCBIN "baserom.gbc", $12e1b, $13327 - $12e1b
|
||||||
|
|
||||||
|
|
||||||
|
SelectMenu: ; 13327
|
||||||
|
|
||||||
|
call CheckRegisteredItem
|
||||||
|
jr c, .NotRegistered
|
||||||
|
jp UseRegisteredItem
|
||||||
|
|
||||||
|
.NotRegistered
|
||||||
|
call $2e08
|
||||||
|
ld b, BANK(ItemMayBeRegisteredText)
|
||||||
|
ld hl, ItemMayBeRegisteredText
|
||||||
|
call $269a
|
||||||
|
call $0a46
|
||||||
|
jp $2dcf
|
||||||
|
; 13340
|
||||||
|
|
||||||
|
|
||||||
|
ItemMayBeRegisteredText: ; 13340
|
||||||
|
text_jump UnknownText_0x1c1cf3, BANK(UnknownText_0x1c1cf3)
|
||||||
|
db "@"
|
||||||
|
; 13345
|
||||||
|
|
||||||
|
|
||||||
|
CheckRegisteredItem: ; 13345
|
||||||
|
|
||||||
|
ld a, [WhichRegisteredItem]
|
||||||
|
and a
|
||||||
|
jr z, .NoRegisteredItem
|
||||||
|
and REGISTERED_POCKET
|
||||||
|
rlca
|
||||||
|
rlca
|
||||||
|
ld hl, .Pockets
|
||||||
|
rst $28
|
||||||
|
ret
|
||||||
|
|
||||||
|
.Pockets
|
||||||
|
dw .CheckItem
|
||||||
|
dw .CheckBall
|
||||||
|
dw .CheckKeyItem
|
||||||
|
dw .CheckTMHM
|
||||||
|
|
||||||
|
.CheckItem
|
||||||
|
ld hl, NumItems
|
||||||
|
call .CheckRegisteredNo
|
||||||
|
jr c, .NoRegisteredItem
|
||||||
|
inc hl
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
add hl, de
|
||||||
|
add hl, de
|
||||||
|
call .IsSameItem
|
||||||
|
jr c, .NoRegisteredItem
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.CheckKeyItem
|
||||||
|
ld a, [RegisteredItem]
|
||||||
|
ld hl, KeyItems
|
||||||
|
ld de, 1
|
||||||
|
call IsInArray
|
||||||
|
jr nc, .NoRegisteredItem
|
||||||
|
ld a, [RegisteredItem]
|
||||||
|
ld [CurItem], a
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.CheckBall
|
||||||
|
ld hl, NumBalls
|
||||||
|
call .CheckRegisteredNo
|
||||||
|
jr nc, .NoRegisteredItem
|
||||||
|
inc hl
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
add hl, de
|
||||||
|
add hl, de
|
||||||
|
call .IsSameItem
|
||||||
|
jr c, .NoRegisteredItem
|
||||||
|
ret
|
||||||
|
|
||||||
|
.CheckTMHM
|
||||||
|
jr .NoRegisteredItem
|
||||||
|
|
||||||
|
.NoRegisteredItem
|
||||||
|
xor a
|
||||||
|
ld [WhichRegisteredItem], a
|
||||||
|
ld [RegisteredItem], a
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 133a6
|
||||||
|
|
||||||
|
|
||||||
|
.CheckRegisteredNo ; 133a6
|
||||||
|
ld a, [WhichRegisteredItem]
|
||||||
|
and REGISTERED_NUMBER
|
||||||
|
dec a
|
||||||
|
cp [hl]
|
||||||
|
jr nc, .NotEnoughItems
|
||||||
|
ld [$d107], a
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.NotEnoughItems
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 133b6
|
||||||
|
|
||||||
|
|
||||||
|
.IsSameItem ; 133b6
|
||||||
|
ld a, [RegisteredItem]
|
||||||
|
cp [hl]
|
||||||
|
jr nz, .NotSameItem
|
||||||
|
ld [CurItem], a
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.NotSameItem
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 133c3
|
||||||
|
|
||||||
|
|
||||||
|
UseRegisteredItem: ; 133c3
|
||||||
|
|
||||||
|
callba CheckItemMenu
|
||||||
|
ld a, [$d142]
|
||||||
|
ld hl, .SwitchTo
|
||||||
|
rst $28
|
||||||
|
ret
|
||||||
|
|
||||||
|
.SwitchTo
|
||||||
|
dw .CantUse
|
||||||
|
dw .NoFunction
|
||||||
|
dw .NoFunction
|
||||||
|
dw .NoFunction
|
||||||
|
dw .Current
|
||||||
|
dw .Party
|
||||||
|
dw .Overworld
|
||||||
|
; 133df
|
||||||
|
|
||||||
|
.NoFunction ; 133df
|
||||||
|
call $2e08
|
||||||
|
call CantUseItem
|
||||||
|
call $2dcf
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
; 133ea
|
||||||
|
|
||||||
|
.Current ; 133ea
|
||||||
|
call $2e08
|
||||||
|
call DoItemEffect
|
||||||
|
call $2dcf
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
; 133f5
|
||||||
|
|
||||||
|
.Party ; 133f5
|
||||||
|
call ResetWindow
|
||||||
|
call FadeToMenu
|
||||||
|
call DoItemEffect
|
||||||
|
call $2b3c
|
||||||
|
call $2dcf
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
; 13406
|
||||||
|
|
||||||
|
.Overworld ; 13406
|
||||||
|
call ResetWindow
|
||||||
|
ld a, 1
|
||||||
|
ld [$d0ef], a
|
||||||
|
call DoItemEffect
|
||||||
|
xor a
|
||||||
|
ld [$d0ef], a
|
||||||
|
ld a, [$d0ec]
|
||||||
|
cp 1
|
||||||
|
jr nz, .asm_13425
|
||||||
|
scf
|
||||||
|
ld a, $80
|
||||||
|
ld [$ffa0], a
|
||||||
|
ret
|
||||||
|
; 13422
|
||||||
|
|
||||||
|
.CantUse ; 13422
|
||||||
|
call ResetWindow
|
||||||
|
|
||||||
|
.asm_13425
|
||||||
|
call CantUseItem
|
||||||
|
call $2dcf
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
; 1342d
|
||||||
|
|
||||||
|
|
||||||
|
INCBIN "baserom.gbc", $1342d, $13b87 - $1342d
|
||||||
|
|
||||||
|
|
||||||
GetSquareRoot: ; 13b87
|
GetSquareRoot: ; 13b87
|
||||||
@@ -8401,8 +8666,8 @@ KrisWithdrawItemMenu: ; 0x157d1
|
|||||||
|
|
||||||
Function157e9: ; 0x157e9
|
Function157e9: ; 0x157e9
|
||||||
; check if the item has a quantity
|
; check if the item has a quantity
|
||||||
ld a, BANK(CheckTossableItem)
|
ld a, BANK(_CheckTossableItem)
|
||||||
ld hl, CheckTossableItem
|
ld hl, _CheckTossableItem
|
||||||
rst $8
|
rst $8
|
||||||
ld a, [$d142]
|
ld a, [$d142]
|
||||||
and a
|
and a
|
||||||
@@ -8525,7 +8790,7 @@ KrisDepositItemMenu: ; 0x1588b
|
|||||||
jr z, .asm_158b3
|
jr z, .asm_158b3
|
||||||
call Function158cc
|
call Function158cc
|
||||||
ld a, $4
|
ld a, $4
|
||||||
ld hl, $7345
|
ld hl, CheckRegisteredItem
|
||||||
rst $8
|
rst $8
|
||||||
jr .asm_1589c
|
jr .asm_1589c
|
||||||
|
|
||||||
@@ -9105,8 +9370,8 @@ Function24ac3: ; 0x24ac3
|
|||||||
push de
|
push de
|
||||||
ld a, [MenuSelection]
|
ld a, [MenuSelection]
|
||||||
ld [CurItem], a
|
ld [CurItem], a
|
||||||
ld a, BANK(CheckTossableItem)
|
ld a, BANK(_CheckTossableItem)
|
||||||
ld hl, CheckTossableItem
|
ld hl, _CheckTossableItem
|
||||||
rst $8
|
rst $8
|
||||||
ld a, [$d142]
|
ld a, [$d142]
|
||||||
pop hl
|
pop hl
|
||||||
@@ -11803,7 +12068,7 @@ Function4484a: ; 0x4484a
|
|||||||
dw .Cancel
|
dw .Cancel
|
||||||
|
|
||||||
.ReadMail ; 0x44869
|
.ReadMail ; 0x44869
|
||||||
call $2b29
|
call FadeToMenu
|
||||||
ld a, [MenuSelection]
|
ld a, [MenuSelection]
|
||||||
dec a
|
dec a
|
||||||
ld b, a
|
ld b, a
|
||||||
@@ -11863,7 +12128,7 @@ Function4484a: ; 0x4484a
|
|||||||
; 0x448d2
|
; 0x448d2
|
||||||
|
|
||||||
.AttachMail ; 0x448d2
|
.AttachMail ; 0x448d2
|
||||||
call $2b29
|
call FadeToMenu
|
||||||
xor a
|
xor a
|
||||||
ld [$d141], a
|
ld [$d141], a
|
||||||
call $31f3
|
call $31f3
|
||||||
@@ -16956,26 +17221,27 @@ CheckMenuOW: ; 96b30
|
|||||||
|
|
||||||
StartMenuScript: ; 96b58
|
StartMenuScript: ; 96b58
|
||||||
3callasm BANK(StartMenu), StartMenu
|
3callasm BANK(StartMenu), StartMenu
|
||||||
2jump UnknownScript_0x96b66
|
2jump StartMenuCallback
|
||||||
; 96b5f
|
; 96b5f
|
||||||
|
|
||||||
SelectMenuScript: ; 96b5f
|
SelectMenuScript: ; 96b5f
|
||||||
3callasm $04, $7327 ; SelectMenu
|
3callasm BANK(SelectMenu), SelectMenu
|
||||||
2jump UnknownScript_0x96b66
|
2jump SelectMenuCallback
|
||||||
; 96b66
|
; 96b66
|
||||||
|
|
||||||
UnknownScript_0x96b66: ; 96b66
|
StartMenuCallback:
|
||||||
|
SelectMenuCallback: ; 96b66
|
||||||
copybytetovar $ffa0
|
copybytetovar $ffa0
|
||||||
if_equal $80, UnknownScript_0x96b72
|
if_equal $80, .Script
|
||||||
if_equal $ff, UnknownScript_0x96b75
|
if_equal $ff, .Asm
|
||||||
end
|
end
|
||||||
; 96b72
|
; 96b72
|
||||||
|
|
||||||
UnknownScript_0x96b72: ; 96b72
|
.Script ; 96b72
|
||||||
2ptjump $d0e8
|
2ptjump $d0e8
|
||||||
; 96b75
|
; 96b75
|
||||||
|
|
||||||
UnknownScript_0x96b75: ; 96b75
|
.Asm ; 96b75
|
||||||
2ptcallasm $d0e8
|
2ptcallasm $d0e8
|
||||||
end
|
end
|
||||||
; 96b79
|
; 96b79
|
||||||
|
15
wram.asm
15
wram.asm
@@ -1665,19 +1665,26 @@ TMsHMs: ; d859
|
|||||||
NumItems: ; d892
|
NumItems: ; d892
|
||||||
ds 1
|
ds 1
|
||||||
Items: ; d893
|
Items: ; d893
|
||||||
ds 69
|
ds 41
|
||||||
|
|
||||||
NumKeyItems: ; d8bc
|
NumKeyItems: ; d8bc
|
||||||
ds 1
|
ds 1
|
||||||
KeyItems: ; d8bd
|
KeyItems: ; d8bd
|
||||||
ds 13
|
ds 26
|
||||||
|
|
||||||
NumBalls: ; d8d7
|
NumBalls: ; d8d7
|
||||||
ds 1
|
ds 1
|
||||||
Balls: ; d8d8
|
Balls: ; d8d8
|
||||||
ds 25
|
ds 25
|
||||||
|
|
||||||
SECTION "overworld",BSS[$d95d]
|
SECTION "overworld",BSS[$d95b]
|
||||||
|
WhichRegisteredItem: ; d95b
|
||||||
|
REGISTERED_POCKET EQU %11000000
|
||||||
|
REGISTERED_NUMBER EQU %00111111
|
||||||
|
ds 1
|
||||||
|
RegisteredItem: ; d95c
|
||||||
|
ds 1
|
||||||
|
|
||||||
PlayerState: ; d95d
|
PlayerState: ; d95d
|
||||||
PLAYER_NORMAL EQU 0
|
PLAYER_NORMAL EQU 0
|
||||||
PLAYER_BIKE EQU 1
|
PLAYER_BIKE EQU 1
|
||||||
|
Reference in New Issue
Block a user