Mon submenu, engine/menu.asm

This commit is contained in:
PikalaxALT 2015-11-04 14:02:11 -05:00
parent 94c720832a
commit cf5d726b7f
27 changed files with 1057 additions and 1018 deletions

View File

@ -2860,13 +2860,13 @@ Function3d1f8: ; 3d1f8
.asm_3d20a
lb bc, 1, 7
call PlaceYesNoBox
ld a, [wcfa9]
ld a, [MenuSelection2]
jr c, .asm_3d217
and a
ret
.asm_3d217
ld a, [wcfa9]
ld a, [MenuSelection2]
cp $1
jr z, .asm_3d20a
ld hl, PartyMon1Speed
@ -3684,7 +3684,7 @@ Function3d74b: ; 3d74b
call StdBattleTextBox
lb bc, 1, 7
call PlaceYesNoBox
ld a, [wcfa9]
ld a, [MenuSelection2]
dec a
jr nz, .asm_3d79a
call Function3d2f7
@ -5288,7 +5288,7 @@ Function3e234: ; 3e234
.asm_3e25d
call Function3f47c
ld a, $1
ld [wcfa9], a
ld [MenuSelection2], a
call ExitMenu
call Function3df2c
call WaitBGMap
@ -5328,7 +5328,7 @@ Function3e299:
call Function3e2f5
jr c, .asm_3e2c8
call Function1bee
ld a, [wcfa9]
ld a, [MenuSelection2]
cp $1
jp z, Function3e358
cp $2
@ -5533,7 +5533,7 @@ BattleMonEntrance: ; 3e40b
call SetPlayerTurn
call SpikesDamage
ld a, $2
ld [wcfa9], a
ld [MenuSelection2], a
ret
; 3e459
@ -5563,7 +5563,7 @@ PassedBattleMonEntrance: ; 3e459
BattleMenu_Run: ; 3e489
call Call_LoadTempTileMapToTileMap
ld a, $3
ld [wcfa9], a
ld [MenuSelection2], a
ld hl, BattleMonSpeed
ld de, EnemyMonSpeed
call TryToRunAwayFromBattle
@ -5659,7 +5659,7 @@ MoveSelectionScreen: ; 3e4bc
inc a
.asm_3e53e
ld [wcfa9], a
ld [MenuSelection2], a
ld a, $1
ld [wcfaa], a
ld a, [wd0eb]
@ -5726,9 +5726,9 @@ MoveSelectionScreen: ; 3e4bc
xor a
ld [wd0e3], a
ld a, [wcfa9]
ld a, [MenuSelection2]
dec a
ld [wcfa9], a
ld [MenuSelection2], a
ld b, a
ld a, [wd235]
dec a
@ -5751,7 +5751,7 @@ MoveSelectionScreen: ; 3e4bc
ret nz
ld hl, BattleMonPP
ld a, [wcfa9]
ld a, [MenuSelection2]
ld c, a
ld b, 0
add hl, bc
@ -5767,7 +5767,7 @@ MoveSelectionScreen: ; 3e4bc
ld a, [wc6e1]
and a
jr nz, .asm_3e606
ld a, [wcfa9]
ld a, [MenuSelection2]
ld hl, BattleMonMoves
ld c, a
ld b, 0
@ -5797,17 +5797,17 @@ MoveSelectionScreen: ; 3e4bc
; 3e61d
.asm_3e61d
ld a, [wcfa9]
ld a, [MenuSelection2]
and a
jp nz, .asm_3e57a
ld a, [wd0eb]
inc a
ld [wcfa9], a
ld [MenuSelection2], a
jp .asm_3e57a
; 3e62e
.asm_3e62e ; 3e62e
ld a, [wcfa9]
ld a, [MenuSelection2]
ld b, a
ld a, [wd0eb]
rept 2
@ -5816,7 +5816,7 @@ endr
cp b
jp nz, .asm_3e57a
ld a, $1
ld [wcfa9], a
ld [MenuSelection2], a
jp .asm_3e57a
; 3e643
@ -5833,7 +5833,7 @@ endr
swap a
and $f
ld b, a
ld a, [wcfa9]
ld a, [MenuSelection2]
cp b
jr nz, .asm_3e671
ld a, [hl]
@ -5852,7 +5852,7 @@ endr
ld a, [hl]
and $f
ld b, a
ld a, [wcfa9]
ld a, [MenuSelection2]
swap a
add b
ld [hl], a
@ -5886,7 +5886,7 @@ endr
ld d, h
ld e, l
pop hl
ld a, [wcfa9]
ld a, [MenuSelection2]
dec a
ld c, a
ld b, 0
@ -5899,7 +5899,7 @@ endr
ret
.asm_3e6bf
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wd0e3], a
jp MoveSelectionScreen
; 3e6c8
@ -5921,7 +5921,7 @@ MoveInfoBox: ; 3e6c8
swap a
and $f
ld b, a
ld a, [wcfa9]
ld a, [MenuSelection2]
cp b
jr nz, .asm_3e6f4
@ -5931,11 +5931,11 @@ MoveInfoBox: ; 3e6c8
jr .done
.asm_3e6f4
ld hl, wcfa9
ld hl, MenuSelection2
dec [hl]
call SetPlayerTurn
ld hl, BattleMonMoves
ld a, [wcfa9]
ld a, [MenuSelection2]
ld c, a
ld b, 0
add hl, bc
@ -5948,7 +5948,7 @@ MoveInfoBox: ; 3e6c8
ld [MonType], a
callab Functionf8ec
ld hl, wcfa9
ld hl, MenuSelection2
ld c, [hl]
inc [hl]
ld b, 0
@ -7250,9 +7250,9 @@ Function3edad: ; 3edad
ld hl, VTiles2 tile $73
lb bc, BANK(GFX_f8ae0), 6
call Get1bpp
ld de, GFX_f8b10
ld de, ExpBarGFX
ld hl, VTiles2 tile $55
lb bc, BANK(GFX_f8b10), 8
lb bc, BANK(ExpBarGFX), 8
jp Get2bpp
; 3edd1

