mirror of
https://github.com/pret/pokeyellow.git
synced 2025-03-01 14:45:49 +00:00
disasm MoveSelectionMenu
This commit is contained in:
parent
cf91edd39f
commit
213e60f807
@ -148,6 +148,7 @@ W_MENUWRAPPINGENABLED EQU $CC4A
|
||||
W_PLAYERSUBSITUTEHP EQU $CCD7
|
||||
W_ENEMYSUBSITUTEHP EQU $CCD8
|
||||
|
||||
W_MOVEMENUTYPE EQU $CCDB ; 0=regular, 1=mimic, 2=above message box (relearn, heal pp..)
|
||||
W_PLAYERSELECTEDMOVE EQU $CCDC
|
||||
W_ENEMYSELECTEDMOVE EQU $CCDD
|
||||
|
||||
|
243
main.asm
243
main.asm
@ -17552,7 +17552,7 @@ ItemUsePPRestore: ; 631E
|
||||
cp a,ELIXER
|
||||
jp nc,.useElixir ; if Elixir or Max Elixir
|
||||
ld a,$02
|
||||
ld [$ccdb],a
|
||||
ld [W_MOVEMENUTYPE],a
|
||||
ld hl,RaisePPWhichTechniqueText
|
||||
ld a,[$cd3d]
|
||||
cp a,ETHER ; is it a PP Up?
|
||||
@ -17562,8 +17562,8 @@ ItemUsePPRestore: ; 631E
|
||||
call PrintText
|
||||
xor a
|
||||
ld [$cc2e],a
|
||||
ld hl,$5219
|
||||
ld b,$0f
|
||||
ld hl,MoveSelectionMenu
|
||||
ld b,BANK(MoveSelectionMenu)
|
||||
call Bankswitch ; move selection menu
|
||||
ld a,0
|
||||
ld [$cc2e],a
|
||||
@ -40657,19 +40657,240 @@ UnnamedText_3d1f5: ; 0x3d1f5
|
||||
db $50
|
||||
; 0x3d1f5 + 5 bytes
|
||||
|
||||
INCBIN "baserom.gbc",$3d1fa,$3d3ae - $3d1fa
|
||||
INCBIN "baserom.gbc",$3d1fa,$3D219 - $3d1fa
|
||||
|
||||
UnnamedText_3d3ae: ; 0x3d3ae
|
||||
TX_FAR _UnnamedText_3d3ae
|
||||
MoveSelectionMenu: ; 3D219 F:5219
|
||||
ld a, [W_MOVEMENUTYPE] ; menu type
|
||||
dec a
|
||||
jr z, .mimicmenu ; 0x3d21d $56
|
||||
dec a
|
||||
jr z, .relearnmenu ; 0x3d220 $6f
|
||||
jr .regularmenu ; 0x3d222 $25
|
||||
.loadmoves ; 3d222 , called
|
||||
ld de, $d0dc
|
||||
ld bc, $0004
|
||||
call CopyData
|
||||
ld hl, $5b87
|
||||
ld b, $e
|
||||
call Bankswitch
|
||||
ret
|
||||
.writemoves ; 5236 , called
|
||||
ld de, $d0e1
|
||||
ld a, [$ff00+$f6]
|
||||
set 2, a
|
||||
ld [$ff00+$f6], a
|
||||
call PlaceString
|
||||
ld a, [$ff00+$f6]
|
||||
res 2, a
|
||||
ld [$ff00+$f6], a
|
||||
ret
|
||||
.regularmenu ; 3D249
|
||||
call $53f5
|
||||
ret z
|
||||
ld hl, $d01c ; W_PLAYERMON?
|
||||
call .loadmoves
|
||||
FuncCoord 4, 12 ; $c494
|
||||
ld hl, Coord
|
||||
ld b, $4
|
||||
ld c, $e
|
||||
di
|
||||
call TextBoxBorder
|
||||
FuncCoord 4, 12 ; $c494
|
||||
ld hl, Coord
|
||||
ld [hl], $7a
|
||||
FuncCoord 10, 12 ; $c49a
|
||||
ld hl, Coord
|
||||
ld [hl], $7e
|
||||
ei
|
||||
FuncCoord 6, 13 ; $c4aa
|
||||
ld hl, Coord
|
||||
call .writemoves
|
||||
ld b, $5
|
||||
ld a, $c
|
||||
jr .menuset ; 0x3d273 $3f
|
||||
.mimicmenu
|
||||
ld hl, $cfed
|
||||
call .loadmoves
|
||||
FuncCoord 0, 7 ; $c42c
|
||||
ld hl, Coord
|
||||
ld b, $4
|
||||
ld c, $e
|
||||
call TextBoxBorder
|
||||
ld hl, $c442
|
||||
call .writemoves
|
||||
ld b, $1
|
||||
ld a, $7
|
||||
jr .menuset ; 0x3d28f $23
|
||||
.relearnmenu
|
||||
ld a, [W_WHICHPOKEMON]
|
||||
ld hl, $d173
|
||||
ld bc, $002c
|
||||
call AddNTimes
|
||||
call .loadmoves
|
||||
FuncCoord 4, 7 ; $c430
|
||||
ld hl, Coord
|
||||
ld b, $4
|
||||
ld c, $e
|
||||
call TextBoxBorder
|
||||
FuncCoord 6, 8 ; $c446
|
||||
ld hl, Coord
|
||||
call .writemoves
|
||||
ld b, $5
|
||||
ld a, $7
|
||||
.menuset
|
||||
ld hl, W_TOPMENUITEMY
|
||||
ld [hli], a
|
||||
ld a, b
|
||||
ld [hli], a ; W_TOPMENUITEMX
|
||||
ld a, [W_MOVEMENUTYPE]
|
||||
cp $1
|
||||
jr z, .selectedmoveknown ; 0x3d2bf $8
|
||||
ld a, $1
|
||||
jr nc, .selectedmoveknown ; 0x3d2c3 $4
|
||||
ld a, [W_PLAYERMOVELISTINDEX]
|
||||
inc a
|
||||
.selectedmoveknown
|
||||
ld [hli], a ; W_CURMENUITEMID
|
||||
inc hl ; W_TILEBEHINDCURSOR untouched
|
||||
ld a, [$cd6c]
|
||||
inc a
|
||||
inc a
|
||||
ld [hli], a ; W_MAXMENUITEMID
|
||||
ld a, [W_MOVEMENUTYPE]
|
||||
dec a
|
||||
ld b, $c1 ; can't use B
|
||||
jr z, .matchedkeyspicked ; 0x3d2d7 $17
|
||||
dec a
|
||||
ld b, $c3
|
||||
jr z, .matchedkeyspicked ; 0x3d2dc $12
|
||||
ld a, [W_ISLINKBATTLE]
|
||||
cp $4
|
||||
jr z, .matchedkeyspicked ; 0x3d2e3 $b
|
||||
ld a, [$d733]
|
||||
bit 0, a
|
||||
ld b, $c7
|
||||
jr z, .matchedkeyspicked ; 0x3d2ec $2
|
||||
ld b, $ff
|
||||
.matchedkeyspicked
|
||||
ld a, b
|
||||
ld [hli], a ; W_MENUWATCHEDKEYS
|
||||
ld a, [W_MOVEMENUTYPE]
|
||||
cp $1
|
||||
jr z, .movelistindex1 ; 0x3d2f7 $4
|
||||
ld a, [W_PLAYERMOVELISTINDEX]
|
||||
inc a
|
||||
.movelistindex1
|
||||
ld [hl], a ; W_OLDMENUITEMID
|
||||
ld a, [W_MOVEMENUTYPE]
|
||||
and a
|
||||
jr z, .battleselect ; 0x3d302 $e
|
||||
dec a
|
||||
jr nz, .select ; 0x3d305 $27
|
||||
FuncCoord 1, 14 ; $c4b9
|
||||
ld hl, Coord
|
||||
ld de, WhichTechniqueString
|
||||
call PlaceString
|
||||
jr .select ; 0x3d310 $1c
|
||||
.battleselect
|
||||
ld a, [$d733]
|
||||
bit 0, a
|
||||
jr nz, .select ; 0x3d317 $15
|
||||
call $54b6
|
||||
ld a, [$cc35]
|
||||
and a
|
||||
jr z, .select ; 0x3d320 $c
|
||||
ld hl, $c4a9
|
||||
dec a
|
||||
ld bc, $0014
|
||||
call AddNTimes
|
||||
ld [hl], $ec
|
||||
.select ; 3d32e
|
||||
ld hl, $fff6
|
||||
set 1, [hl]
|
||||
call HandleMenuInput
|
||||
ld hl, $fff6
|
||||
res 1, [hl]
|
||||
bit 6, a
|
||||
jp nz, $53c9 ; up
|
||||
bit 7, a
|
||||
jp nz, $53dd ; down
|
||||
bit 2, a
|
||||
jp nz, $5435 ; select
|
||||
bit 1, a ; B, but it was reset above?
|
||||
push af
|
||||
xor a
|
||||
ld [$cc35], a
|
||||
ld a, [W_CURMENUITEMID]
|
||||
dec a
|
||||
ld [W_CURMENUITEMID], a
|
||||
ld b, a
|
||||
ld a, [W_MOVEMENUTYPE]
|
||||
dec a ; if not mimic
|
||||
jr nz, .nob ; 0x3d35d $2
|
||||
pop af
|
||||
ret
|
||||
.nob; 3d361
|
||||
dec a
|
||||
ld a, b
|
||||
ld [W_PLAYERMOVELISTINDEX], a
|
||||
jr nz, .moveselected ; 0x3d366 $2
|
||||
pop af
|
||||
ret
|
||||
.moveselected ; 3d36a
|
||||
pop af
|
||||
ret nz
|
||||
ld hl, W_PLAYERMONPP
|
||||
ld a, [W_CURMENUITEMID]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
and $3f
|
||||
jr z, .nopp ; 0x3d379 $27
|
||||
ld a, [W_PLAYERDISABLEDMOVE]
|
||||
swap a
|
||||
and $f
|
||||
dec a
|
||||
cp c
|
||||
jr z, .disabled ; 0x3d384 $17
|
||||
ld a, [W_PLAYERBATTSTATUS3]
|
||||
bit 3, a ; transformed
|
||||
jr nz, .dummy ; game freak derp
|
||||
.dummy ; 3d38d
|
||||
ld a, [W_CURMENUITEMID]
|
||||
ld hl, $d01c
|
||||
ld c, a
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [W_PLAYERSELECTEDMOVE], a
|
||||
xor a
|
||||
ret
|
||||
.disabled ;
|
||||
ld hl, MoveDisabledText
|
||||
jr .print ; 0x3d3a0 $3
|
||||
.nopp ;
|
||||
ld hl, MoveNoPPText
|
||||
.print ; 3d3a5
|
||||
call PrintText
|
||||
call $3725
|
||||
jp MoveSelectionMenu
|
||||
|
||||
MoveNoPPText: ; 0x3d3ae
|
||||
TX_FAR MoveNoPPText_
|
||||
db $50
|
||||
; 0x3d3ae + 5 bytes
|
||||
|
||||
UnnamedText_3d3b3: ; 0x3d3b3
|
||||
TX_FAR _UnnamedText_3d3b3
|
||||
MoveDisabledText: ; 0x3d3b3
|
||||
TX_FAR MoveDisabledText_
|
||||
db $50
|
||||
; 0x3d3b3 + 5 bytes
|
||||
|
||||
INCBIN "baserom.gbc",$3d3b8,$3d430 - $3d3b8
|
||||
WhichTechniqueString: ; 3d3b8
|
||||
db "WHICH TECHNIQUE?@"
|
||||
; 3d3c9
|
||||
|
||||
INCBIN "baserom.gbc",$3d3c9,$3d430 - $3d3c9
|
||||
|
||||
UnnamedText_3d430: ; 0x3d430
|
||||
TX_FAR _UnnamedText_3d430
|
||||
@ -80640,12 +80861,12 @@ _UnnamedText_3d1f5: ; 0x8984b
|
||||
db "already out!", $58
|
||||
; 0x8984b + 21 bytes
|
||||
|
||||
_UnnamedText_3d3ae: ; 0x89860
|
||||
MoveNoPPText_: ; 0x89860
|
||||
db $0, "No PP left for", $4f
|
||||
db "this move!", $58
|
||||
; 0x89860 + 27 bytes
|
||||
|
||||
_UnnamedText_3d3b3: ; 0x8987b
|
||||
MoveDisabledText_: ; 0x8987b
|
||||
db $0, "The move is", $4f
|
||||
db "disabled!", $58
|
||||
; 0x8987b + 23 bytes
|
||||
|
Loading…
x
Reference in New Issue
Block a user