summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluckytyphlosion <alan.rj.huang@gmail.com>2016-05-22 21:02:18 -0400
committerluckytyphlosion <alan.rj.huang@gmail.com>2016-05-22 21:02:18 -0400
commitf3de3a20dfccb8a57cdf9feb860bf1e89a733f50 (patch)
tree5d3f60d4b7fdcf44f4202e7db915213d041f663d
parent3da00e31f8698c1b994c24ca55b5b9c3d3454af8 (diff)
Bank11 and 14 misc functions.
-rw-r--r--constants/tx_pre_constants.asm4
-rwxr-xr-xdata/prize_mon_levels.asm12
-rwxr-xr-xdata/prizes.asm33
-rwxr-xr-xengine/hidden_object_functions14.asm42
-rwxr-xr-xengine/menu/prize_menu.asm225
-rwxr-xr-xengine/overworld/card_key.asm19
-rw-r--r--engine/overworld/dungeon_warps.asm15
-rwxr-xr-xengine/overworld/hidden_objects.asm16
-rwxr-xr-xengine/pokedex_rating.asm102
-rwxr-xr-xmain.asm22
-rw-r--r--replace.sh2
-rw-r--r--text.asm5
-rw-r--r--text/maps/oaks_lab.asm120
-rw-r--r--text/pokedex_ratings.asm117
-rwxr-xr-xwram.asm6
15 files changed, 373 insertions, 367 deletions
diff --git a/constants/tx_pre_constants.asm b/constants/tx_pre_constants.asm
index 84ed3584..e2bade58 100644
--- a/constants/tx_pre_constants.asm
+++ b/constants/tx_pre_constants.asm
@@ -56,8 +56,8 @@ const_value = 1
tx_pre_const LinkCableHelp ; 34
tx_pre_const TMNotebook ; 35
tx_pre_const FightingDojoText ; 36
- tx_pre_const FightingDojoText_52a10 ; 37
- tx_pre_const FightingDojoText_52a1d ; 38
+ tx_pre_const EnemiesOnEverySideText ; 37
+ tx_pre_const WhatGoesAroundComesAroundText ; 38
tx_pre_const NewBicycleText ; 39
tx_pre_const IndigoPlateauStatues ; 3A
tx_pre_const VermilionGymTrashSuccesText1 ; 3B
diff --git a/data/prize_mon_levels.asm b/data/prize_mon_levels.asm
index 15b9e827..a48fd347 100755
--- a/data/prize_mon_levels.asm
+++ b/data/prize_mon_levels.asm
@@ -1,8 +1,8 @@
-PrizeMonLevelDictionary: ; 5298a (14:698a)
- db ABRA,9
- db CLEFAIRY,8
- db NIDORINA,17
+PrizeMonLevelDictionary: ; 528ea (14:68ea)
+ db ABRA,15
+ db VULPIX,18
+ db WIGGLYTUFF,22
- db DRATINI,18
- db SCYTHER,25
+ db SCYTHER,30
+ db PINSIR,30
db PORYGON,26
diff --git a/data/prizes.asm b/data/prizes.asm
index 8d0f2826..103ed415 100755
--- a/data/prizes.asm
+++ b/data/prizes.asm
@@ -1,4 +1,4 @@
-PrizeDifferentMenuPtrs: ; 52843 (14:6843)
+PrizeDifferentMenuPtrs: ; 527ae (14:67ae)
dw PrizeMenuMon1Entries
dw PrizeMenuMon1Cost
@@ -8,40 +8,37 @@ PrizeDifferentMenuPtrs: ; 52843 (14:6843)
dw PrizeMenuTMsEntries
dw PrizeMenuTMsCost
-NoThanksText: ; 5284f (14:684f)
- db "NO THANKS@"
-
-PrizeMenuMon1Entries: ; 52859 (14:6859)
+PrizeMenuMon1Entries: ; 527b9 (14:67b9)
db ABRA
- db CLEFAIRY
- db NIDORINA
+ db VULPIX
+ db WIGGLYTUFF
db "@"
-PrizeMenuMon1Cost: ; 5285d (14:685d)
- coins 180
- coins 500
- coins 1200
+PrizeMenuMon1Cost: ; 527be (14:67be)
+ coins 230
+ coins 1000
+ coins 2680
db "@"
-PrizeMenuMon2Entries: ; 52864 (14:6864)
- db DRATINI
+PrizeMenuMon2Entries: ; 527c5 (14:67c5)
db SCYTHER
+ db PINSIR
db PORYGON
db "@"
-PrizeMenuMon2Cost: ; 52868 (14:6868)
- coins 2800
- coins 5500
+PrizeMenuMon2Cost: ; 527c9 (14:67c9)
+ coins 6500
+ coins 6500
coins 9999
db "@"
-PrizeMenuTMsEntries: ; 5286f (14:686f)
+PrizeMenuTMsEntries: ; 527df (14:67df)
db TM_23
db TM_15
db TM_50
db "@"
-PrizeMenuTMsCost: ; 52873 (14:6873)
+PrizeMenuTMsCost: ; 527e4 (14:67e4)
coins 3300
coins 5500
coins 7700
diff --git a/engine/hidden_object_functions14.asm b/engine/hidden_object_functions14.asm
index 97187638..0724f962 100755
--- a/engine/hidden_object_functions14.asm
+++ b/engine/hidden_object_functions14.asm
@@ -1,16 +1,16 @@
-PrintNotebookText: ; 52996 (14:6996)
+PrintNotebookText: ; 528f6 (14:68f6)
call EnableAutoTextBoxDrawing
ld a, $1
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
ld a, [wHiddenObjectFunctionArgument]
jp PrintPredefTextID
-TMNotebook: ; 529a4 (14:69a4)
+TMNotebook: ; 52904 (14:6904)
TX_FAR TMNotebookText
db $0d
db "@"
-ViridianSchoolNotebook: ; 529aa (14:69aa)
+ViridianSchoolNotebook: ; 5290a (14:690a)
TX_ASM
ld hl, ViridianSchoolNotebookText1
call PrintText
@@ -39,62 +39,62 @@ TurnPageSchoolNotebook: ; 529db (14:69db)
and a
ret
-TurnPageText: ; 529e9 (14:69e9)
+TurnPageText: ; 52949 (14:6949)
TX_FAR _TurnPageText
db "@"
-ViridianSchoolNotebookText5: ; 529ee (14:69ee)
+ViridianSchoolNotebookText5: ; 5294e (14:694e)
TX_FAR _ViridianSchoolNotebookText5
db $0d
db "@"
-ViridianSchoolNotebookText1: ; 529f4 (14:69f4)
+ViridianSchoolNotebookText1: ; 52954 (14:6954)
TX_FAR _ViridianSchoolNotebookText1
db "@"
-ViridianSchoolNotebookText2: ; 529f9 (14:69f9)
+ViridianSchoolNotebookText2: ; 52959 (14:6959)
TX_FAR _ViridianSchoolNotebookText2
db "@"
-ViridianSchoolNotebookText3: ; 529fe (14:69fe)
+ViridianSchoolNotebookText3: ; 5295e (14:695e)
TX_FAR _ViridianSchoolNotebookText3
db "@"
-ViridianSchoolNotebookText4: ; 52a03 (14:6a03)
+ViridianSchoolNotebookText4: ; 52963 (14:6963)
TX_FAR _ViridianSchoolNotebookText4
db "@"
-PrintFightingDojoText2: ; 52a08 (14:6a08)
+PrintFightingDojoText2: ; 52968 (14:6968)
call EnableAutoTextBoxDrawing
- tx_pre_jump FightingDojoText_52a10
+ tx_pre_jump EnemiesOnEverySideText
-FightingDojoText_52a10: ; 52a10 (14:6a10)
- TX_FAR _FightingDojoText_52a10
+EnemiesOnEverySideText: ; 52970 (14:6970)
+ TX_FAR _EnemiesOnEverySideText
db "@"
-PrintFightingDojoText3: ; 52a15 (14:6a15)
+PrintFightingDojoText3: ; 52975 (14:6975)
call EnableAutoTextBoxDrawing
- tx_pre_jump FightingDojoText_52a1d
+ tx_pre_jump WhatGoesAroundComesAroundText
-FightingDojoText_52a1d: ; 52a1d (14:6a1d)
- TX_FAR _FightingDojoText_52a1d
+WhatGoesAroundComesAroundText: ; 5297d (14:697d)
+ TX_FAR _WhatGoesAroundComesAroundText
db "@"
-PrintFightingDojoText: ; 52a22 (14:6a22)
+PrintFightingDojoText: ; 52982 (14:6982)
call EnableAutoTextBoxDrawing
tx_pre_jump FightingDojoText
-FightingDojoText: ; 52a2a (14:6a2a)
+FightingDojoText: ; 5298a (14:698a)
TX_FAR _FightingDojoText
db "@"
-PrintIndigoPlateauHQText: ; 52a2f (14:6a2f)
+PrintIndigoPlateauHQText: ; 5298f (14:698f)
ld a, [wSpriteStateData1 + 9]
cp SPRITE_FACING_UP
ret nz
call EnableAutoTextBoxDrawing
tx_pre_jump IndigoPlateauHQText
-IndigoPlateauHQText: ; 52a3d (14:6a3d)
+IndigoPlateauHQText: ; 5299d (14:699d)
TX_FAR _IndigoPlateauHQText
db "@"
diff --git a/engine/menu/prize_menu.asm b/engine/menu/prize_menu.asm
index 626f670a..0fedcca4 100755
--- a/engine/menu/prize_menu.asm
+++ b/engine/menu/prize_menu.asm
@@ -1,4 +1,4 @@
-CeladonPrizeMenu: ; 5271b (14:671b)
+CeladonPrizeMenu: ; 5267d (14:667d)
ld b,COIN_CASE
call IsItemInBag
jr nz,.havingCoinCase
@@ -23,8 +23,7 @@ CeladonPrizeMenu: ; 5271b (14:671b)
ld [wTopMenuItemX],a
call PrintPrizePrice
coord hl, 0, 2
- ld b,$08
- ld c,$10
+ lb bc, 8, 16
call TextBoxBorder
call GetPrizeMenuId
call UpdateSprites
@@ -32,30 +31,30 @@ CeladonPrizeMenu: ; 5271b (14:671b)
call PrintText
call HandleMenuInput ; menu choice handler
bit 1,a ; keypress = B (Cancel)
- jr nz,.NoChoice
+ jr nz, .noChoice
ld a,[wCurrentMenuItem]
- cp a,$03 ; "NO,THANKS" choice
- jr z,.NoChoice
+ cp $03 ; "NO,THANKS" choice
+ jr z, .noChoice
call HandlePrizeChoice
-.NoChoice
- ld hl,wd730
- res 6,[hl]
+.noChoice
+ ld hl, wd730
+ res 6, [hl]
ret
-RequireCoinCaseTextPtr: ; 5277e (14:677e)
+RequireCoinCaseTextPtr: ; 526df (14:66df)
TX_FAR _RequireCoinCaseText
db $0D
db "@"
-ExchangeCoinsForPrizesTextPtr: ; 52784 (14:6784)
+ExchangeCoinsForPrizesTextPtr: ; 526e5 (14:66e5)
TX_FAR _ExchangeCoinsForPrizesText
db "@"
-WhichPrizeTextPtr: ; 52789 (14:6789)
+WhichPrizeTextPtr: ; 526ea (14:66ea)
TX_FAR _WhichPrizeText
db "@"
-GetPrizeMenuId: ; 5278e (14:678e)
+GetPrizeMenuId: ; 526ef (14:66ef)
; determine which one among the three
; prize-texts has been selected
; using the text ID (stored in [hSpriteIndexOrTextID])
@@ -64,70 +63,70 @@ GetPrizeMenuId: ; 5278e (14:678e)
; display the three prizes' names
; (distinguishing between Pokemon names
; and Items (specifically TMs) names)
- ld a,[hSpriteIndexOrTextID]
- sub a,3 ; prize-texts' id are 3, 4 and 5
- ld [wWhichPrizeWindow],a ; prize-texts' id (relative, i.e. 0, 1 or 2)
+ ld a, [hSpriteIndexOrTextID]
+ sub 3 ; prize-texts' id are 3, 4 and 5
+ ld [wWhichPrizeWindow], a ; prize-texts' id (relative, i.e. 0, 1 or 2)
add a
add a
- ld d,0
- ld e,a
- ld hl,PrizeDifferentMenuPtrs
- add hl,de
- ld a,[hli]
- ld d,[hl]
- ld e,a
+ ld d, $0
+ ld e, a
+ ld hl, PrizeDifferentMenuPtrs
+ add hl, de
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
inc hl
push hl
- ld hl,W_PRIZE1
+ ld hl, wPrize1
call CopyString
pop hl
- ld a,[hli]
- ld h,[hl]
- ld l,a
- ld de,wPrize1Price
- ld bc,6
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, wPrize1Price
+ ld bc, $6
call CopyData
- ld a,[wWhichPrizeWindow]
- cp a,$02 ;is TM_menu?
- jr nz,.putMonName
- ld a,[W_PRIZE1]
- ld [wd11e],a
+ ld a, [wWhichPrizeWindow]
+ cp $02 ;is TM_menu?
+ jr nz, .putMonName
+ ld a, [wPrize1]
+ ld [wd11e], a
call GetItemName
coord hl, 2, 4
call PlaceString
- ld a,[W_PRIZE2]
- ld [wd11e],a
+ ld a, [wPrize2]
+ ld [wd11e], a
call GetItemName
coord hl, 2, 6
call PlaceString
- ld a,[W_PRIZE3]
- ld [wd11e],a
+ ld a, [wPrize3]
+ ld [wd11e], a
call GetItemName
coord hl, 2, 8
call PlaceString
jr .putNoThanksText
.putMonName
- ld a,[W_PRIZE1]
- ld [wd11e],a
+ ld a, [wPrize1]
+ ld [wd11e], a
call GetMonName
coord hl, 2, 4
call PlaceString
- ld a,[W_PRIZE2]
- ld [wd11e],a
+ ld a, [wPrize2]
+ ld [wd11e], a
call GetMonName
coord hl, 2, 6
call PlaceString
- ld a,[W_PRIZE3]
- ld [wd11e],a
+ ld a, [wPrize3]
+ ld [wd11e], a
call GetMonName
coord hl, 2, 8
call PlaceString
.putNoThanksText
coord hl, 2, 10
- ld de,NoThanksText
+ ld de, NoThanksText
call PlaceString
; put prices on the right side of the textbox
- ld de,wPrize1Price
+ ld de, wPrize1Price
coord hl, 13, 5
; reg. c:
; [low nybble] number of bytes
@@ -138,91 +137,93 @@ GetPrizeMenuId: ; 5278e (14:678e)
call PrintBCDNumber
ld de,wPrize2Price
coord hl, 13, 7
- ld c,(%1 << 7 | 2)
+ ld c, (1 << 7 | 2)
call PrintBCDNumber
- ld de,wPrize3Price
+ ld de, wPrize3Price
coord hl, 13, 9
- ld c,(1 << 7 | 2)
+ ld c, (1 << 7 | 2)
jp PrintBCDNumber
+NoThanksText: ; 527a4 (14:67a4)
+ db "NO THANKS@"
+
INCLUDE "data/prizes.asm"
-PrintPrizePrice: ; 5287a (14:687a)
+PrintPrizePrice: ; 527db (14:67db)
coord hl, 11, 0
- ld b,$01
- ld c,$07
+ lb bc, 1, 7
call TextBoxBorder
call UpdateSprites
coord hl, 12, 0
- ld de,.CoinText
+ ld de, CoinString
call PlaceString
coord hl, 13, 1
- ld de,.SixSpacesText
+ ld de, SixSpacesString
call PlaceString
coord hl, 13, 1
ld de,wPlayerCoins
- ld c,%10000010
+ ld c, (1 << 7 | 2)
call PrintBCDNumber
ret
-.CoinText
+CoinString: ; 52805 (14:6805)
db "COIN@"
-.SixSpacesText
+SixSpacesString: ; 5280a (14:680a)
db " @"
-LoadCoinsToSubtract: ; 528b1 (14:68b1)
+LoadCoinsToSubtract: ; 52811 (14:6811)
ld a,[wWhichPrize]
add a
- ld d,0
- ld e,a
- ld hl,wPrize1Price
- add hl,de ; get selected prize's price
+ ld d, $0
+ ld e, a
+ ld hl, wPrize1Price
+ add hl, de ; get selected prize's price
xor a
- ld [hUnusedCoinsByte],a
- ld a,[hli]
- ld [hCoins],a
- ld a,[hl]
- ld [hCoins + 1],a
+ ld [hUnusedCoinsByte], a
+ ld a, [hli]
+ ld [hCoins], a
+ ld a, [hl]
+ ld [hCoins + 1], a
ret
-HandlePrizeChoice: ; 528c6 (14:68c6)
- ld a,[wCurrentMenuItem]
- ld [wWhichPrize],a
- ld d,0
- ld e,a
- ld hl,W_PRIZE1
- add hl,de
- ld a,[hl]
- ld [wd11e],a
- ld a,[wWhichPrizeWindow]
- cp a,$02 ; is prize a TM?
- jr nz,.GetMonName
+HandlePrizeChoice: ; 52826 (14:6826)
+ ld a, [wCurrentMenuItem]
+ ld [wWhichPrize], a
+ ld d, $0
+ ld e, a
+ ld hl, wPrize1
+ add hl, de
+ ld a, [hl]
+ ld [wd11e], a
+ ld a, [wWhichPrizeWindow]
+ cp $02 ; is prize a TM?
+ jr nz, .getMonName
call GetItemName
- jr .GivePrize
-.GetMonName
+ jr .givePrize
+.getMonName
call GetMonName
-.GivePrize
+.givePrize
ld hl,SoYouWantPrizeTextPtr
call PrintText
call YesNoChoice
- ld a,[wCurrentMenuItem] ; yes/no answer (Y=0, N=1)
+ ld a, [wCurrentMenuItem] ; yes/no answer (Y=0, N=1)
and a
- jr nz,.PrintOhFineThen
+ jr nz, .printOhFineThen
call LoadCoinsToSubtract
call HasEnoughCoins
- jr c,.NotEnoughCoins
- ld a,[wWhichPrizeWindow]
- cp a,$02
- jr nz,.GiveMon
+ jr c, .notEnoughCoins
+ ld a, [wWhichPrizeWindow]
+ cp $02
+ jr nz, .giveMon
ld a,[wd11e]
- ld b,a
- ld a,1
- ld c,a
+ ld b, a
+ ld a, 1
+ ld c, a
call GiveItem
- jr nc,.BagFull
- jr .SubtractCoins
-.GiveMon
+ jr nc, .bagFull
+ jr .subtractCoins
+.giveMon
ld a,[wd11e]
ld [wcf91],a
push af
@@ -243,64 +244,64 @@ HandlePrizeChoice: ; 528c6 (14:68c6)
; were full), return without subtracting coins.
ret nc
-.SubtractCoins
+.subtractCoins
call LoadCoinsToSubtract
ld hl,hCoins + 1
ld de,wPlayerCoins + 1
ld c,$02 ; how many bytes
predef SubBCDPredef
jp PrintPrizePrice
-.BagFull
+.bagFull
ld hl,PrizeRoomBagIsFullTextPtr
jp PrintText
-.NotEnoughCoins
+.notEnoughCoins
ld hl,SorryNeedMoreCoinsText
jp PrintText
-.PrintOhFineThen
+.printOhFineThen
ld hl,OhFineThenTextPtr
jp PrintText
-UnknownData52951: ; 52951 (14:6951)
+UnknownData528b1: ; 528b1 (14:68b1)
; XXX what's this?
db $00,$01,$00,$01,$00,$01,$00,$00,$01
-HereYouGoTextPtr: ; 5295a (14:695a)
+HereYouGoTextPtr: ; 528ca (14:68ba)
TX_FAR _HereYouGoText
db $0D
db "@"
-SoYouWantPrizeTextPtr: ; 52960 (14:6960)
+SoYouWantPrizeTextPtr: ; 528c0 (14:68c0)
TX_FAR _SoYouWantPrizeText
db "@"
-SorryNeedMoreCoinsText: ; 52965 (14:6965)
+SorryNeedMoreCoinsText: ; 528c5 (14:68c5)
TX_FAR _SorryNeedMoreCoinsText
db $0D
db "@"
-PrizeRoomBagIsFullTextPtr: ; 5296b (14:696b)
+PrizeRoomBagIsFullTextPtr: ; 528cb (14:68cb)
TX_FAR _OopsYouDontHaveEnoughRoomText
db $0D
db "@"
-OhFineThenTextPtr: ; 52971 (14:6971)
+OhFineThenTextPtr: ; 528d1 (14:68d1)
TX_FAR _OhFineThenText
db $0D ; wait keypress (A/B) without blink
db "@"
-GetPrizeMonLevel: ; 52977 (14:6977)
- ld a,[wcf91]
- ld b,a
- ld hl,PrizeMonLevelDictionary
+GetPrizeMonLevel: ; 528d7 (14:68d7)
+ ld a, [wcf91]
+ ld b, a
+ ld hl, PrizeMonLevelDictionary
.loop
- ld a,[hli]
+ ld a, [hli]
cp b
- jr z,.matchFound
+ jr z, .matchFound
inc hl
jr .loop
.matchFound
- ld a,[hl]
- ld [wCurEnemyLVL],a
+ ld a, [hl]
+ ld [wCurEnemyLVL], a
ret
INCLUDE "data/prize_mon_levels.asm"
diff --git a/engine/overworld/card_key.asm b/engine/overworld/card_key.asm
index 2ef7529c..f601a951 100755
--- a/engine/overworld/card_key.asm
+++ b/engine/overworld/card_key.asm
@@ -1,4 +1,4 @@
-PrintCardKeyText: ; 52673 (14:6673)
+PrintCardKeyText: ; 525d8 (14:65d8)
ld hl, SilphCoMapList
ld a, [wCurMap]
ld b, a
@@ -8,7 +8,8 @@ PrintCardKeyText: ; 52673 (14:6673)
ret z
cp b
jr nz, .silphCoMapListLoop
- predef GetTileAndCoordsInFrontOfPlayer
+; does not check for tile in front of player. This might be buggy
+ ;predef GetTileAndCoordsInFrontOfPlayer
ld a, [wTileInFrontOfPlayer]
cp $18
jr z, .cardKeyDoorInFrontOfPlayer
@@ -25,12 +26,12 @@ PrintCardKeyText: ; 52673 (14:6673)
ld b, CARD_KEY
call IsItemInBag
jr z, .noCardKey
- call GetCoordsInFrontOfPlayer
- push de
+ xor a
+ ld [wPlayerMovingDirection], a
tx_pre_id CardKeySuccessText
ld [hSpriteIndexOrTextID], a
call PrintPredefTextID
- pop de
+ call GetCoordsInFrontOfPlayer
srl d
ld a, d
ld b, a
@@ -58,7 +59,7 @@ PrintCardKeyText: ; 52673 (14:6673)
ld [hSpriteIndexOrTextID], a
jp PrintPredefTextID
-SilphCoMapList: ; 526e3 (14:66e3)
+SilphCoMapList: ; 52645 (14:6645)
db SILPH_CO_2F
db SILPH_CO_3F
db SILPH_CO_4F
@@ -71,19 +72,19 @@ SilphCoMapList: ; 526e3 (14:66e3)
db SILPH_CO_11F
db $FF
-CardKeySuccessText: ; 526ee (14:66ee)
+CardKeySuccessText: ; 52650 (14:6650)
TX_FAR _CardKeySuccessText1
db $0b
TX_FAR _CardKeySuccessText2
db "@"
-CardKeyFailText: ; 526f8 (14:66f8)
+CardKeyFailText: ; 5265a (14:665a)
TX_FAR _CardKeyFailText
db "@"
; d = Y
; e = X
-GetCoordsInFrontOfPlayer: ; 526fd (14:66fd)
+GetCoordsInFrontOfPlayer: ; 5265f (14:665f)
ld a, [wYCoord]
ld d, a
ld a, [wXCoord]
diff --git a/engine/overworld/dungeon_warps.asm b/engine/overworld/dungeon_warps.asm
new file mode 100644
index 00000000..b234c3a1
--- /dev/null
+++ b/engine/overworld/dungeon_warps.asm
@@ -0,0 +1,15 @@
+IsPlayerOnDungeonWarp: ; 46bf3 (11:6bf3)
+ xor a
+ ld [wWhichDungeonWarp], a
+ ld a, [wd72d]
+ bit 4, a
+ ret nz
+ call ArePlayerCoordsInArray
+ ret nc
+ ld a, [wCoordIndex]
+ ld [wWhichDungeonWarp], a
+ ld hl, wd72d
+ set 4, [hl]
+ ld hl, wd732
+ set 4, [hl]
+ ret \ No newline at end of file
diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm
index 1fc20e5c..3774c482 100755
--- a/engine/overworld/hidden_objects.asm
+++ b/engine/overworld/hidden_objects.asm
@@ -1,19 +1,3 @@
-IsPlayerOnDungeonWarp: ; 46981 (11:6981)
- xor a
- ld [wWhichDungeonWarp], a
- ld a, [wd72d]
- bit 4, a
- ret nz
- call ArePlayerCoordsInArray
- ret nc
- ld a, [wCoordIndex]
- ld [wWhichDungeonWarp], a
- ld hl, wd72d
- set 4, [hl]
- ld hl, wd732
- set 4, [hl]
- ret
-
; if a hidden object was found, stores $00 in [$ffee], else stores $ff
CheckForHiddenObject: ; 469a0 (11:69a0)
ld hl, $ffeb
diff --git a/engine/pokedex_rating.asm b/engine/pokedex_rating.asm
index 73025f0a..195c89fb 100755
--- a/engine/pokedex_rating.asm
+++ b/engine/pokedex_rating.asm
@@ -26,7 +26,7 @@ DisplayDexRating: ; 44169 (11:4169)
CheckAndResetEventA EVENT_HALL_OF_FAME_DEX_RATING
jr nz, .hallOfFame
push hl
- ld hl, PokedexRatingText_441cc
+ ld hl, DexCompletionText
call PrintText
pop hl
call PrintText
@@ -51,104 +51,104 @@ DisplayDexRating: ; 44169 (11:4169)
ld [de], a
ret
-PokedexRatingText_441cc: ; 441cc (11:41cc)
- TX_FAR _OaksLabText_441cc
+DexCompletionText: ; 441cc (11:41cc)
+ TX_FAR _DexCompletionText
db "@"
DexRatingsTable: ; 441d1 (11:41d1)
db 10
- dw PokedexRatingText_44201
+ dw DexRatingText_Own0To9
db 20
- dw PokedexRatingText_44206
+ dw DexRatingText_Own10To19
db 30
- dw PokedexRatingText_4420b
+ dw DexRatingText_Own20To29
db 40
- dw PokedexRatingText_44210
+ dw DexRatingText_Own30To39
db 50
- dw PokedexRatingText_44215
+ dw DexRatingText_Own40To49
db 60
- dw PokedexRatingText_4421a
+ dw DexRatingText_Own50To59
db 70
- dw PokedexRatingText_4421f
+ dw DexRatingText_Own60To69
db 80
- dw PokedexRatingText_44224
+ dw DexRatingText_Own70To79
db 90
- dw PokedexRatingText_44229
+ dw DexRatingText_Own80To89
db 100
- dw PokedexRatingText_4422e
+ dw DexRatingText_Own90To99
db 110
- dw PokedexRatingText_44233
+ dw DexRatingText_Own100To109
db 120
- dw PokedexRatingText_44238
+ dw DexRatingText_Own110To119
db 130
- dw PokedexRatingText_4423d
+ dw DexRatingText_Own120To129
db 140
- dw PokedexRatingText_44242
+ dw DexRatingText_Own130To139
db 150
- dw PokedexRatingText_44247
+ dw DexRatingText_Own140To149
db 152
- dw PokedexRatingText_4424c
+ dw DexRatingText_Own150To151
-PokedexRatingText_44201: ; 44201 (11:4201)
- TX_FAR _OaksLabText_44201
+DexRatingText_Own0To9: ; 44201 (11:4201)
+ TX_FAR _DexRatingText_Own0To9
db "@"
-PokedexRatingText_44206: ; 44206 (11:4206)
- TX_FAR _OaksLabText_44206
+DexRatingText_Own10To19: ; 44206 (11:4206)
+ TX_FAR _DexRatingText_Own10To19
db "@"
-PokedexRatingText_4420b: ; 4420b (11:420b)
- TX_FAR _OaksLabText_4420b
+DexRatingText_Own20To29: ; 4420b (11:420b)
+ TX_FAR _DexRatingText_Own20To29
db "@"
-PokedexRatingText_44210: ; 44210 (11:4210)
- TX_FAR _OaksLabText_44210
+DexRatingText_Own30To39: ; 44210 (11:4210)
+ TX_FAR _DexRatingText_Own30To39
db "@"
-PokedexRatingText_44215: ; 44215 (11:4215)
- TX_FAR _OaksLabText_44215
+DexRatingText_Own40To49: ; 44215 (11:4215)
+ TX_FAR _DexRatingText_Own40To49
db "@"
-PokedexRatingText_4421a: ; 4421a (11:421a)
- TX_FAR _OaksLabText_4421a
+DexRatingText_Own50To59: ; 4421a (11:421a)
+ TX_FAR _DexRatingText_Own50To59
db "@"
-PokedexRatingText_4421f: ; 4421f (11:421f)
- TX_FAR _OaksLabText_4421f
+DexRatingText_Own60To69: ; 4421f (11:421f)
+ TX_FAR _DexRatingText_Own60To69
db "@"
-PokedexRatingText_44224: ; 44224 (11:4224)
- TX_FAR _OaksLabText_44224
+DexRatingText_Own70To79: ; 44224 (11:4224)
+ TX_FAR _DexRatingText_Own70To79
db "@"
-PokedexRatingText_44229: ; 44229 (11:4229)
- TX_FAR _OaksLabText_44229
+DexRatingText_Own80To89: ; 44229 (11:4229)
+ TX_FAR _DexRatingText_Own80To89
db "@"
-PokedexRatingText_4422e: ; 4422e (11:422e)
- TX_FAR _OaksLabText_4422e
+DexRatingText_Own90To99: ; 4422e (11:422e)
+ TX_FAR _DexRatingText_Own90To99
db "@"
-PokedexRatingText_44233: ; 44233 (11:4233)
- TX_FAR _OaksLabText_44233
+DexRatingText_Own100To109: ; 44233 (11:4233)
+ TX_FAR _DexRatingText_Own100To109
db "@"
-PokedexRatingText_44238: ; 44238 (11:4238)
- TX_FAR _OaksLabText_44238
+DexRatingText_Own110To119: ; 44238 (11:4238)
+ TX_FAR _DexRatingText_Own110To119
db "@"
-PokedexRatingText_4423d: ; 4423d (11:423d)
- TX_FAR _OaksLabText_4423d
+DexRatingText_Own120To129: ; 4423d (11:423d)
+ TX_FAR _DexRatingText_Own120To129
db "@"
-PokedexRatingText_44242: ; 44242 (11:4242)
- TX_FAR _OaksLabText_44242
+DexRatingText_Own130To139: ; 44242 (11:4242)
+ TX_FAR _DexRatingText_Own130To139
db "@"
-PokedexRatingText_44247: ; 44247 (11:4247)
- TX_FAR _OaksLabText_44247
+DexRatingText_Own140To149: ; 44247 (11:4247)
+ TX_FAR _DexRatingText_Own140To149
db "@"
-PokedexRatingText_4424c: ; 4424c (11:424c)
- TX_FAR _OaksLabText_4424c
+DexRatingText_Own150To151: ; 4424c (11:424c)
+ TX_FAR _DexRatingText_Own150To151
db "@"
diff --git a/main.asm b/main.asm
index e9064d2b..07cd0c41 100755
--- a/main.asm
+++ b/main.asm
@@ -645,10 +645,15 @@ INCLUDE "engine/menu/options.asm"
SECTION "bank11",ROMX,BANK[$11]
- dr $44000,$45077
-LoadSpinnerArrowTiles: ; 45077 (11:5077)
- dr $45077,$48000
+ dr $44000,$44169
+
+INCLUDE "engine/pokedex_rating.asm"
+ dr $44251,$45077
+LoadSpinnerArrowTiles: ; 45077 (11:5077)
+ dr $45077,$46bf3
+
+INCLUDE "engine/overworld/dungeon_warps.asm"
SECTION "bank12",ROMX,BANK[$12]
@@ -712,10 +717,13 @@ JessieJamesPic: INCBIN "pic/ytrainer/jessiejames.pic"
SECTION "bank14",ROMX,BANK[$14]
dr $50000,$525d8
-PrintCardKeyText: ; 525d8 (14:65d8)
- dr $525d8,$5267d
-CeladonPrizeMenu: ; 5267d (14:667d)
- dr $5267d,$54000
+
+INCLUDE "engine/overworld/card_key.asm"
+
+INCLUDE "engine/menu/prize_menu.asm"
+
+INCLUDE "engine/hidden_object_functions14.asm"
+
SECTION "bank15",ROMX,BANK[$15]
diff --git a/replace.sh b/replace.sh
index 49badda1..a4688225 100644
--- a/replace.sh
+++ b/replace.sh
@@ -1,3 +1,3 @@
-sed -i 's/\<'$1'\>/'$2'/' $(git grep -l $1 -- "*.asm")
+sed -i 's/\<'$1'\>/'$2'/' $(grep -lwr --include "*.asm" $1)
# $1: phrase to find
# $2: phrase to replace $1 \ No newline at end of file
diff --git a/text.asm b/text.asm
index 175dd974..47721ff4 100644
--- a/text.asm
+++ b/text.asm
@@ -818,12 +818,12 @@ _ViridianSchoolNotebookText4::
line "#MON LEAGUE!"
prompt
-_FightingDojoText_52a10::
+_EnemiesOnEverySideText::
text "Enemies on every"
line "side!"
done
-_FightingDojoText_52a1d::
+_WhatGoesAroundComesAroundText::
text "What goes around"
line "comes around!"
done
@@ -2501,6 +2501,7 @@ _ColosseumText1::
INCLUDE "text/maps/reds_house_1f.asm"
INCLUDE "text/maps/blues_house.asm"
INCLUDE "text/maps/oaks_lab.asm"
+INCLUDE "text/pokedex_ratings.asm"
INCLUDE "text/maps/viridian_mart.asm"
INCLUDE "text/maps/school.asm"
INCLUDE "text/maps/viridian_house.asm"
diff --git a/text/maps/oaks_lab.asm b/text/maps/oaks_lab.asm
index 31f8deeb..5b12e1b8 100644
--- a/text/maps/oaks_lab.asm
+++ b/text/maps/oaks_lab.asm
@@ -393,122 +393,4 @@ _OaksLabText27::
_OaksLabText_1d405::
text "I study #MON as"
line "PROF.OAK's AIDE."
- done
-
-_OaksLabText_441cc::
- text "#DEX comp-"
- line "letion is:"
-
- para "@"
- TX_NUM hDexRatingNumMonsSeen, 1, 3
- text " #MON seen"
- line "@"
- TX_NUM hDexRatingNumMonsOwned, 1, 3
- text " #MON owned"
-
- para "PROF.OAK's"
- line "Rating:"
- prompt
-
-_OaksLabText_44201::
- text "You still have"
- line "lots to do."
- cont "Look for #MON"
- cont "in grassy areas!"
- done
-
-_OaksLabText_44206::
- text "You're on the"
- line "right track! "
- cont "Get a FLASH HM"
- cont "from my AIDE!"
- done
-
-_OaksLabText_4420b::
- text "You still need"
- line "more #MON!"
- cont "Try to catch"
- cont "other species!"
- done
-
-_OaksLabText_44210::
- text "Good, you're"
- line "trying hard!"
- cont "Get an ITEMFINDER"
- cont "from my AIDE!"
- done
-
-_OaksLabText_44215::
- text "Looking good!"
- line "Go find my AIDE"
- cont "when you get 50!"
- done
-
-_OaksLabText_4421a::
- text "You finally got at"
- line "least 50 species!"
- cont "Be sure to get"
- cont "EXP.ALL from my"
- cont "AIDE!"
- done
-
-_OaksLabText_4421f::
- text "Oh! This is get-"
- line "ting even better!"
- done
-
-_OaksLabText_44224::
- text "Very good!"
- line "Go fish for some"
- cont "marine #MON!"
- done
-
-_OaksLabText_44229::
- text "Wonderful!"
- line "Do you like to"
- cont "collect things?"
- done
-
-_OaksLabText_4422e::
- text "I'm impressed!"
- line "It must have been"
- cont "difficult to do!"
- done
-
-_OaksLabText_44233::
- text "You finally got at"
- line "least 100 species!"
- cont "I can't believe"
- cont "how good you are!"
- done
-
-_OaksLabText_44238::
- text "You even have the"
- line "evolved forms of"
- cont "#MON! Super!"
- done
-
-_OaksLabText_4423d::
- text "Excellent! Trade"
- line "with friends to"
- cont "get some more!"
- done
-
-_OaksLabText_44242::
- text "Outstanding!"
- line "You've become a"
- cont "real pro at this!"
- done
-
-_OaksLabText_44247::
- text "I have nothing"
- line "left to say!"
- cont "You're the"
- cont "authority now!"
- done
-
-_OaksLabText_4424c::
- text "Your #DEX is"
- line "fully complete!"
- cont "Congratulations!"
- done
+ done \ No newline at end of file
diff --git a/text/pokedex_ratings.asm b/text/pokedex_ratings.asm
new file mode 100644
index 00000000..b94a9868
--- /dev/null
+++ b/text/pokedex_ratings.asm
@@ -0,0 +1,117 @@
+_DexCompletionText::
+ text "#DEX comp-"
+ line "letion is:"
+
+ para "@"
+ TX_NUM hDexRatingNumMonsSeen, 1, 3
+ text " #MON seen"
+ line "@"
+ TX_NUM hDexRatingNumMonsOwned, 1, 3
+ text " #MON owned"
+
+ para "PROF.OAK's"
+ line "Rating:"
+ prompt
+
+_DexRatingText_Own0To9::
+ text "You still have"
+ line "lots to do."
+ cont "Look for #MON"
+ cont "in grassy areas!"
+ done
+
+_DexRatingText_Own10To19::
+ text "You're on the"
+ line "right track! "
+ cont "Get a FLASH HM"
+ cont "from my AIDE!"
+ done
+
+_DexRatingText_Own20To29::
+ text "You still need"
+ line "more #MON!"
+ cont "Try to catch"
+ cont "other species!"
+ done
+
+_DexRatingText_Own30To39::
+ text "Good, you're"
+ line "trying hard!"
+ cont "Get an ITEMFINDER"
+ cont "from my AIDE!"
+ done
+
+_DexRatingText_Own40To49::
+ text "Looking good!"
+ line "Go find my AIDE"
+ cont "when you get 50!"
+ done
+
+_DexRatingText_Own50To59::
+ text "You finally got at"
+ line "least 50 species!"
+ cont "Be sure to get"
+ cont "EXP.ALL from my"
+ cont "AIDE!"
+ done
+
+_DexRatingText_Own60To69::
+ text "Oh! This is get-"
+ line "ting even better!"
+ done
+
+_DexRatingText_Own70To79::
+ text "Very good!"
+ line "Go fish for some"
+ cont "marine #MON!"
+ done
+
+_DexRatingText_Own80To89::
+ text "Wonderful!"
+ line "Do you like to"
+ cont "collect things?"
+ done
+
+_DexRatingText_Own90To99::
+ text "I'm impressed!"
+ line "It must have been"
+ cont "difficult to do!"
+ done
+
+_DexRatingText_Own100To109::
+ text "You finally got at"
+ line "least 100 species!"
+ cont "I can't believe"
+ cont "how good you are!"
+ done
+
+_DexRatingText_Own110To119::
+ text "You even have the"
+ line "evolved forms of"
+ cont "#MON! Super!"
+ done
+
+_DexRatingText_Own120To129::
+ text "Excellent! Trade"
+ line "with friends to"
+ cont "get some more!"
+ done
+
+_DexRatingText_Own130To139::
+ text "Outstanding!"
+ line "You've become a"
+ cont "real pro at this!"
+ done
+
+_DexRatingText_Own140To149::
+ text "I have nothing"
+ line "left to say!"
+ cont "You're the"
+ cont "authority now!"
+ done
+
+_DexRatingText_Own150To151::
+ text "Your #DEX is"
+ line "fully complete!"
+ cont "Congratulations!"
+ done
diff --git a/wram.asm b/wram.asm
index 6aa3ce32..ea3e4bee 100755
--- a/wram.asm
+++ b/wram.asm
@@ -2191,11 +2191,11 @@ wNumberOfNoRandomBattleStepsLeft:: ; d13c
; after a battle, you have at least 3 steps before a random battle can occur
ds 1
-W_PRIZE1:: ; d13d
+wPrize1:: ; d13d
ds 1
-W_PRIZE2:: ; d13e
+wPrize2:: ; d13e
ds 1
-W_PRIZE3:: ; d13f
+wPrize3:: ; d13f
ds 1
ds 1