View File

@ -7,6 +7,7 @@ MAX_PC_ITEMS EQU 50
; strings
PLAYER_NAME_LENGTH EQU 8
BOX_NAME_LENGTH EQU 9
PKMN_NAME_LENGTH EQU 11
MOVE_NAME_LENGTH EQU 13
ITEM_NAME_LENGTH EQU 13
@ -161,3 +162,5 @@ const_value = 1
HMENURETURN_SCRIPT EQU %10000000
HMENURETURN_ASM EQU %11111111
NUM_MON_SUBMENU_ITEMS EQU 8

View File

@ -292,3 +292,30 @@ MON_SDF EQUS "PartyMon1SpclDef - PartyMon1"
BOXMON_STRUCT_LENGTH EQUS "PartyMon1End - PartyMon1"
PARTYMON_STRUCT_LENGTH EQUS "PartyMon1StatsEnd - PartyMon1"
SCRATCHMON_STRUCT_LENGTH EQUS "PartyMon1StatsEnd - PartyMon1Item"
const_value SET 1
const MONMENU_CUT ; 1
const MONMENU_FLY ; 2
const MONMENU_SURF ; 3
const MONMENU_STRENGTH ; 4
const MONMENU_WATERFALL ; 5
const MONMENU_FLASH ; 6
const MONMENU_WHIRLPOOL ; 7
const MONMENU_DIG ; 8
const MONMENU_TELEPORT ; 9
const MONMENU_SOFTBOILED ; 10
const MONMENU_HEADBUTT ; 11
const MONMENU_ROCKSMASH ; 12
const MONMENU_MILKDRINK ; 13
const MONMENU_SWEETSCENT ; 14
const MONMENU_STATS ; 15
const MONMENU_SWITCH ; 16
const MONMENU_ITEM ; 17
const MONMENU_CANCEL ; 18
const MONMENU_MOVE ; 19
const MONMENU_MAIL ; 20
const MONMENU_ERROR ; 21
MONMENU_FIELD_MOVE EQU 0
MONMENU_MENUOPTION EQU 1

587
engine/menu.asm Executable file

File diff suppressed because it is too large Load Diff

View File

