diff options
| -rw-r--r-- | constants/tx_pre_constants.asm | 4 | ||||
| -rwxr-xr-x | data/prize_mon_levels.asm | 12 | ||||
| -rwxr-xr-x | data/prizes.asm | 33 | ||||
| -rwxr-xr-x | engine/hidden_object_functions14.asm | 42 | ||||
| -rwxr-xr-x | engine/menu/prize_menu.asm | 225 | ||||
| -rwxr-xr-x | engine/overworld/card_key.asm | 19 | ||||
| -rw-r--r-- | engine/overworld/dungeon_warps.asm | 15 | ||||
| -rwxr-xr-x | engine/overworld/hidden_objects.asm | 16 | ||||
| -rwxr-xr-x | engine/pokedex_rating.asm | 102 | ||||
| -rwxr-xr-x | main.asm | 20 | ||||
| -rw-r--r-- | replace.sh | 2 | ||||
| -rw-r--r-- | text.asm | 5 | ||||
| -rw-r--r-- | text/maps/oaks_lab.asm | 120 | ||||
| -rw-r--r-- | text/pokedex_ratings.asm | 117 | ||||
| -rwxr-xr-x | wram.asm | 6 | 
15 files changed, 371 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 74c0d489..48b2380d 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  	TX_SFX_ITEM  	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 "@" @@ -676,10 +676,15 @@ INCLUDE "engine/menu/options.asm"  SECTION "bank11",ROMX,BANK[$11] -	dr $44000,$45077 -LoadSpinnerArrowTiles: ; 45077 (11:5077) -	dr $45077,$46c12 +	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] @@ -743,10 +748,11 @@ 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,$529a2 +INCLUDE "engine/overworld/card_key.asm" + +INCLUDE "engine/menu/prize_menu.asm" + +INCLUDE "engine/hidden_object_functions14.asm"  SECTION "bank15",ROMX,BANK[$15] @@ -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 @@ -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 @@ -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 | 
