diff options
| author | vulcandth <vulcandth@gmail.com> | 2023-07-13 20:27:56 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-13 21:27:56 -0400 |
| commit | d001ced41b53271373753de835a9c3b3413dc318 (patch) | |
| tree | ff2db7f403bddfcdeb12e50def8411cafedcdd5e /scripts/PalletTown.asm | |
| parent | Make wCurrentBoxNum a byte instead of word (#414) (diff) | |
| download | pokeyellow-d001ced41b53271373753de835a9c3b3413dc318.tar.gz pokeyellow-d001ced41b53271373753de835a9c3b3413dc318.tar.xz pokeyellow-d001ced41b53271373753de835a9c3b3413dc318.zip | |
Add macros, constants, and labels for map scripts and text (#367)
This introduces `def_script_pointers`, `def_text_pointers`, and `object_const_def` macros, and applies them to all maps. Most other map labels have also been identified.
Diffstat (limited to 'scripts/PalletTown.asm')
| -rw-r--r-- | scripts/PalletTown.asm | 112 |
1 files changed, 57 insertions, 55 deletions
diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm index 5c26fc55..dd898ac6 100644 --- a/scripts/PalletTown.asm +++ b/scripts/PalletTown.asm @@ -9,15 +9,16 @@ PalletTown_Script: jp CallFunctionInTable PalletTown_ScriptPointers: - dw PalletTownScript0 - dw PalletTownScript1 - dw PalletTownScript2 - dw PalletTownScript3 - dw PalletTownScript4 - dw PalletTownScript5 - dw PalletTownScript6 + def_script_pointers + dw_const PalletTownDefaultScript, SCRIPT_PALLETTOWN_DEFAULT + dw_const PalletTownOakHeyWaitScript, SCRIPT_PALLETTOWN_OAK_HEY_WAIT + dw_const PalletTownOakWalksToPlayerScript, SCRIPT_PALLETTOWN_OAK_WALKS_TO_PLAYER + dw_const PalletTownOakNotSafeComeWithMeScript, SCRIPT_PALLETTOWN_OAK_NOT_SAFE_COME_WITH_ME + dw_const PalletTownPlayerFollowsOakScript, SCRIPT_PALLETTOWN_PLAYER_FOLLOWS_OAK + dw_const PalletTownDaisyScript, SCRIPT_PALLETTOWN_DAISY + dw_const PalletTownNoopScript, SCRIPT_PALLETTOWN_NOOP -PalletTownScript0: +PalletTownDefaultScript: CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB ret nz ld a, [wYCoord] @@ -33,34 +34,34 @@ PalletTownScript0: ld c, a ld a, MUSIC_MEET_PROF_OAK ; "oak appears" music call PlayMusic - ld a, $FC + ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ld [wJoyIgnore], a SetEvent EVENT_OAK_APPEARED_IN_PALLET ; trigger the next script - ld a, 1 + ld a, SCRIPT_PALLETTOWN_OAK_HEY_WAIT ld [wPalletTownCurScript], a ret -PalletTownScript1: +PalletTownOakHeyWaitScript: xor a ld [wcf0d], a - ld a, 1 + ld a, TEXT_PALLETTOWN_OAK ldh [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $FF + ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ld [wJoyIgnore], a ld a, HS_PALLET_TOWN_OAK ld [wMissableObjectIndex], a predef ShowObject ; trigger the next script - ld a, 2 + ld a, SCRIPT_PALLETTOWN_OAK_WALKS_TO_PLAYER ld [wPalletTownCurScript], a ret -PalletTownScript2: - ld a, 1 +PalletTownOakWalksToPlayerScript: + ld a, PALLETTOWN_OAK ldh [hSpriteIndex], a ld a, SPRITE_FACING_UP ldh [hSpriteFacingDirection], a @@ -78,18 +79,18 @@ PalletTownScript2: dec [hl] predef FindPathToPlayer ; load Oak's movement into wNPCMovementDirections2 ld de, wNPCMovementDirections2 - ld a, 1 ; oak + ld a, PALLETTOWN_OAK ldh [hSpriteIndex], a call MoveSprite - ld a, $FF + ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ld [wJoyIgnore], a ; trigger the next script - ld a, 3 + ld a, SCRIPT_PALLETTOWN_OAK_NOT_SAFE_COME_WITH_ME ld [wPalletTownCurScript], a ret -PalletTownScript3: +PalletTownOakNotSafeComeWithMeScript: ld a, [wd730] bit 0, a ret nz @@ -97,15 +98,15 @@ PalletTownScript3: ld [wSpritePlayerStateData1FacingDirection], a ld a, 1 ld [wcf0d], a - ld a, $FC + ld a, SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ld [wJoyIgnore], a - ld a, 1 + ld a, TEXT_PALLETTOWN_OAK ldh [hSpriteIndexOrTextID], a call DisplayTextID ; set up movement script that causes the player to follow Oak to his lab - ld a, $FF + ld a, A_BUTTON | B_BUTTON | SELECT | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ld [wJoyIgnore], a - ld a, 1 + ld a, PALLETTOWN_OAK ld [wSpriteIndex], a xor a ld [wNPCMovementScriptFunctionNum], a @@ -115,21 +116,21 @@ PalletTownScript3: ld [wNPCMovementScriptBank], a ; trigger the next script - ld a, 4 + ld a, SCRIPT_PALLETTOWN_PLAYER_FOLLOWS_OAK ld [wPalletTownCurScript], a ret -PalletTownScript4: +PalletTownPlayerFollowsOakScript: ld a, [wNPCMovementScriptPointerTableNum] and a ; is the movement script over? ret nz ; trigger the next script - ld a, 5 + ld a, SCRIPT_PALLETTOWN_DAISY ld [wPalletTownCurScript], a ret -PalletTownScript5: +PalletTownDaisyScript: CheckEvent EVENT_DAISY_WALKING jr nz, .next CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1 @@ -145,35 +146,36 @@ PalletTownScript5: CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK ret z SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 -PalletTownScript6: +PalletTownNoopScript: ret PalletTown_TextPointers: - dw PalletTownText1 - dw PalletTownText2 - dw PalletTownText3 - dw PalletTownText4 - dw PalletTownText5 - dw PalletTownText6 - dw PalletTownText7 + def_text_pointers + dw_const PalletTownOakText, TEXT_PALLETTOWN_OAK + dw_const PalletTownGirlText, TEXT_PALLETTOWN_GIRL + dw_const PalletTownFisherText, TEXT_PALLETTOWN_FISHER + dw_const PalletTownOaksLabSignText, TEXT_PALLETTOWN_OAKSLAB_SIGN + dw_const PalletTownSignText, TEXT_PALLETTOWN_SIGN + dw_const PalletTownPlayersHouseSignText, TEXT_PALLETTOWN_PLAYERSHOUSE_SIGN + dw_const PalletTownRivalsHouseSignText, TEXT_PALLETTOWN_RIVALSHOUSE_SIGN -PalletTownText1: +PalletTownOakText: text_asm ld a, [wcf0d] and a jr nz, .next ld a, 1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, OakAppearsText + ld hl, .HeyWaitDontGoOutText jr .done .next - ld hl, OakWalksUpText + ld hl, .ItsUnsafeText .done call PrintText jp TextScriptEnd -OakAppearsText: - text_far _OakAppearsText +.HeyWaitDontGoOutText: + text_far _PalletTownOakHeyWaitDontGoOutText text_asm ld c, 10 call DelayFrames @@ -185,30 +187,30 @@ OakAppearsText: ld [wPlayerMovingDirection], a jp TextScriptEnd -OakWalksUpText: - text_far _OakWalksUpText +.ItsUnsafeText: + text_far _PalletTownOakItsUnsafeText text_end -PalletTownText2: ; girl - text_far _PalletTownText2 +PalletTownGirlText: + text_far _PalletTownGirlText text_end -PalletTownText3: ; fat man - text_far _PalletTownText3 +PalletTownFisherText: + text_far _PalletTownFisherText text_end -PalletTownText4: ; sign by lab - text_far _PalletTownText4 +PalletTownOaksLabSignText: + text_far _PalletTownOaksLabSignText text_end -PalletTownText5: ; sign by fence - text_far _PalletTownText5 +PalletTownSignText: + text_far _PalletTownSignText text_end -PalletTownText6: ; sign by Red's house - text_far _PalletTownText6 +PalletTownPlayersHouseSignText: + text_far _PalletTownPlayersHouseSignText text_end -PalletTownText7: ; sign by Blue's house - text_far _PalletTownText7 +PalletTownRivalsHouseSignText: + text_far _PalletTownRivalsHouseSignText text_end |