@ -70,7 +70,7 @@ Function10067: ; 10067 (4:4067)
call Function350c
ld a, [wd0e4]
ld [wd0df], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wItemsPocketCursor], a
ld b, $7
ld c, $3
@ -98,7 +98,7 @@ Function100a6: ; 100a6 (4:40a6)
call Function350c
ld a, [wd0e4]
ld [wd0e0], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wKeyItemsPocketCursor], a
ld b, $3
ld c, $7
@ -141,7 +141,7 @@ Function100e8: ; 100e8 (4:40e8)
call ExitMenu
pop hl
ret c
ld a, [wcfa9]
ld a, [MenuSelection2]
dec a
call Function1086b
jp [hl]
@ -228,7 +228,7 @@ Function10198: ; 10198 (4:4198)
call Function350c
ld a, [wd0e4]
ld [wd0e1], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wBallsPocketCursor], a
ld b, $1
ld c, $5
@ -301,7 +301,7 @@ Function101c5: ; 101c5 (4:41c5)
call ExitMenu
pop hl
ret c
ld a, [wcfa9]
ld a, [MenuSelection2]
dec a
call Function1086b
jp [hl]
@ -728,7 +728,7 @@ Function104fa: ; 104fa (4:44fa)
call Function350c
ld a, [wd0e4]
ld [wd0df], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wItemsPocketCursor], a
ld b, $7
ld c, $3
@ -756,7 +756,7 @@ Function10539: ; 10539 (4:4539)
call Function350c
ld a, [wd0e4]
ld [wd0e0], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wKeyItemsPocketCursor], a
ld b, $3
ld c, $7
@ -807,7 +807,7 @@ Function105a6: ; 105a6 (4:45a6)
call Function350c
ld a, [wd0e4]
ld [wd0e1], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wBallsPocketCursor], a
ld b, $1
ld c, $5
@ -836,7 +836,7 @@ Function105dc: ; 105dc (4:45dc)
call ExitMenu
pop hl
ret c
ld a, [wcfa9]
ld a, [MenuSelection2]
dec a
call Function1086b
jp [hl]
@ -1013,7 +1013,7 @@ Jumptable_106d1: ; 106d1 (4:46d1)
call Function350c
ld a, [wd0e4]
ld [wd0df], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wItemsPocketCursor], a
ret
@ -1029,7 +1029,7 @@ Jumptable_106d1: ; 106d1 (4:46d1)
call Function350c
ld a, [wd0e4]
ld [wd0e0], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wKeyItemsPocketCursor], a
ret
@ -1054,7 +1054,7 @@ Jumptable_106d1: ; 106d1 (4:46d1)
call Function350c
ld a, [wd0e4]
ld [wd0e1], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wBallsPocketCursor], a
ret

View File

@ -212,7 +212,7 @@ SaveTheGame_yesorno: ; 14baf
call LoadMenuTextBox
lb bc, 0, 7
call PlaceYesNoBox
ld a, [wcfa9]
ld a, [MenuSelection2]
dec a
call WriteBackup
push af

View File

@ -515,7 +515,7 @@ Script_interpretmenu2: ; 0x96f30
ld a, [ScriptBank]
ld hl, InterpretMenu2
rst FarCall
ld a, [wcfa9]
ld a, [MenuSelection2]
jr nc, .ok
xor a
.ok

View File

@ -201,7 +201,7 @@ Function8b09e: ; 8b09e
ld [hBGMapMode], a
ld hl, MenuDataHeader_0x8b0d1
call CopyMenuDataHeader
call Function1cbb
call MenuBox
call UpdateSprites
call GetMemTileCoord
ld bc, $0015
@ -255,7 +255,7 @@ Function8b0e2: ; 8b0e2
call Function350c
ld a, [MenuSelection]
ld c, a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [MenuSelection], a
ld a, [wcf73]
cp $2

View File

@ -40,7 +40,7 @@ Special_SelectApricornForKurt: ; 88018
and a
jr z, .done
ld [CurItem], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld c, a
push bc
call Kurt_PrintTextHowMany
@ -135,7 +135,7 @@ Kurt_SelectQuantity: ; 880c2
.loop
xor a
ld [hBGMapMode], a
call Function1cbb
call MenuBox
call UpdateSprites
call .PlaceApricornName
call PlaceApricornQuantity

View File

@ -109,7 +109,7 @@ endr
call InterpretMenu2
call WriteBackup
jr c, .cancel
ld a, [wcfa9]
ld a, [MenuSelection2]
cp $1
jr z, .withdraw
cp $2

View File

@ -25,7 +25,7 @@ MoveDeletion:
call Function2b74
pop af
jr c, .asm_2c5c3
ld a, [wcfa9]
ld a, [MenuSelection2]
push af
ld a, [CurSpecies]
ld [wd265], a

View File

@ -122,7 +122,7 @@ Special_DisplayUnownWords: ; 8ae68
call LoadMenuDataHeader
xor a
ld [hBGMapMode], a
call Function1cbb
call MenuBox
call UpdateSprites
call Function321c
call GetMemTileCoord

View File

