mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-04-05 10:01:53 +12:00
Remove most static wram addresses. Use labels instead.
For unknown addresses, use "w<address>". Label overleads are still an issue.
This commit is contained in:
parent
52ba96f5f4
commit
40c17c906b
290 changed files with 8262 additions and 7759 deletions
|
|
@ -12,15 +12,15 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
and a
|
||||
jp z,RedisplayStartMenu
|
||||
xor a
|
||||
ld [$cc35],a
|
||||
ld [$d07d],a
|
||||
ld [$cfcb],a
|
||||
ld [wcc35],a
|
||||
ld [wd07d],a
|
||||
ld [wcfcb],a
|
||||
call DisplayPartyMenu
|
||||
jr .checkIfPokemonChosen
|
||||
.loop
|
||||
xor a
|
||||
ld [$cc35],a
|
||||
ld [$d07d],a
|
||||
ld [wcc35],a
|
||||
ld [wd07d],a
|
||||
call GoBackToPartyMenu
|
||||
.checkIfPokemonChosen
|
||||
jr nc,.chosePokemon
|
||||
|
|
@ -32,9 +32,9 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
.chosePokemon
|
||||
call SaveScreenTilesToBuffer1 ; save screen
|
||||
ld a,$04
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID ; display pokemon menu options
|
||||
ld hl,$cd3d
|
||||
ld hl,wWhichTrade
|
||||
ld bc,$020c ; max menu item ID, top menu item Y
|
||||
ld e,5
|
||||
.adjustMenuVariablesLoop
|
||||
|
|
@ -82,7 +82,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
jp z,.choseStats
|
||||
ld c,a
|
||||
ld b,0
|
||||
ld hl,$cd3d
|
||||
ld hl,wWhichTrade
|
||||
add hl,bc
|
||||
jp .choseOutOfBattleMove
|
||||
.choseSwitch
|
||||
|
|
@ -91,13 +91,13 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
jp c,StartMenu_Pokemon ; if not, no switching
|
||||
call SwitchPartyMon_Stats
|
||||
ld a,$04 ; swap pokemon positions menu
|
||||
ld [$d07d],a
|
||||
ld [wd07d],a
|
||||
call GoBackToPartyMenu
|
||||
jp .checkIfPokemonChosen
|
||||
.choseStats
|
||||
call ClearSprites
|
||||
xor a
|
||||
ld [$cc49],a
|
||||
ld [wcc49],a
|
||||
ld a,$36
|
||||
call Predef
|
||||
ld a,$37
|
||||
|
|
@ -145,11 +145,11 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
jp .loop
|
||||
.canFly
|
||||
call ChooseFlyDestination
|
||||
ld a,[$d732]
|
||||
ld a,[wd732]
|
||||
bit 3,a ; did the player decide to fly?
|
||||
jp nz,.goBackToMap
|
||||
call LoadFontTilePatterns
|
||||
ld hl,$d72e
|
||||
ld hl,wd72e
|
||||
set 1,[hl]
|
||||
jp StartMenu_Pokemon
|
||||
.cut
|
||||
|
|
@ -157,7 +157,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
jp z,.newBadgeRequired
|
||||
ld a,$3c
|
||||
call Predef
|
||||
ld a,[$cd6a]
|
||||
ld a,[wcd6a]
|
||||
and a
|
||||
jp z,.loop
|
||||
jp CloseTextDisplay
|
||||
|
|
@ -165,15 +165,15 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
bit 4,a ; does the player have the Soul Badge?
|
||||
jp z,.newBadgeRequired
|
||||
callba CheckForForcedBikeSurf
|
||||
ld hl,$d728
|
||||
ld hl,wd728
|
||||
bit 1,[hl]
|
||||
res 1,[hl]
|
||||
jp z,.loop
|
||||
ld a,SURFBOARD
|
||||
ld [$cf91],a
|
||||
ld [$d152],a
|
||||
ld [wcf91],a
|
||||
ld [wd152],a
|
||||
call UseItem
|
||||
ld a,[$cd6a]
|
||||
ld a,[wcd6a]
|
||||
and a
|
||||
jp z,.loop
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
|
@ -189,7 +189,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
bit 0,a ; does the player have the Boulder Badge?
|
||||
jp z,.newBadgeRequired
|
||||
xor a
|
||||
ld [$d35d],a
|
||||
ld [wd35d],a
|
||||
ld hl,.flashLightsAreaText
|
||||
call PrintText
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
|
@ -199,10 +199,10 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
db "@"
|
||||
.dig
|
||||
ld a,ESCAPE_ROPE
|
||||
ld [$cf91],a
|
||||
ld [$d152],a
|
||||
ld [wcf91],a
|
||||
ld [wd152],a
|
||||
call UseItem
|
||||
ld a,[$cd6a]
|
||||
ld a,[wcd6a]
|
||||
and a
|
||||
jp z,.loop
|
||||
call GBPalWhiteOutWithDelay3
|
||||
|
|
@ -219,10 +219,10 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
.canTeleport
|
||||
ld hl,.warpToLastPokemonCenterText
|
||||
call PrintText
|
||||
ld hl,$d732
|
||||
ld hl,wd732
|
||||
set 3,[hl]
|
||||
set 6,[hl]
|
||||
ld hl,$d72e
|
||||
ld hl,wd72e
|
||||
set 1,[hl]
|
||||
res 4,[hl]
|
||||
ld c,60
|
||||
|
|
@ -261,14 +261,14 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
|
|||
ld a,[H_QUOTIENT + 2]
|
||||
sbc b
|
||||
jp nc,.notHealthyEnough
|
||||
ld a,[$cc2b]
|
||||
ld a,[wcc2b]
|
||||
push af
|
||||
ld a,POTION
|
||||
ld [$cf91],a
|
||||
ld [$d152],a
|
||||
ld [wcf91],a
|
||||
ld [wd152],a
|
||||
call UseItem
|
||||
pop af
|
||||
ld [$cc2b],a
|
||||
ld [wcc2b],a
|
||||
jp .loop
|
||||
.notHealthyEnough ; if current HP is less than 1/5 of max HP
|
||||
ld hl,.notHealthyEnoughText
|
||||
|
|
@ -314,19 +314,19 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
jr .exitMenu
|
||||
.notInLinkBattle
|
||||
ld bc,wNumBagItems
|
||||
ld hl,$cf8b
|
||||
ld hl,wcf8b
|
||||
ld a,c
|
||||
ld [hli],a
|
||||
ld [hl],b ; store item bag pointer at $cf8b (for DisplayListMenuID)
|
||||
ld [hl],b ; store item bag pointer at wcf8b (for DisplayListMenuID)
|
||||
xor a
|
||||
ld [$cf93],a
|
||||
ld [wcf93],a
|
||||
ld a,ITEMLISTMENU
|
||||
ld [wListMenuID],a
|
||||
ld a,[$cc2c]
|
||||
ld a,[wcc2c]
|
||||
ld [wCurrentMenuItem],a
|
||||
call DisplayListMenuID
|
||||
ld a,[wCurrentMenuItem]
|
||||
ld [$cc2c],a
|
||||
ld [wcc2c],a
|
||||
jr nc,.choseItem
|
||||
.exitMenu
|
||||
call LoadScreenTilesFromBuffer2 ; restore saved screen
|
||||
|
|
@ -346,13 +346,13 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
ld [Coord],a
|
||||
call PlaceUnfilledArrowMenuCursor
|
||||
xor a
|
||||
ld [$cc35],a
|
||||
ld a,[$cf91]
|
||||
ld [wcc35],a
|
||||
ld a,[wcf91]
|
||||
cp a,BICYCLE
|
||||
jp z,.useOrTossItem
|
||||
.notBicycle1
|
||||
ld a,$06 ; use/toss menu
|
||||
ld [$d125],a
|
||||
ld [wd125],a
|
||||
call DisplayTextBoxID
|
||||
ld hl,wTopMenuItemY
|
||||
ld a,11
|
||||
|
|
@ -374,14 +374,14 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
jr z,.useOrTossItem
|
||||
jp ItemMenuLoop
|
||||
.useOrTossItem ; if the player made the choice to use or toss the item
|
||||
ld a,[$cf91]
|
||||
ld [$d11e],a
|
||||
ld a,[wcf91]
|
||||
ld [wd11e],a
|
||||
call GetItemName
|
||||
call CopyStringToCF4B ; copy name to $cf4b
|
||||
ld a,[$cf91]
|
||||
call CopyStringToCF4B ; copy name to wcf4b
|
||||
ld a,[wcf91]
|
||||
cp a,BICYCLE
|
||||
jr nz,.notBicycle2
|
||||
ld a,[$d732]
|
||||
ld a,[wd732]
|
||||
bit 5,a
|
||||
jr z,.useItem_closeMenu
|
||||
ld hl,CannotGetOffHereText
|
||||
|
|
@ -392,15 +392,15 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
and a
|
||||
jr nz,.tossItem
|
||||
.useItem
|
||||
ld [$d152],a
|
||||
ld a,[$cf91]
|
||||
ld [wd152],a
|
||||
ld a,[wcf91]
|
||||
cp a,HM_01
|
||||
jr nc,.useItem_partyMenu
|
||||
ld hl,UsableItems_CloseMenu
|
||||
ld de,1
|
||||
call IsInArray
|
||||
jr c,.useItem_closeMenu
|
||||
ld a,[$cf91]
|
||||
ld a,[wcf91]
|
||||
ld hl,UsableItems_PartyMenu
|
||||
ld de,1
|
||||
call IsInArray
|
||||
|
|
@ -409,34 +409,34 @@ StartMenu_Item: ; 13302 (4:7302)
|
|||
jp ItemMenuLoop
|
||||
.useItem_closeMenu
|
||||
xor a
|
||||
ld [$d152],a
|
||||
ld [wd152],a
|
||||
call UseItem
|
||||
ld a,[$cd6a]
|
||||
ld a,[wcd6a]
|
||||
and a
|
||||
jp z,ItemMenuLoop
|
||||
jp CloseStartMenu
|
||||
.useItem_partyMenu
|
||||
ld a,[$cfcb]
|
||||
ld a,[wcfcb]
|
||||
push af
|
||||
call UseItem
|
||||
ld a,[$cd6a]
|
||||
ld a,[wcd6a]
|
||||
cp a,$02
|
||||
jp z,.partyMenuNotDisplayed
|
||||
call GBPalWhiteOutWithDelay3
|
||||
call Func_3dbe
|
||||
pop af
|
||||
ld [$cfcb],a
|
||||
ld [wcfcb],a
|
||||
jp StartMenu_Item
|
||||
.partyMenuNotDisplayed
|
||||
pop af
|
||||
ld [$cfcb],a
|
||||
ld [wcfcb],a
|
||||
jp ItemMenuLoop
|
||||
.tossItem
|
||||
call IsKeyItem
|
||||
ld a,[$d124]
|
||||
ld a,[wd124]
|
||||
and a
|
||||
jr nz,.skipAskingQuantity
|
||||
ld a,[$cf91]
|
||||
ld a,[wcf91]
|
||||
call IsItemHM
|
||||
jr c,.skipAskingQuantity
|
||||
call DisplayChooseQuantityMenu
|
||||
|
|
@ -580,7 +580,7 @@ DrawTrainerInfo: ; 1349a (4:749a)
|
|||
ld de,$8d70
|
||||
call TrainerInfo_FarCopyData
|
||||
call EnableLCD
|
||||
ld hl,$cd3d
|
||||
ld hl,wWhichTrade
|
||||
ld a,18 + 1
|
||||
ld [hli],a
|
||||
dec a
|
||||
|
|
@ -589,7 +589,7 @@ DrawTrainerInfo: ; 1349a (4:749a)
|
|||
FuncCoord 0,0
|
||||
ld hl,Coord
|
||||
call TrainerInfo_DrawTextBox
|
||||
ld hl,$cd3d
|
||||
ld hl,wWhichTrade
|
||||
ld a,16 + 1
|
||||
ld [hli],a
|
||||
dec a
|
||||
|
|
@ -624,12 +624,12 @@ DrawTrainerInfo: ; 1349a (4:749a)
|
|||
call PrintBCDNumber
|
||||
FuncCoord 9,6
|
||||
ld hl,Coord
|
||||
ld de,$da41 ; hours
|
||||
ld de,W_PLAYTIMEHOURS + 1 ; hours
|
||||
ld bc,$4103
|
||||
call PrintNumber
|
||||
ld [hl],$d6 ; colon tile ID
|
||||
inc hl
|
||||
ld de,$da43 ; minutes
|
||||
ld de,W_PLAYTIMEMINUTES + 1 ; minutes
|
||||
ld bc,$8102
|
||||
jp PrintNumber
|
||||
|
||||
|
|
@ -650,15 +650,15 @@ TrainerInfo_BadgesText: ; 13597 (4:7597)
|
|||
; height is always 6
|
||||
; INPUT:
|
||||
; hl = destination address
|
||||
; [$cd3d] = width + 1
|
||||
; [$cd3e] = width
|
||||
; [$cd3f] = distance from the end of a text box row to the start of the next
|
||||
; [wWhichTrade] = width + 1
|
||||
; [wTrainerEngageDistance] = width
|
||||
; [wTrainerFacingDirection] = distance from the end of a text box row to the start of the next
|
||||
TrainerInfo_DrawTextBox: ; 135a0 (4:75a0)
|
||||
ld a,$79 ; upper left corner tile ID
|
||||
ld de,$7a7b ; top edge and upper right corner tile ID's
|
||||
call TrainerInfo_DrawHorizontalEdge ; draw top edge
|
||||
call TrainerInfo_NextTextBoxRow
|
||||
ld a,[$cd3d] ; width of the text box plus one
|
||||
ld a,[wWhichTrade] ; width of the text box plus one
|
||||
ld e,a
|
||||
ld d,0
|
||||
ld c,6 ; height of the text box
|
||||
|
|
@ -674,7 +674,7 @@ TrainerInfo_DrawTextBox: ; 135a0 (4:75a0)
|
|||
|
||||
TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3)
|
||||
ld [hli],a ; place left corner tile
|
||||
ld a,[$cd3e] ; width of the text box
|
||||
ld a,[wTrainerEngageDistance] ; width of the text box
|
||||
ld c,a
|
||||
ld a,d
|
||||
.loop
|
||||
|
|
@ -686,7 +686,7 @@ TrainerInfo_DrawHorizontalEdge: ; 135c3 (4:75c3)
|
|||
ret
|
||||
|
||||
TrainerInfo_NextTextBoxRow: ; 135d0 (4:75d0)
|
||||
ld a,[$cd3f] ; distance to the start of the next row
|
||||
ld a,[wTrainerFacingDirection] ; distance to the start of the next row
|
||||
.loop
|
||||
inc hl
|
||||
dec a
|
||||
|
|
@ -708,7 +708,7 @@ TrainerInfo_DrawVerticalLine: ; 135d8 (4:75d8)
|
|||
ret
|
||||
|
||||
StartMenu_SaveReset: ; 135e3 (4:75e3)
|
||||
ld a,[$d72e]
|
||||
ld a,[wd72e]
|
||||
bit 6,a ; is the player using the link feature?
|
||||
jp nz,Init
|
||||
ld a,$3f
|
||||
|
|
@ -729,9 +729,9 @@ StartMenu_Option: ; 135f6 (4:75f6)
|
|||
|
||||
SwitchPartyMon: ; 13613 (4:7613)
|
||||
call SwitchPartyMon_Stats
|
||||
ld a, [wWhichTrade] ; $cd3d
|
||||
ld a, [wWhichTrade] ; wWhichTrade
|
||||
call SwitchPartyMon_OAM
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
call SwitchPartyMon_OAM
|
||||
jp RedrawPartyMenu_
|
||||
|
||||
|
|
@ -762,42 +762,42 @@ SwitchPartyMon_OAM: ; 13625 (4:7625)
|
|||
jp PlaySound
|
||||
|
||||
SwitchPartyMon_Stats: ; 13653 (4:7653)
|
||||
ld a, [$cc35]
|
||||
ld a, [wcc35]
|
||||
and a
|
||||
jr nz, .asm_13661
|
||||
ld a, [wWhichPokemon] ; $cf92
|
||||
ld a, [wWhichPokemon] ; wWhichPokemon
|
||||
inc a
|
||||
ld [$cc35], a
|
||||
ld [wcc35], a
|
||||
ret
|
||||
.asm_13661
|
||||
xor a
|
||||
ld [$d07d], a
|
||||
ld a, [$cc35]
|
||||
ld [wd07d], a
|
||||
ld a, [wcc35]
|
||||
dec a
|
||||
ld b, a
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
cp b
|
||||
jr nz, .asm_1367b
|
||||
xor a
|
||||
ld [$cc35], a
|
||||
ld [$d07d], a
|
||||
ld [wcc35], a
|
||||
ld [wd07d], a
|
||||
ret
|
||||
.asm_1367b
|
||||
ld a, b
|
||||
ld [$cc35], a
|
||||
ld [wcc35], a
|
||||
push hl
|
||||
push de
|
||||
ld hl, W_PARTYMON1 ; $d164
|
||||
ld hl, W_PARTYMON1 ; W_PARTYMON1
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .asm_1368e
|
||||
inc h
|
||||
.asm_1368e
|
||||
ld a, [$cc35]
|
||||
ld a, [wcc35]
|
||||
add e
|
||||
ld e, a
|
||||
jr nc, .asm_13696
|
||||
|
|
@ -809,67 +809,67 @@ SwitchPartyMon_Stats: ; 13653 (4:7653)
|
|||
ld [hl], a
|
||||
ld a, [H_DIVIDEND] ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
||||
ld [de], a
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
ld bc, $2c
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
call AddNTimes
|
||||
push hl
|
||||
ld de, $cc97
|
||||
ld de, wcc97
|
||||
ld bc, $2c
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
||||
ld hl, W_PARTYMON1_NUM ; W_PARTYMON1_NUM (aliases: W_PARTYMON1DATA)
|
||||
ld bc, $2c
|
||||
ld a, [$cc35]
|
||||
ld a, [wcc35]
|
||||
call AddNTimes
|
||||
pop de
|
||||
push hl
|
||||
ld bc, $2c
|
||||
call CopyData
|
||||
pop de
|
||||
ld hl, $cc97
|
||||
ld hl, wcc97
|
||||
ld bc, $2c
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1OT ; $d273
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld hl, W_PARTYMON1OT ; wd273
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
call SkipFixedLengthTextEntries
|
||||
push hl
|
||||
ld de, $cc97
|
||||
ld de, wcc97
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1OT ; $d273
|
||||
ld a, [$cc35]
|
||||
ld hl, W_PARTYMON1OT ; wd273
|
||||
ld a, [wcc35]
|
||||
call SkipFixedLengthTextEntries
|
||||
pop de
|
||||
push hl
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
pop de
|
||||
ld hl, $cc97
|
||||
ld hl, wcc97
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld a, [wCurrentMenuItem] ; $cc26
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
ld a, [wCurrentMenuItem] ; wCurrentMenuItem
|
||||
call SkipFixedLengthTextEntries
|
||||
push hl
|
||||
ld de, $cc97
|
||||
ld de, wcc97
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld hl, W_PARTYMON1NAME ; $d2b5
|
||||
ld a, [$cc35]
|
||||
ld hl, W_PARTYMON1NAME ; W_PARTYMON1NAME
|
||||
ld a, [wcc35]
|
||||
call SkipFixedLengthTextEntries
|
||||
pop de
|
||||
push hl
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
pop de
|
||||
ld hl, $cc97
|
||||
ld hl, wcc97
|
||||
ld bc, $b
|
||||
call CopyData
|
||||
ld a, [$cc35]
|
||||
ld [wWhichTrade], a ; $cd3d
|
||||
ld a, [wcc35]
|
||||
ld [wWhichTrade], a ; wWhichTrade
|
||||
xor a
|
||||
ld [$cc35], a
|
||||
ld [$d07d], a
|
||||
ld [wcc35], a
|
||||
ld [wd07d], a
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue