From d001ced41b53271373753de835a9c3b3413dc318 Mon Sep 17 00:00:00 2001 From: vulcandth Date: Thu, 13 Jul 2023 20:27:56 -0500 Subject: 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. --- scripts/SaffronGym.asm | 210 +++++++++++++++++++++++++------------------------ 1 file changed, 106 insertions(+), 104 deletions(-) (limited to 'scripts/SaffronGym.asm') diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index 23b2dd85..96e453df 100644 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -23,40 +23,41 @@ SaffronGym_Script: db "SABRINA@" SaffronGymResetScripts: - xor a + xor a ; SCRIPT_SAFFRONGYM_DEFAULT ld [wJoyIgnore], a ld [wSaffronGymCurScript], a ld [wCurMapScript], a ret SaffronGym_ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw SaffronGymSabrinaPostBattle + def_script_pointers + dw_const CheckFightingMapTrainers, SCRIPT_SAFFRONGYM_DEFAULT + dw_const DisplayEnemyTrainerTextAndStartBattle, SCRIPT_SAFFRONGYM_START_BATTLE + dw_const EndTrainerBattle, SCRIPT_SAFFRONGYM_END_BATTLE + dw_const SaffronGymSabrinaPostBattle, SCRIPT_SAFFRONGYM_SABRINA_POST_BATTLE SaffronGymSabrinaPostBattle: ld a, [wIsInBattle] cp $ff jp z, SaffronGymResetScripts - ld a, $f0 + ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN ld [wJoyIgnore], a -SaffronGymReceiveTM46: - ld a, $a +SaffronGymSabrinaReceiveTM46Script: + ld a, TEXT_SAFFRONGYM_SABRINA_MARSH_BADGE_INFO ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_SABRINA lb bc, TM_PSYWAVE, 1 call GiveItem jr nc, .BagFull - ld a, $b + ld a, TEXT_SAFFRONGYM_SABRINA_RECEIVED_TM46 ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_TM46 jr .gymVictory .BagFull - ld a, $c + ld a, TEXT_SAFFRONGYM_SABRINA_TM46_NO_ROOM ldh [hSpriteIndexOrTextID], a call DisplayTextID .gymVictory @@ -71,58 +72,59 @@ SaffronGymReceiveTM46: jp SaffronGymResetScripts SaffronGym_TextPointers: - dw SabrinaText - dw SaffronGymTrainerText1 - dw SaffronGymTrainerText2 - dw SaffronGymTrainerText3 - dw SaffronGymTrainerText4 - dw SaffronGymTrainerText5 - dw SaffronGymTrainerText6 - dw SaffronGymTrainerText7 - dw SaffronGymGuideText - dw KogaMarshBadgeInfoText - dw ReceivedTM46Text - dw TM46NoRoomText + def_text_pointers + dw_const SaffronGymSabrinaText, TEXT_SAFFRONGYM_SABRINA + dw_const SaffronGymChanneler1Text, TEXT_SAFFRONGYM_CHANNELER1 + dw_const SaffronGymYoungster1Text, TEXT_SAFFRONGYM_YOUNGSTER1 + dw_const SaffronGymChanneler2Text, TEXT_SAFFRONGYM_CHANNELER2 + dw_const SaffronGymYoungster2Text, TEXT_SAFFRONGYM_YOUNGSTER2 + dw_const SaffronGymChanneler3Text, TEXT_SAFFRONGYM_CHANNELER3 + dw_const SaffronGymYoungster3Text, TEXT_SAFFRONGYM_YOUNGSTER3 + dw_const SaffronGymYoungster4Text, TEXT_SAFFRONGYM_YOUNGSTER4 + dw_const SaffronGymGymGuideText, TEXT_SAFFRONGYM_GYM_GUIDE + dw_const SaffronGymSabrinaMarshBadgeInfoText, TEXT_SAFFRONGYM_SABRINA_MARSH_BADGE_INFO + dw_const SaffronGymSabrinaReceivedTM46Text, TEXT_SAFFRONGYM_SABRINA_RECEIVED_TM46 + dw_const SaffronGymSabrinaTM46NoRoomText, TEXT_SAFFRONGYM_SABRINA_TM46_NO_ROOM SaffronGymTrainerHeaders: def_trainers 2 SaffronGymTrainerHeader0: - trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_0, 3, SaffronGymBattleText1, SaffronGymEndBattleText1, SaffronGymAfterBattleText1 + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_0, 3, SaffronGymChanneler1BattleText, SaffronGymChanneler1EndBattleText, SaffronGymChanneler1AfterBattleText SaffronGymTrainerHeader1: - trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_1, 3, SaffronGymBattleText2, SaffronGymEndBattleText2, SaffronGymAfterBattleText2 + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_1, 3, SaffronGymYoungster1BattleText, SaffronGymYoungster1EndBattleText, SaffronGymYoungster1AfterBattleText SaffronGymTrainerHeader2: - trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_2, 3, SaffronGymBattleText3, SaffronGymEndBattleText3, SaffronGymAfterBattleText3 + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_2, 3, SaffronGymChanneler2BattleText, SaffronGymChanneler2EndBattleText, SaffronGymChanneler2AfterBattleText SaffronGymTrainerHeader3: - trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_3, 3, SaffronGymBattleText4, SaffronGymEndBattleText4, SaffronGymAfterBattleText4 + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_3, 3, SaffronGymYoungster2BattleText, SaffronGymYoungster2EndBattleText, SaffronGymYoungster2AfterBattleText SaffronGymTrainerHeader4: - trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_4, 3, SaffronGymBattleText5, SaffronGymEndBattleText5, SaffronGymAfterBattleText5 + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_4, 3, SaffronGymChanneler3BattleText, SaffronGymChanneler3EndBattleText, SaffronGymChanneler3AfterBattleText SaffronGymTrainerHeader5: - trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_5, 3, SaffronGymBattleText6, SaffronGymEndBattleText6, SaffronGymAfterBattleText6 + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_5, 3, SaffronGymYoungster3BattleText, SaffronGymYoungster3EndBattleText, SaffronGymYoungster3AfterBattleText SaffronGymTrainerHeader6: - trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 3, SaffronGymBattleText7, SaffronGymEndBattleText7, SaffronGymAfterBattleText7 + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 3, SaffronGymYoungster4BattleText, SaffronGymYoungster4EndBattleText, SaffronGymYoungster4AfterBattleText db -1 ; end -SabrinaText: +SaffronGymSabrinaText: text_asm CheckEvent EVENT_BEAT_SABRINA jr z, .beforeBeat CheckEventReuseA EVENT_GOT_TM46 jr nz, .afterBeat - call z, SaffronGymReceiveTM46 + call z, SaffronGymSabrinaReceiveTM46Script call DisableWaitingAfterTextDisplay jr .done .afterBeat - ld hl, SabrinaPostBattleAdviceText + ld hl, .PostBattleAdviceText call PrintText jr .done .beforeBeat - ld hl, SabrinaPreBattleText + ld hl, .Text call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, ReceivedMarshBadgeText - ld de, ReceivedMarshBadgeText + ld hl, .ReceivedMarshBadgeText + ld de, .ReceivedMarshBadgeText call SaveEndBattleTextPointers ldh a, [hSpriteIndex] ld [wSpriteIndex], a @@ -130,182 +132,182 @@ SabrinaText: call InitBattleEnemyParameters ld a, $6 ld [wGymLeaderNo], a - ld a, $3 + ld a, SCRIPT_SAFFRONGYM_SABRINA_POST_BATTLE ld [wSaffronGymCurScript], a .done jp TextScriptEnd -SabrinaPreBattleText: - text_far _SabrinaPreBattleText +.Text: + text_far _SaffronGymSabrinaText text_end -ReceivedMarshBadgeText: - text_far _ReceivedMarshBadgeText +.ReceivedMarshBadgeText: + text_far _SaffronGymSabrinaReceivedMarshBadgeText sound_get_key_item ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded text_promptbutton text_end -SabrinaPostBattleAdviceText: - text_far _SabrinaPostBattleAdviceText +.PostBattleAdviceText: + text_far _SaffronGymSabrinaPostBattleAdviceText text_end -KogaMarshBadgeInfoText: - text_far _KogaMarshBadgeInfoText +SaffronGymSabrinaMarshBadgeInfoText: + text_far _SaffronGymSabrinaMarshBadgeInfoText text_end -ReceivedTM46Text: - text_far _ReceivedTM46Text +SaffronGymSabrinaReceivedTM46Text: + text_far _SaffronGymSabrinaReceivedTM46Text sound_get_item_1 text_far _TM46ExplanationText text_end -TM46NoRoomText: - text_far _TM46NoRoomText +SaffronGymSabrinaTM46NoRoomText: + text_far _SaffronGymSabrinaTM46NoRoomText text_end -SaffronGymTrainerText1: +SaffronGymChanneler1Text: text_asm ld hl, SaffronGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd -SaffronGymTrainerText2: +SaffronGymYoungster1Text: text_asm ld hl, SaffronGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd -SaffronGymTrainerText3: +SaffronGymChanneler2Text: text_asm ld hl, SaffronGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd -SaffronGymTrainerText4: +SaffronGymYoungster2Text: text_asm ld hl, SaffronGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd -SaffronGymTrainerText5: +SaffronGymChanneler3Text: text_asm ld hl, SaffronGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd -SaffronGymTrainerText6: +SaffronGymYoungster3Text: text_asm ld hl, SaffronGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd -SaffronGymTrainerText7: +SaffronGymYoungster4Text: text_asm ld hl, SaffronGymTrainerHeader6 call TalkToTrainer jp TextScriptEnd -SaffronGymGuideText: +SaffronGymGymGuideText: text_asm CheckEvent EVENT_BEAT_SABRINA jr nz, .afterBeat - ld hl, SaffronGymGuidePreBattleText + ld hl, .ChampInMakingText call PrintText jr .done .afterBeat - ld hl, SaffronGymGuidePostBattleText + ld hl, .BeatSabrinaText call PrintText .done jp TextScriptEnd -SaffronGymGuidePreBattleText: - text_far _SaffronGymGuidePreBattleText +.ChampInMakingText: + text_far _SaffronGymGuideChampInMakingText text_end -SaffronGymGuidePostBattleText: - text_far _SaffronGymGuidePostBattleText +.BeatSabrinaText: + text_far _SaffronGymGuideBeatSabrinaText text_end -SaffronGymBattleText1: - text_far _SaffronGymBattleText1 +SaffronGymChanneler1BattleText: + text_far _SaffronGymChanneler1BattleText text_end -SaffronGymEndBattleText1: - text_far _SaffronGymEndBattleText1 +SaffronGymChanneler1EndBattleText: + text_far _SaffronGymChanneler1EndBattleText text_end -SaffronGymAfterBattleText1: - text_far _SaffronGymAfterBattleText1 +SaffronGymChanneler1AfterBattleText: + text_far _SaffronGymChanneler1AfterBattleText text_end -SaffronGymBattleText2: - text_far _SaffronGymBattleText2 +SaffronGymYoungster1BattleText: + text_far _SaffronGymYoungster1BattleText text_end -SaffronGymEndBattleText2: - text_far _SaffronGymEndBattleText2 +SaffronGymYoungster1EndBattleText: + text_far _SaffronGymYoungster1EndBattleText text_end -SaffronGymAfterBattleText2: - text_far _SaffronGymAfterBattleText2 +SaffronGymYoungster1AfterBattleText: + text_far _SaffronGymYoungster1AfterBattleText text_end -SaffronGymBattleText3: - text_far _SaffronGymBattleText3 +SaffronGymChanneler2BattleText: + text_far _SaffronGymChanneler2BattleText text_end -SaffronGymEndBattleText3: - text_far _SaffronGymEndBattleText3 +SaffronGymChanneler2EndBattleText: + text_far _SaffronGymChanneler2EndBattleText text_end -SaffronGymAfterBattleText3: - text_far _SaffronGymAfterBattleText3 +SaffronGymChanneler2AfterBattleText: + text_far _SaffronGymChanneler2AfterBattleText text_end -SaffronGymBattleText4: - text_far _SaffronGymBattleText4 +SaffronGymYoungster2BattleText: + text_far _SaffronGymYoungster2BattleText text_end -SaffronGymEndBattleText4: - text_far _SaffronGymEndBattleText4 +SaffronGymYoungster2EndBattleText: + text_far _SaffronGymYoungster2EndBattleText text_end -SaffronGymAfterBattleText4: - text_far _SaffronGymAfterBattleText4 +SaffronGymYoungster2AfterBattleText: + text_far _SaffronGymYoungster2AfterBattleText text_end -SaffronGymBattleText5: - text_far _SaffronGymBattleText5 +SaffronGymChanneler3BattleText: + text_far _SaffronGymChanneler3BattleText text_end -SaffronGymEndBattleText5: - text_far _SaffronGymEndBattleText5 +SaffronGymChanneler3EndBattleText: + text_far _SaffronGymChanneler3EndBattleText text_end -SaffronGymAfterBattleText5: - text_far _SaffronGymAfterBattleText5 +SaffronGymChanneler3AfterBattleText: + text_far _SaffronGymChanneler3AfterBattleText text_end -SaffronGymBattleText6: - text_far _SaffronGymBattleText6 +SaffronGymYoungster3BattleText: + text_far _SaffronGymYoungster3BattleText text_end -SaffronGymEndBattleText6: - text_far _SaffronGymEndBattleText6 +SaffronGymYoungster3EndBattleText: + text_far _SaffronGymYoungster3EndBattleText text_end -SaffronGymAfterBattleText6: - text_far _SaffronGymAfterBattleText6 +SaffronGymYoungster3AfterBattleText: + text_far _SaffronGymYoungster3AfterBattleText text_end -SaffronGymBattleText7: - text_far _SaffronGymBattleText7 +SaffronGymYoungster4BattleText: + text_far _SaffronGymYoungster4BattleText text_end -SaffronGymEndBattleText7: - text_far _SaffronGymEndBattleText7 +SaffronGymYoungster4EndBattleText: + text_far _SaffronGymYoungster4EndBattleText text_end -SaffronGymAfterBattleText7: - text_far _SaffronGymAfterBattleText7 +SaffronGymYoungster4AfterBattleText: + text_far _SaffronGymYoungster4AfterBattleText text_end -- cgit v1.3.1-sl0p