@ -74,12 +74,12 @@ Call_ExitMenu:: ; 1d7d
InterpretMenu2::
xor a
ld [hBGMapMode], a
call Function1cbb
call MenuBox
call UpdateSprites
call Function1c89
call Function321c
call Function1c66
ld a, [wcf91]
ld a, [wMenuData2Flags]
bit 7, a
jr z, .cancel
call Function1c10
@ -99,7 +99,7 @@ GetMenu2:: ; 1dab
call LoadMenuDataHeader
call InterpretMenu2
call WriteBackup
ld a, [wcfa9]
ld a, [MenuSelection2]
ret
; 1db8
@ -168,7 +168,7 @@ InterpretTwoOptionMenu:: ; 1dfe
call WriteBackup
pop af
jr c, .no
ld a, [wcfa9]
ld a, [MenuSelection2]
cp 2 ; no
jr z, .no
and a
@ -176,7 +176,7 @@ InterpretTwoOptionMenu:: ; 1dfe
.no
ld a, 2
ld [wcfa9], a
ld [MenuSelection2], a
scf
ret
; 1e1d
@ -249,7 +249,7 @@ MenuFunc_1e7f::
call Function1c66
call Function1ebd
call Function1ea6
call Function1cbb
call MenuBox
ret
MenuWriteText::
@ -274,7 +274,7 @@ Function1ea6:: ; 1ea6
ld a, [wMenuBorderRightCoord]
sub c
ld c, a
ld a, [wcf92]
ld a, [wMenuData2Items]
add a
inc a
ld b, a
@ -305,7 +305,7 @@ Function1ebd:: ; 1ebd
ld d, h
ld e, l
ld a, [hl]
ld [wcf92], a
ld [wMenuData2Items], a
ret
; 1eda
@ -342,13 +342,13 @@ Function1efb:: ; 1efb
Function1eff:: ; 1eff
call Function1c10
ld hl, wcfa8
ld a, [wcf91]
ld a, [wMenuData2Flags]
bit 3, a
jr z, .asm_1f0e
set 3, [hl]
.asm_1f0e
ld a, [wcf91]
ld a, [wMenuData2Flags]
bit 2, a
jr z, .asm_1f19
set 5, [hl]
@ -403,13 +403,13 @@ Function1f2a:: ; 1f2a
.asm_1f57
call Function1ebd
ld a, [wcfa9]
ld a, [MenuSelection2]
ld l, a
ld h, $0
add hl, de
ld a, [hl]
ld [MenuSelection], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wMenuCursorBuffer], a
and a
ret
@ -491,7 +491,7 @@ ResetTextRelatedRAM:: ; 1fbf
call .bytefill
ld hl, wcf81
call .bytefill
ld hl, wcf91
ld hl, wMenuData2Flags
call .bytefill
ld hl, wcfa1
call .bytefill

View File

@ -88,7 +88,7 @@ Function1c66:: ; 1c66
ld a, [hli]
ld h, [hl]
ld l, a
ld de, wcf91
ld de, wMenuData2Flags
ld bc, $0010
call CopyBytes
pop af
@ -131,7 +131,7 @@ Function1c89:: ; 1c89
pop bc
dec b
jr nz, .asm_1c9c
ld a, [wcf91]
ld a, [wMenuData2Flags]
bit 4, a
ret z
call GetMemTileCoord
@ -143,7 +143,7 @@ Function1c89:: ; 1c89
jp PlaceString
; 1cbb
Function1cbb:: ; 1cbb
MenuBox:: ; 1cbb
call GetMemTileCoord
call GetMenuBoxDims
dec b
@ -158,13 +158,13 @@ Function1cc6:: ; 1cc6
ld a, [wMenuBorderLeftCoord]
ld c, a
inc c
ld a, [wcf91]
ld a, [wMenuData2Flags]
bit 6, a
jr nz, .asm_1cd8
inc b
.asm_1cd8
ld a, [wcf91]
ld a, [wMenuData2Flags]
bit 7, a
jr z, .asm_1ce0
inc c

View File

@ -2667,7 +2667,7 @@ Functionf6a7: ; f6a7
Elixer_RestorePPofAllMoves: ; f6af
xor a
ld hl, wcfa9
ld hl, MenuSelection2
ld [hli], a
ld [hl], a
ld b, NUM_MOVES
@ -2686,7 +2686,7 @@ Elixer_RestorePPofAllMoves: ; f6af
inc [hl]
.cant_restore_pp
ld hl, wcfa9
ld hl, MenuSelection2
inc [hl]
pop bc
dec b
@ -3123,7 +3123,7 @@ Functionf84c: ; f84c
ld a, [wd265]
dec a
jr nz, .asm_f876
ld a, [wcfa9]
ld a, [MenuSelection2]
inc a
cp b
jr nz, .asm_f87d
@ -3200,7 +3200,7 @@ Functionf8b9: ; f8b9
call GetPartyParamLocation
pop de
xor a ; PARTYMON
ld [wcfa9], a
ld [MenuSelection2], a
ld [MonType], a
ld c, NUM_MOVES
.loop
@ -3220,7 +3220,7 @@ Functionf8b9: ; f8b9
add b
ld [de], a
inc de
ld hl, wcfa9
ld hl, MenuSelection2
inc [hl]
pop hl
dec c
@ -3313,7 +3313,7 @@ GetMthMoveOfNthPartymon: ; f963
call AddNTimes
GetMthMoveOfCurrentMon: ; f969
ld a, [wcfa9]
ld a, [MenuSelection2]
ld c, a
ld b, 0
add hl, bc

1128
main.asm

File diff suppressed because it is too large Load Diff

View File

@ -368,7 +368,7 @@ Function11c1ca: ; 11c1ca
ld [wcd2b], a
ld a, $ff
ld [wcd24], a
ld a, [wcfa9]
ld a, [MenuSelection2]
dec a
call Function11c254
call WhiteBGMap
@ -1813,7 +1813,7 @@ String_11cb31: ; 11cb31
Function11cb52: ; 11cb52 (47:4b52)
ld hl, Unknown_11cc01
ld a, [wcfa9]
ld a, [MenuSelection2]
.asm_11cb58
dec a
jr z, .asm_11cb5f
@ -1851,7 +1851,7 @@ Function11cb66: ; 11cb66 (47:4b66)
ld a, $4
call GetSRAMBank
ld hl, $a007
ld a, [wcfa9]
ld a, [MenuSelection2]
dec a
sla a
sla a
@ -1874,7 +1874,7 @@ Function11cb66: ; 11cb66 (47:4b66)
ld de, Unknown_11cfc6
call Function11cfce
ld hl, Unknown_11cc7e
ld a, [wcfa9]
ld a, [MenuSelection2]
.asm_11cbba
dec a
jr z, .asm_11cbc1

View File

@ -259,7 +259,7 @@ Function89261: ; 89261
call Function8920f
pop af
jr c, .done
ld a, [wcfa9]
ld a, [MenuSelection2]
cp $2
jr z, .done
and a
@ -2222,7 +2222,7 @@ asm_89d90: ; 89d90 (22:5d90)
push hl
call _hl_
call Function89dab
ld a, [wcfa9]
ld a, [MenuSelection2]
push af
call Function891ab
pop af
@ -2253,7 +2253,7 @@ Function89dab: ; 89dab (22:5dab)
call PlayClickSFX
ld a, [wcfa3]
ld c, a
ld a, [wcfa9]
ld a, [MenuSelection2]
cp c
jr z, .asm_89dd9
call Function1bee
@ -2273,7 +2273,7 @@ Function89de0: ; 89de0 (22:5de0)
.asm_89dea
call Function8a31c
jr z, .asm_89dfd
ld a, [wcfa9]
ld a, [MenuSelection2]
ld c, a
push bc
ld hl, Jumptable_89e04
@ -2782,7 +2782,7 @@ Function8a116: ; 8a116 (22:6116)
call Function8923c
call Function8a17b
jr c, .asm_8a16b
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wd030], a
dec d
jr z, .asm_8a140
@ -2865,7 +2865,7 @@ Function8a1b0: ; 8a1b0
ld c, $12
call TextBox
hlcoord 1, 14
ld a, [wcfa9]
ld a, [MenuSelection2]
ld de, Strings_8a1cc
dec a
ld c, a
@ -3104,7 +3104,7 @@ Function8a383: ; 8a383 (22:6383)
ret
Function8a3a2: ; 8a3a2 (22:63a2)
ld a, [wcfa9]
ld a, [MenuSelection2]
dec a
ld hl, DefaultFlypoint
ld e, a

View File

@ -854,7 +854,7 @@ Function8b7bd: ; 8b7bd
.asm_8b824
ld c, a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wd030], a
ld a, [wd0e4]
ld [wd031], a
@ -863,7 +863,7 @@ Function8b7bd: ; 8b7bd
Function8b832: ; 8b832
ld a, [wd0e4]
ld hl, wcf92
ld hl, wMenuData2Items
sub [hl]
jr nc, Function8b84b
xor a
@ -872,7 +872,7 @@ Function8b832: ; 8b832
Function8b83e: ; 8b83e
ld a, [wd0e4]
ld hl, wcf92
ld hl, wMenuData2Items
add [hl]
cp $24
jr c, Function8b84b
@ -880,7 +880,7 @@ Function8b83e: ; 8b83e
Function8b84b: ; 8b84b
ld [wd0e4], a
ld a, [wcfa9]
ld a, [MenuSelection2]
ld [wMenuCursorBuffer], a
ret
; 8b855

Some files were not shown because too many files have changed in this diff Show More