diff options
50 files changed, 3969 insertions, 3893 deletions
diff --git a/bugs_and_glitches.md b/bugs_and_glitches.md new file mode 100644 index 0000000..a1a7e1d --- /dev/null +++ b/bugs_and_glitches.md @@ -0,0 +1,403 @@ +# Bugs and Glitches + +These are documented bugs and glitches in the original Pokémon Trading Card Game. + +Fixes are written in the `diff` format. + +```diff + this is some code +-delete red - lines ++add green + lines +``` + +**Disclaimer regarding the fixes:** since the project is still in the process of being disassembled, applying code modifications that result in a different number of bytes in the instructions will lead to lots of pointer invalidation, which will potentially lead to crashes. + +## Contents + +- [AI wrongfully adds score twice for attaching energy to Arena card](#ai-wrongfully-adds-score-twice-for-attaching-energy-to-arena-card) +- [Cards in AI decks that are not supposed to be placed as Prize cards are ignored](#cards-in-ai-decks-that-are-not-supposed-to-be-placed-as-prize-cards-are-ignored) +- [AI score modifiers for retreating are never used](#ai-score-modifiers-for-retreating-are-never-used) +- [AI handles Basic Pokémon cards in hand wrong when scoring the use of Professor Oak](#ai-handles-basic-pokémon-cards-in-hand-wrong-when-scoring-the-use-of-professor-oak) +- [Rick never plays Energy Search](#rick-never-plays-energy-search) +- [Rick uses wrong Pokédex AI subroutine](#rick-uses-wrong-pokédex-ai-subroutine) +- [Chris never uses Revive on Kangaskhan](#chris-never-uses-revive-on-kangaskhan) +- [AI Pokemon Trader may result in unintended effects](#ai-pokemon-trader-may-result-in-unintended-effects) +- [AI never uses Energy Trans in order to retreat Arena card](#ai-never-uses-energy-trans-in-order-to-retreat-arena-card) +- [Sam's practice deck does wrong card ID check](#sams-practice-deck-does-wrong-card-id-check) +- [AI does not account for Mysterious Fossil or Clefairy Doll when using Shift Pkmn Power](#ai-does-not-account-for-mysterious-fossil-or-clefairy-doll-when-using-shift-pkmn-power) + +## AI wrongfully adds score twice for attaching energy to Arena card + +When the AI is scoring each Play Area Pokémon card to attach an Energy card, it first checks whether it's the Arena card and, if so, checks whether the attack can KO the Defending Pokémon. If it's true, then 20 is added to the score. Then it does the same Arena card check to increase the score further. The intention is probably to score the card with 20 if it can KO the opponent regardless of Play Area position, and additionally if it's the Arena card it should score 10 more points. + +**Fix:** Edit `DetermineAIScoreOfMoveEnergyRequirement` in [src/engine/bank05.asm](https://github.com/pret/poketcg/blob/master/src/engine/bank05.asm): +```diff +DetermineAIScoreOfMoveEnergyRequirement: ; 16695 (5:6695) + ... +-; if the move KOs player and this is the active card, add to AI score. ++; if the move KOs player add to AI score. +- ldh a, [hTempPlayAreaLocation_ff9d] +- or a +- jr nz, .check_evolution + ld a, [wSelectedAttack] + call EstimateDamage_VersusDefendingCard + ld a, DUELVARS_ARENA_CARD_HP + call GetNonTurnDuelistVariable + ld hl, wDamage + sub [hl] + jr z, .move_kos_defending + jr nc, .check_evolution +.move_kos_defending + ld a, 20 + call AddToAIScore + +-; this is possibly a bug. +-; this is an identical check as above to test whether this card is active. +-; in case it is active, the score gets added 10 more points, +-; in addition to the 20 points already added above. +-; what was probably intended was to add 20 points +-; plus 10 in case it is the Arena card. ++; add 10 more in case it's the Arena card + ldh a, [hTempPlayAreaLocation_ff9d] + or a + jr nz, .check_evolution + ld a, 10 + call AddToAIScore + ... +``` + +## Cards in AI decks that are not supposed to be placed as Prize cards are ignored + +Each deck AI lists some card IDs that are not supposed to be placed as Prize cards in the beginning of the duel. If the deck configuration after the initial shuffling results in any of these cards being placed as Prize cards, the game is supposed to reshuffle the deck. An example of such a list, for the Go GO Rain Dance deck, is: +``` +.list_prize ; 14fe6 (5:4fe6) + db GAMBLER + db ENERGY_RETRIEVAL + db SUPER_ENERGY_RETRIEVAL + db BLASTOISE + db $00 +``` + +However, the routine to iterate these lists and look for these cards is buggy, which results in the game ignoring it completely. + +**Fix:** Edit `SetUpBossStartingHandAndDeck` in [src/engine/bank05.asm](https://github.com/pret/poketcg/blob/master/src/engine/bank05.asm): +```diff +SetUpBossStartingHandAndDeck: ; 172af (5:72af) + ... +-; expectation: return carry if card ID corresponding ++; return carry if card ID corresponding +; to the input deck index is listed in wAICardListAvoidPrize; +-; reality: always returns no carry because when checking terminating +-; byte in wAICardListAvoidPrize ($00), it wrongfully uses 'cp a' instead of 'or a', +-; so it always ends up returning in the first item in list. +; input: +; - a = deck index of card to check +.CheckIfIDIsInList ; 17366 (5:7366) + ld b, a + ld a, [wAICardListAvoidPrize + 1] + or a + ret z ; null + push hl + ld h, a + ld a, [wAICardListAvoidPrize] + ld l, a + + ld a, b + call GetCardIDFromDeckIndex +.loop_id_list + ld a, [hli] +- cp a ; bug, should be 'or a' ++ or a + jr z, .false + cp e + jr nz, .loop_id_list + +; true + pop hl + scf + ret +.false + pop hl + or a + ret +``` + +## AI score modifiers for retreating are never used + +Each deck AI lists some Pokémon card IDs that have an associated score for retreating. That way, the game can fine-tune the likelihood that the AI duelist will retreat to a given Pokémon from the bench. For example, the Legendary Dragonite deck has the following list of retreat score modifiers: +``` +.list_retreat ; 14d99 (5:4d99) + ai_retreat CHARMANDER, -1 + ai_retreat MAGIKARP, -5 + db $00 +``` + +However, the game never actually stores the pointer to these lists (a notable expection being the Legendary Moltres deck), so the AI cannot access these score modifiers. + +**Fix:** Edit all applicable decks in `src/engine/deck_ai/decks/`, uncommenting the following line: +```diff +.store_list_pointers + store_list_pointer wAICardListAvoidPrize, .list_prize + store_list_pointer wAICardListArenaPriority, .list_arena + store_list_pointer wAICardListBenchPriority, .list_bench + store_list_pointer wAICardListPlayFromHandPriority, .list_bench +- ; missing store_list_pointer wAICardListRetreatBonus, .list_retreat ++ store_list_pointer wAICardListRetreatBonus, .list_retreat + store_list_pointer wAICardListEnergyBonus, .list_energy + ret +``` + +## AI handles Basic Pokémon cards in hand wrong when scoring the use of Professor Oak + +When the AI is checking whether to play Professor Oak or not, it does a hand check to see if there are any Basic/Evolved Pokémon cards. One of these checks is supposed to add to the score if there are Basic Pokémon in hand, but as it is coded, it will never execute the score addition. + +**Fix:** Edit `AIDecide_ProfessorOak` in [src/engine/bank08.asm](https://github.com/pret/poketcg/blob/master/src/engine/bank08.asm): +```diff +AIDecide_ProfessorOak: ; 20cc1 (8:4cc1) + ... +-; this part seems buggy +-; the AI loops through all the cards in hand and checks +-; if any of them is not a Pokemon card and has Basic stage. +-; it seems like the intention was that if there was +-; any Basic Pokemon still in hand, the AI would add to the score. +.check_hand + call CreateHandCardList + ld hl, wDuelTempList +.loop_hand + ld a, [hli] + cp $ff + jr z, .check_evolution + + call LoadCardDataToBuffer1_FromDeckIndex + ld a, [wLoadedCard1Type] + cp TYPE_ENERGY +- jr c, .loop_hand ; bug, should be jr nc ++ jr nc, .loop_hand + ... +``` + +## Rick never plays Energy Search + +The AI's decision to play Energy Search has two special cases: one for the Heated Battle deck and the other for the Wonders of Science deck. The former calls a subroutine to check only for Fire and Lightning energy cards in the deck, and the latter only checks for... Fire and Lightning energy cards. In a deck filled only with Grass and Psychic types. Needless is to say, poor Rick never finds any of those energy cards in the deck, so the Energy Search card is left forever unplayed. There's an unreferenced subroutine that looks for Grass energy that is supposed to be used instead. + +**Fix:** Edit `AIDecide_EnergySearch` in [src/engine/bank08.asm](https://github.com/pret/poketcg/blob/master/src/engine/bank08.asm): +```diff +AIDecide_EnergySearch: ; 211aa (8:51aa) + ... +-; this subroutine has a bug. +-; it was supposed to use the .CheckUsefulGrassEnergy subroutine +-; but uses .CheckUsefulFireOrLightningEnergy instead. +.wonders_of_science + ld a, CARD_LOCATION_DECK + call FindBasicEnergyCardsInLocation + jr c, .no_carry +- call .CheckUsefulFireOrLightningEnergy ++ call .CheckUsefulGrassEnergy + jr c, .no_carry + scf + ret + ... +``` + +## Rick uses wrong Pokédex AI subroutine + +Seems Rick can't catch a break. When deciding which cards to prioritize in the Pokédex card effect, the AI checks if it's playing the Wonders of Science deck, then completely disregards the result and jumps unconditionally. Thus, Rick uses the generic algorithm for sorting the deck cards. + +**Fix:** Edit `AIDecide_Pokedex` in [src/engine/bank08.asm](https://github.com/pret/poketcg/blob/master/src/engine/bank08.asm): +```diff +AIDecide_Pokedex: ; 212dc (8:52dc) + ... +.pick_cards +-; the following comparison is disregarded +-; the Wonders of Science deck was probably intended +-; to use PickPokedexCards_Unreferenced instead + ld a, [wOpponentDeckID] + cp WONDERS_OF_SCIENCE_DECK_ID +- jp PickPokedexCards ; bug, should be jp nz ++ jp nz, PickPokedexCards ++ ; fallthrough + +; picks order of the cards in deck from the effects of Pokedex. +; prioritizes Pokemon cards, then Trainer cards, then energy cards. +; stores the resulting order in wce1a. +-PickPokedexCards_Unreferenced: ; 212ff (8:52ff) +-; unreferenced + xor a + ld [wAIPokedexCounter], a ; reset counter + ... +``` + +## Chris never uses Revive on Kangaskhan + +Because of an error in the AI logic, Chris never considers using Revive on a Kangaskhan card in the Discard Pile, even though it is listed as one of the cards for the AI to check. + +**Fix:** Edit `AIDecide_Revive` in [src/engine/bank08.asm](https://github.com/pret/poketcg/blob/master/src/engine/bank08.asm): +```diff +AIDecide_Revive: ; 218a9 (8:58a9) + ... +-; these checks have a bug. +-; it works fine for Hitmonchan and Hitmonlee, +-; but in case it's a Tauros card, the routine will fallthrough +-; into the Kangaskhan check. since it will never be equal to Kangaskhan, +-; it will fallthrough into the set carry branch. +-; in case it's a Kangaskhan card, the check will fail in the Tauros check +-; and jump back into the loop. so just by accident the Tauros check works, +-; but Kangaskhan will never be correctly checked because of this. + cp HITMONCHAN + jr z, .set_carry + cp HITMONLEE + jr z, .set_carry + cp TAUROS +- jr nz, .loop_discard_pile ; bug, these two lines should be swapped ++ jr z, .set_carry + cp KANGASKHAN +- jr z, .set_carry ; bug, these two lines should be swapped ++ jr nz, .loop_discard_pile + ... +``` + +## AI Pokemon Trader may result in unintended effects + +A missing line in AI logic might result in strange behavior when executing the effect of Pokémon Trader for Power Generator deck. + +**Fix:** Edit `AIDecide_PokemonTrader_PowerGenerator` in [src/engine/bank08.asm](https://github.com/pret/poketcg/blob/master/src/engine/bank08.asm): +```diff +AIDecide_PokemonTrader_PowerGenerator: ; 2200b (8:600b) + ... + call LookForCardIDInDeck_GivenCardIDInHand + jr c, .find_duplicates +- ; bug, missing jr .no_carry ++ jr .no_carry + +-; since this last check falls through regardless of result, +-; register a might hold an invalid deck index, +-; which might lead to hilarious results like Brandon +-; trading a Pikachu with a Grass Energy from the deck. +-; however, since it's deep in a tower of conditionals, +-; reaching here is extremely unlikely. + +; a card in deck was found to look for, +; check if there are duplicates in hand to trade with. + ... +``` + +## AI never uses Energy Trans in order to retreat Arena card + +There is a mistake in the AI retreat logic, in [src/engine/deck_ai/decks/general.asm](https://github.com/pret/poketcg/blob/master/src/engine/deck_ai/decks/general.asm): +``` +.used_switch +; if AI used switch, unset its AI flag + ld a, [wPreviousAIFlags] + and ~AI_FLAG_USED_SWITCH ; clear Switch flag + ld [wPreviousAIFlags], a + +; bug, this doesn't make sense being here, since at this point +; Switch Trainer card was already used to retreat the Pokemon. +; what the routine will do is just transfer Energy cards to +; the Arena Pokemon for the purpose of retreating, and +; then not actually retreat, resulting in unusual behaviour. +; this would only work placed right after the AI checks whether +; they have Switch card in hand to use and doesn't have one. +; (and probably that was the original intention.) + ld a, AI_ENERGY_TRANS_RETREAT ; retreat + farcall HandleAIEnergyTrans + ret +``` + +**Fix:** TODO + +## Sam's practice deck does wrong card ID check + +There is a mistake in the AI logic for deciding which Pokémon for Sam to switch to, in [src/engine/deck_ai/decks/sams_practice.asm](https://github.com/pret/poketcg/blob/master/src/engine/deck_ai/decks/sams_practice.asm): +``` +; this is a bug, it's attempting to compare a card ID with a deck index. +; the intention was to change the card to switch to depending on whether +; the first Machop was KO'd at this point in the Duel or not. +; because of the buggy comparison, this will always jump the +; 'inc a' instruction and switch to PLAY_AREA_BENCH_1. +; in a normal Practice Duel following Dr. Mason's instructions, +; this will always lead to the AI correctly switching Raticate with Machop, +; but in case of a "Free" Duel where the first Machop is not KO'd, +; the intention was to switch to PLAY_AREA_BENCH_2 instead. +; but due to 'inc a' always being skipped, it will switch to Raticate. + ld a, DUELVARS_ARENA_CARD + call GetTurnDuelistVariable + cp MACHOP ; wrong + ld a, PLAY_AREA_BENCH_1 + jr nz, .retreat + inc a ; PLAY_AREA_BENCH_2 +``` + +**Fix:** Edit `AIDecide_PokemonTrader_PowerGenerator` in [src/engine/bank08.asm](https://github.com/pret/poketcg/blob/master/src/engine/bank08.asm): +```diff +AIPerformScriptedTurn: ; 1483a (5:483a) + ... +-; this is a bug, it's attempting to compare a card ID with a deck index. +-; the intention was to change the card to switch to depending on whether +-; the first Machop was KO'd at this point in the Duel or not. +-; because of the buggy comparison, this will always jump the +-; 'inc a' instruction and switch to PLAY_AREA_BENCH_1. +-; in a normal Practice Duel following Dr. Mason's instructions, +-; this will always lead to the AI correctly switching Raticate with Machop, +-; but in case of a "Free" Duel where the first Machop is not KO'd, +-; the intention was to switch to PLAY_AREA_BENCH_2 instead. +-; but due to 'inc a' always being skipped, it will switch to Raticate. + ld a, DUELVARS_ARENA_CARD + call GetTurnDuelistVariable ++ call GetCardIDFromDeckIndex ++ ld a, e +- cp MACHOP ; wrong ++ cp MACHOP + ld a, PLAY_AREA_BENCH_1 + jr nz, .retreat + inc a ; PLAY_AREA_BENCH_2 + +.retreat + call AITryToRetreat + ret + ... +``` + +## AI does not account for Mysterious Fossil or Clefairy Doll when using Shift Pkmn Power + +**Fix:** Edit `HandleAIShift` in [src/engine/bank08.asm](https://github.com/pret/poketcg/blob/master/src/engine/bank08.asm): +```diff +HandleAIShift: ; 22476 (8:6476) + ... +.CheckWhetherTurnDuelistHasColor ; 224c6 (8:64c6) + ld a, [wAIDefendingPokemonWeakness] + ld b, a + ld a, DUELVARS_ARENA_CARD + call GetTurnDuelistVariable +.loop_play_area + ld a, [hli] + cp $ff + jr z, .false + push bc + call GetCardIDFromDeckIndex + call GetCardType +- ; in case this is a Mysterious Fossil or Clefairy Doll card, +- ; AI might read the type of the card incorrectly here. +- ; uncomment the following lines to account for this +- ; cp TYPE_TRAINER +- ; jr nz, .not_trainer +- ; pop bc +- ; jr .loop_play_area +-; .not_trainer ++ cp TYPE_TRAINER ++ jr nz, .not_trainer ++ pop bc ++ jr .loop_play_area ++.not_trainer + call TranslateColorToWR + pop bc + and b + jr z, .loop_play_area +; true + scf + ret +.false + or a + ret + ... +``` diff --git a/src/audio/music/boosterpack.asm b/src/audio/music/boosterpack.asm index c5287d0..e3951e2 100644 --- a/src/audio/music/boosterpack.asm +++ b/src/audio/music/boosterpack.asm @@ -1,8 +1,8 @@ Music_BoosterPack_Ch1: ; f7d60 (3d:7d60) - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 - musice8 8 + cutoff 8 octave 4 duty 1 speed 1 @@ -44,10 +44,10 @@ Music_BoosterPack_Ch1: ; f7d60 (3d:7d60) Music_BoosterPack_Ch2: ; f7d9e (3d:7d9e) - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 - musice8 8 + cutoff 8 octave 3 duty 1 speed 1 @@ -88,11 +88,11 @@ Music_BoosterPack_Ch2: ; f7d9e (3d:7d9e) Music_BoosterPack_Ch3: ; f7ddb (3d:7ddb) - musicdc 17 + stereo_panning 1, 1 wave 1 volume 32 - musice8 8 - musice9 0 + cutoff 8 + echo 0 octave 1 speed 1 D# 6 diff --git a/src/audio/music/cardpop.asm b/src/audio/music/cardpop.asm index e536dca..2bc7fdb 100644 --- a/src/audio/music/cardpop.asm +++ b/src/audio/music/cardpop.asm @@ -1,7 +1,7 @@ Music_CardPop_Ch1: ; f703a (3d:703a) speed 4 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 duty 2 volume 144 MainLoop @@ -11,10 +11,10 @@ Music_CardPop_Ch1: ; f703a (3d:703a) rest 14 Loop 2 octave 5 - musice8 8 + cutoff 8 F# 1 G_ 1 - musice8 6 + cutoff 6 F# 1 volume 55 F# 1 @@ -63,10 +63,10 @@ Music_CardPop_Ch1: ; f703a (3d:703a) rest 14 octave 5 volume 144 - musice8 8 + cutoff 8 E_ 1 F_ 1 - musice8 6 + cutoff 6 E_ 1 volume 55 E_ 1 @@ -121,11 +121,11 @@ Music_CardPop_Ch1: ; f703a (3d:703a) Music_CardPop_Ch2: ; f70df (3d:70df) speed 4 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 duty 2 volume 96 - musice8 3 + cutoff 3 Loop 2 octave 2 A_ 2 @@ -208,10 +208,10 @@ Music_CardPop_Ch2: ; f70df (3d:70df) Music_CardPop_Ch3: ; f713a (3d:713a) speed 4 wave 1 - musicdc 17 + stereo_panning 1, 1 volume 32 - musice9 0 - musice8 8 + echo 0 + cutoff 8 music_call Branch_f715b C_ 2 C# 2 diff --git a/src/audio/music/challengehall.asm b/src/audio/music/challengehall.asm index 0bd1876..5b28ffe 100644 --- a/src/audio/music/challengehall.asm +++ b/src/audio/music/challengehall.asm @@ -1,12 +1,12 @@ Music_ChallengeHall_Ch1: ; f9646 (3e:5646) - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 15 - musice8 7 + cutoff 7 octave 3 duty 2 volume 128 - musice8 8 + cutoff 8 speed 1 A_ 7 G# 4 @@ -401,10 +401,10 @@ Branch_f9848: Music_ChallengeHall_Ch2: ; f9883 (3e:5883) - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 15 - musice8 7 + cutoff 7 octave 3 speed 10 Loop 2 @@ -413,7 +413,7 @@ Music_ChallengeHall_Ch2: ; f9883 (3e:5883) MainLoop duty 1 volume 144 - musice8 8 + cutoff 8 speed 10 E_ 6 tie @@ -676,11 +676,11 @@ Music_ChallengeHall_Ch2: ; f9883 (3e:5883) C# 15 duty 1 volume 128 - musice8 7 + cutoff 7 C# 5 C# 5 C# 5 - musice8 8 + cutoff 8 C# 7 volume 39 C# 8 @@ -772,19 +772,19 @@ Branch_f9a28: Music_ChallengeHall_Ch3: ; f9a92 (3e:5a92) - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 - musice9 0 - musice8 8 - musice8 8 + echo 0 + cutoff 8 + cutoff 8 speed 10 Loop 2 rest 6 EndLoop MainLoop octave 1 - musice8 8 + cutoff 8 E_ 6 tie E_ 6 @@ -793,10 +793,10 @@ Music_ChallengeHall_Ch3: ; f9a92 (3e:5a92) E_ 7 rest 8 dec_octave - musice8 7 + cutoff 7 E_ 7 E_ 8 - musice8 8 + cutoff 8 E_ 7 rest 8 E_ 7 @@ -965,11 +965,11 @@ Music_ChallengeHall_Ch3: ; f9a92 (3e:5a92) dec_octave A_ 7 rest 8 - musice8 7 + cutoff 7 A_ 5 A_ 5 A_ 5 - musice8 8 + cutoff 8 A_ 7 rest 8 A_ 7 diff --git a/src/audio/music/club1.asm b/src/audio/music/club1.asm index 785a126..3b75f45 100644 --- a/src/audio/music/club1.asm +++ b/src/audio/music/club1.asm @@ -1,13 +1,13 @@ Music_Club1_Ch1: ; f9be5 (3e:5be5) speed 5 - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 20 - musice8 8 + cutoff 8 octave 3 duty 0 volume 146 - musice8 8 + cutoff 8 C# 2 dec_octave A_ 2 @@ -66,7 +66,7 @@ Music_Club1_Ch1: ; f9be5 (3e:5be5) rest 2 duty 0 volume 148 - musice8 8 + cutoff 8 E_ 6 rest 2 MainLoop @@ -291,14 +291,14 @@ Music_Club1_Ch1: ; f9be5 (3e:5be5) Music_Club1_Ch2: ; f9d5f (3e:5d5f) speed 5 - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 20 - musice8 7 + cutoff 7 octave 2 duty 0 volume 146 - musice8 8 + cutoff 8 A_ 2 E_ 2 A_ 2 @@ -573,11 +573,11 @@ Music_Club1_Ch2: ; f9d5f (3e:5d5f) Music_Club1_Ch3: ; f9ec4 (3e:5ec4) speed 5 - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 - musice9 96 - musice8 7 + echo 96 + cutoff 7 octave 1 A_ 2 rest 2 @@ -590,16 +590,16 @@ Music_Club1_Ch3: ; f9ec4 (3e:5ec4) A# 2 rest 4 B_ 2 - musice8 4 + cutoff 4 B_ 2 - musice8 7 + cutoff 7 F# 2 F_ 2 inc_octave - musice8 4 + cutoff 4 D_ 2 dec_octave - musice8 7 + cutoff 7 E_ 2 rest 4 inc_octave @@ -610,262 +610,262 @@ Music_Club1_Ch3: ; f9ec4 (3e:5ec4) octave 1 A_ 4 inc_octave - musice8 4 + cutoff 4 A_ 2 dec_octave - musice8 7 + cutoff 7 C# 6 E_ 4 inc_octave - musice8 4 + cutoff 4 A_ 2 dec_octave - musice8 7 + cutoff 7 F_ 4 inc_octave - musice8 4 + cutoff 4 A# 2 dec_octave - musice8 7 + cutoff 7 F# 4 inc_octave - musice8 4 + cutoff 4 F# 2 - musice8 7 + cutoff 7 C# 6 dec_octave A# 4 inc_octave inc_octave - musice8 4 + cutoff 4 C# 2 dec_octave dec_octave - musice8 7 + cutoff 7 F# 6 music_call Branch_fa01a octave 1 - musice8 7 + cutoff 7 A_ 4 inc_octave - musice8 4 + cutoff 4 A_ 2 dec_octave - musice8 7 + cutoff 7 C# 6 E_ 4 inc_octave - musice8 4 + cutoff 4 A_ 2 dec_octave - musice8 7 + cutoff 7 F_ 4 inc_octave inc_octave - musice8 4 + cutoff 4 C# 2 dec_octave dec_octave - musice8 7 + cutoff 7 F# 4 inc_octave - musice8 4 + cutoff 4 F# 2 - musice8 7 + cutoff 7 C# 6 dec_octave A# 4 inc_octave inc_octave - musice8 4 + cutoff 4 E_ 2 dec_octave dec_octave - musice8 7 + cutoff 7 F# 6 music_call Branch_fa01a octave 1 - musice8 7 + cutoff 7 D_ 4 inc_octave - musice8 4 + cutoff 4 F# 2 dec_octave - musice8 7 + cutoff 7 D_ 4 rest 2 D_ 4 inc_octave - musice8 4 + cutoff 4 A_ 2 dec_octave - musice8 7 + cutoff 7 D_ 4 inc_octave - musice8 4 + cutoff 4 F# 2 dec_octave - musice8 7 + cutoff 7 D_ 4 inc_octave - musice8 4 + cutoff 4 F_ 2 dec_octave - musice8 7 + cutoff 7 D_ 4 rest 2 D_ 4 inc_octave - musice8 4 + cutoff 4 A_ 2 dec_octave - musice8 7 + cutoff 7 D_ 4 inc_octave - musice8 4 + cutoff 4 F_ 2 dec_octave - musice8 7 + cutoff 7 C# 4 inc_octave - musice8 4 + cutoff 4 E_ 2 dec_octave - musice8 7 + cutoff 7 C# 6 E_ 4 inc_octave inc_octave - musice8 4 + cutoff 4 E_ 2 dec_octave dec_octave - musice8 7 + cutoff 7 F_ 6 F# 4 inc_octave - musice8 4 + cutoff 4 A# 2 - musice8 7 + cutoff 7 C# 6 dec_octave A# 4 inc_octave - musice8 4 + cutoff 4 F# 2 dec_octave - musice8 7 + cutoff 7 F# 6 B_ 4 inc_octave - musice8 4 + cutoff 4 A_ 2 dec_octave - musice8 7 + cutoff 7 F# 6 A_ 4 inc_octave - musice8 4 + cutoff 4 F# 2 dec_octave - musice8 7 + cutoff 7 A# 4 inc_octave inc_octave - musice8 4 + cutoff 4 D_ 2 dec_octave dec_octave - musice8 7 + cutoff 7 B_ 4 inc_octave - musice8 4 + cutoff 4 A_ 2 dec_octave - musice8 7 + cutoff 7 F# 6 D_ 4 inc_octave - musice8 4 + cutoff 4 F# 2 dec_octave - musice8 7 + cutoff 7 F# 6 E_ 4 inc_octave - musice8 4 + cutoff 4 A_ 2 dec_octave - musice8 6 + cutoff 6 E_ 6 - musice8 7 + cutoff 7 E_ 4 inc_octave - musice8 4 + cutoff 4 F# 2 dec_octave - musice8 7 + cutoff 7 E_ 4 inc_octave - musice8 4 + cutoff 4 F# 2 - musice8 7 + cutoff 7 E_ 4 - musice8 4 + cutoff 4 G# 2 dec_octave - musice8 7 + cutoff 7 E_ 4 inc_octave - musice8 4 + cutoff 4 F# 2 dec_octave - musice8 7 + cutoff 7 F# 4 inc_octave - musice8 4 + cutoff 4 G# 2 dec_octave - musice8 7 + cutoff 7 G# 4 inc_octave - musice8 4 + cutoff 4 B_ 2 - musice8 7 + cutoff 7 EndMainLoop Branch_fa01a: octave 1 B_ 4 inc_octave - musice8 4 + cutoff 4 A_ 2 dec_octave - musice8 7 + cutoff 7 C# 6 D_ 4 inc_octave - musice8 4 + cutoff 4 F# 2 dec_octave - musice8 7 + cutoff 7 D# 6 E_ 4 inc_octave - musice8 4 + cutoff 4 B_ 2 dec_octave - musice8 7 + cutoff 7 B_ 6 G# 4 inc_octave - musice8 4 + cutoff 4 B_ 2 dec_octave - musice8 7 + cutoff 7 E_ 4 inc_octave - musice8 4 + cutoff 4 E_ 2 music_ret diff --git a/src/audio/music/club2.asm b/src/audio/music/club2.asm index 2b608d5..786273a 100644 --- a/src/audio/music/club2.asm +++ b/src/audio/music/club2.asm @@ -1,8 +1,8 @@ Music_Club2_Ch1: ; fa077 (3e:6077) speed 6 duty 2 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 MainLoop octave 4 Loop 8 @@ -95,8 +95,8 @@ Music_Club2_Ch1: ; fa077 (3e:6077) Music_Club2_Ch2: ; fa0e3 (3e:60e3) speed 6 duty 2 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 MainLoop octave 2 Loop 8 @@ -209,15 +209,15 @@ Music_Club2_Ch2: ; fa0e3 (3e:60e3) Music_Club2_Ch3: ; fa164 (3e:6164) speed 6 volume 32 - musicdc 17 + stereo_panning 1, 1 wave 0 vibrato_type 4 vibrato_delay 35 - musice8 6 - musice9 64 + cutoff 6 + echo 64 MainLoop volume 96 - musice8 8 + cutoff 8 rest 2 octave 4 G_ 4 @@ -233,16 +233,16 @@ Music_Club2_Ch3: ; fa164 (3e:6164) rest 2 rest 14 volume 64 - musice9 96 + echo 96 music_call Branch_fa1cf octave 4 - musice8 8 + cutoff 8 G_ 8 music_call Branch_fa1cf - musice9 64 + echo 64 volume 32 octave 3 - musice8 8 + cutoff 8 G_ 8 music_call Branch_fa1f3 octave 3 @@ -251,7 +251,7 @@ Music_Club2_Ch3: ; fa164 (3e:6164) G_ 12 rest 16 rest 8 - musice8 8 + cutoff 8 E_ 8 music_call Branch_fa1f3 octave 3 @@ -263,10 +263,10 @@ Music_Club2_Ch3: ; fa164 (3e:6164) tie G_ 8 rest 4 - musice8 8 + cutoff 8 A_ 2 G_ 2 - musice8 6 + cutoff 6 F# 16 tie F# 12 @@ -284,34 +284,34 @@ Music_Club2_Ch3: ; fa164 (3e:6164) A_ 16 rest 16 rest 16 - musice9 96 + echo 96 EndMainLoop Branch_fa1cf: - musice8 6 + cutoff 6 octave 5 C# 1 tie D_ 15 tie D_ 12 - musice8 8 + cutoff 8 C_ 2 dec_octave B_ 2 - musice8 6 + cutoff 6 G_ 16 tie G_ 8 rest 4 - musice8 8 + cutoff 8 E_ 4 B_ 4 inc_octave C_ 4 dec_octave B_ 4 - musice8 6 + cutoff 6 A_ 16 tie A_ 8 @@ -332,12 +332,12 @@ Branch_fa1f3: B_ 4 inc_octave C_ 4 - musice8 6 + cutoff 6 D_ 16 tie D_ 8 rest 4 - musice8 8 + cutoff 8 C_ 2 dec_octave B_ 2 @@ -345,6 +345,6 @@ Branch_fa1f3: C_ 2 dec_octave B_ 2 - musice8 6 + cutoff 6 music_ret ; 0xfa210 diff --git a/src/audio/music/club3.asm b/src/audio/music/club3.asm index 1407cd5..dd0671e 100644 --- a/src/audio/music/club3.asm +++ b/src/audio/music/club3.asm @@ -1,9 +1,9 @@ Music_Club3_Ch1: ; fa210 (3e:6210) speed 9 - musicdc 17 + stereo_panning 1, 1 vibrato_type 5 vibrato_delay 20 - musice8 8 + cutoff 8 MainLoop duty 0 Loop 2 @@ -51,7 +51,7 @@ Music_Club3_Ch1: ; fa210 (3e:6210) EndLoop duty 1 volume 147 - musice8 7 + cutoff 7 music_call Branch_fa330 music_call Branch_fa403 A# 1 @@ -79,7 +79,7 @@ Music_Club3_Ch1: ; fa210 (3e:6210) octave 2 G_ 1 inc_octave - musice8 8 + cutoff 8 speed 1 G_ 5 volume 55 @@ -91,7 +91,7 @@ Music_Club3_Ch1: ; fa210 (3e:6210) dec_octave A# 1 volume 147 - musice8 7 + cutoff 7 music_call Branch_fa330 music_call Branch_fa403 inc_octave @@ -124,7 +124,7 @@ Music_Club3_Ch1: ; fa210 (3e:6210) duty 2 volume 112 speed 1 - musice8 8 + cutoff 8 G_ 5 C# 4 C_ 5 @@ -136,7 +136,7 @@ Music_Club3_Ch1: ; fa210 (3e:6210) dec_octave A# 4 duty 1 - musice8 7 + cutoff 7 speed 9 music_call Branch_fa370 music_call Branch_fa403 @@ -165,7 +165,7 @@ Music_Club3_Ch1: ; fa210 (3e:6210) octave 2 G_ 1 inc_octave - musice8 8 + cutoff 8 speed 1 G_ 5 volume 55 @@ -207,7 +207,7 @@ Music_Club3_Ch1: ; fa210 (3e:6210) inc_octave duty 2 speed 1 - musice8 8 + cutoff 8 volume 112 G_ 5 C# 4 @@ -220,7 +220,7 @@ Music_Club3_Ch1: ; fa210 (3e:6210) dec_octave A# 4 speed 9 - musice8 8 + cutoff 8 EndMainLoop Branch_fa330: @@ -245,11 +245,11 @@ Branch_fa330: A# 1 dec_octave speed 1 - musice8 8 + cutoff 8 F_ 5 F# 4 speed 9 - musice8 7 + cutoff 7 G_ 1 inc_octave E_ 1 @@ -288,7 +288,7 @@ Branch_fa330: Branch_fa370: octave 2 volume 147 - musice8 7 + cutoff 7 G_ 1 inc_octave D_ 1 @@ -309,7 +309,7 @@ Branch_fa370: A# 1 dec_octave speed 1 - musice8 8 + cutoff 8 F_ 5 F# 4 octave 4 @@ -355,7 +355,7 @@ Branch_fa370: G_ 2 speed 9 duty 1 - musice8 7 + cutoff 7 volume 147 octave 2 G_ 1 @@ -382,7 +382,7 @@ Branch_fa370: octave 5 duty 2 speed 1 - musice8 8 + cutoff 8 volume 112 octave 5 G_ 5 @@ -397,7 +397,7 @@ Branch_fa370: A# 4 speed 9 duty 1 - musice8 7 + cutoff 7 volume 147 music_ret @@ -423,21 +423,21 @@ Branch_fa403: A# 1 dec_octave speed 1 - musice8 8 + cutoff 8 F_ 5 F# 4 speed 9 - musice8 7 + cutoff 7 G_ 1 music_ret Music_Club3_Ch2: ; fa423 (3e:6423) speed 9 - musicdc 17 + stereo_panning 1, 1 vibrato_type 5 vibrato_delay 20 - musice8 8 + cutoff 8 MainLoop duty 0 Loop 2 @@ -491,18 +491,18 @@ Music_Club3_Ch2: ; fa423 (3e:6423) D_ 4 speed 9 volume 147 - musice8 7 + cutoff 7 G_ 1 dec_octave speed 1 - musice8 8 + cutoff 8 volume 128 F_ 5 F# 4 inc_octave speed 9 volume 147 - musice8 7 + cutoff 7 G_ 1 G_ 1 volume 55 @@ -526,7 +526,7 @@ Music_Club3_Ch2: ; fa423 (3e:6423) rest 1 dec_octave speed 1 - musice8 8 + cutoff 8 G_ 5 D_ 4 dec_octave @@ -549,18 +549,18 @@ Music_Club3_Ch2: ; fa423 (3e:6423) D_ 4 speed 9 volume 147 - musice8 7 + cutoff 7 G_ 1 dec_octave speed 1 - musice8 8 + cutoff 8 volume 128 F_ 5 F# 4 inc_octave speed 9 volume 147 - musice8 7 + cutoff 7 A# 1 volume 55 A# 2 @@ -584,7 +584,7 @@ Music_Club3_Ch2: ; fa423 (3e:6423) rest 1 dec_octave volume 128 - musice8 8 + cutoff 8 A# 1 B_ 1 inc_octave @@ -600,18 +600,18 @@ Music_Club3_Ch2: ; fa423 (3e:6423) D_ 4 speed 9 volume 147 - musice8 7 + cutoff 7 G_ 1 dec_octave speed 1 - musice8 8 + cutoff 8 volume 128 F_ 5 F# 4 inc_octave speed 9 volume 147 - musice8 7 + cutoff 7 G_ 1 G_ 1 volume 55 @@ -652,11 +652,11 @@ Music_Club3_Ch2: ; fa423 (3e:6423) D_ 4 speed 9 volume 147 - musice8 7 + cutoff 7 G_ 1 dec_octave speed 1 - musice8 8 + cutoff 8 volume 128 F_ 5 F# 4 @@ -664,7 +664,7 @@ Music_Club3_Ch2: ; fa423 (3e:6423) inc_octave speed 9 volume 147 - musice8 7 + cutoff 7 C# 1 volume 55 C# 2 @@ -686,7 +686,7 @@ Music_Club3_Ch2: ; fa423 (3e:6423) speed 9 rest 1 dec_octave - musice8 8 + cutoff 8 D_ 1 D# 1 E_ 1 @@ -703,17 +703,17 @@ Branch_fa5a6: D_ 4 speed 9 volume 147 - musice8 7 + cutoff 7 G_ 1 dec_octave speed 1 volume 128 - musice8 8 + cutoff 8 F_ 5 F# 4 inc_octave speed 9 - musice8 7 + cutoff 7 volume 147 G_ 1 G_ 1 @@ -727,7 +727,7 @@ Branch_fa5a6: E_ 1 inc_octave volume 128 - musice8 8 + cutoff 8 speed 1 D_ 5 volume 55 @@ -737,7 +737,7 @@ Branch_fa5a6: rest 1 dec_octave speed 1 - musice8 8 + cutoff 8 G_ 5 D_ 4 dec_octave @@ -760,18 +760,18 @@ Branch_fa5a6: D_ 4 speed 9 volume 147 - musice8 7 + cutoff 7 G_ 1 dec_octave speed 1 volume 128 - musice8 8 + cutoff 8 F_ 5 F# 4 speed 9 inc_octave volume 147 - musice8 7 + cutoff 7 A# 1 volume 55 A# 2 @@ -790,7 +790,7 @@ Branch_fa5a6: A# 1 volume 55 A# 1 - musice8 8 + cutoff 8 volume 128 A# 1 volume 55 @@ -800,11 +800,11 @@ Branch_fa5a6: Music_Club3_Ch3: ; fa63e (3e:663e) speed 9 - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 - musice9 0 - musice8 8 + echo 0 + cutoff 8 Loop 4 octave 1 G_ 1 @@ -829,11 +829,11 @@ Music_Club3_Ch3: ; fa63e (3e:663e) octave 1 G_ 1 octave 3 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 G_ 1 inc_octave F_ 1 @@ -846,25 +846,25 @@ Music_Club3_Ch3: ; fa63e (3e:663e) G_ 1 rest 1 octave 4 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 E_ 1 F_ 1 octave 4 - musice8 4 + cutoff 4 G_ 1 octave 1 - musice8 8 + cutoff 8 G_ 1 octave 3 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 G_ 1 inc_octave F_ 1 @@ -877,21 +877,21 @@ Music_Club3_Ch3: ; fa63e (3e:663e) G_ 1 rest 1 inc_octave - musice8 4 + cutoff 4 F_ 1 rest 1 - musice8 8 + cutoff 8 E_ 1 octave 1 F_ 1 F# 1 D# 1 octave 3 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 D# 1 inc_octave D_ 1 @@ -904,25 +904,25 @@ Music_Club3_Ch3: ; fa63e (3e:663e) D# 1 rest 1 octave 4 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 C_ 1 C# 1 octave 4 - musice8 4 + cutoff 4 G_ 1 octave 1 - musice8 8 + cutoff 8 D# 1 octave 3 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 D# 1 inc_octave D_ 1 @@ -935,22 +935,22 @@ Music_Club3_Ch3: ; fa63e (3e:663e) D# 1 rest 1 inc_octave - musice8 4 + cutoff 4 F_ 1 rest 1 dec_octave - musice8 8 + cutoff 8 D_ 1 D# 1 E_ 1 dec_octave C_ 1 octave 3 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 C_ 1 A# 1 inc_octave @@ -963,25 +963,25 @@ Music_Club3_Ch3: ; fa63e (3e:663e) C_ 1 rest 1 octave 4 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 A_ 1 A# 1 octave 4 - musice8 4 + cutoff 4 G_ 1 octave 1 - musice8 8 + cutoff 8 C_ 1 octave 3 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 C_ 1 A# 1 inc_octave @@ -994,21 +994,21 @@ Music_Club3_Ch3: ; fa63e (3e:663e) C_ 1 rest 1 inc_octave - musice8 4 + cutoff 4 F_ 1 rest 1 - musice8 8 + cutoff 8 E_ 1 octave 1 A# 1 B_ 1 D_ 1 octave 3 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 D_ 1 inc_octave C_ 1 @@ -1021,23 +1021,23 @@ Music_Club3_Ch3: ; fa63e (3e:663e) D_ 1 rest 1 octave 4 - musice8 4 + cutoff 4 C_ 1 rest 1 octave 2 - musice8 6 + cutoff 6 A# 1 dec_octave - musice8 8 + cutoff 8 C_ 1 C# 1 D_ 1 octave 3 - musice8 4 + cutoff 4 G_ 1 rest 1 octave 1 - musice8 8 + cutoff 8 D_ 1 inc_octave C_ 1 @@ -1049,11 +1049,11 @@ Music_Club3_Ch3: ; fa63e (3e:663e) F_ 1 rest 1 inc_octave - musice8 4 + cutoff 4 A# 1 rest 1 dec_octave - musice8 8 + cutoff 8 A# 1 B_ 1 inc_octave diff --git a/src/audio/music/credits.asm b/src/audio/music/credits.asm index 6a8b050..b26e8c8 100644 --- a/src/audio/music/credits.asm +++ b/src/audio/music/credits.asm @@ -1,9 +1,9 @@ Music_Credits_Ch1: ; fb1fe (3e:71fe) speed 13 - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 - musice8 8 + cutoff 8 octave 2 duty 1 volume 79 @@ -850,10 +850,10 @@ Branch_fb651: Music_Credits_Ch2: ; fb68a (3e:768a) - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 - musice8 8 + cutoff 8 duty 1 octave 2 speed 13 @@ -904,9 +904,9 @@ Music_Credits_Ch2: ; fb68a (3e:768a) inc_octave volume 128 D_ 1 - musice8 4 + cutoff 4 E_ 1 - musice8 8 + cutoff 8 C_ 3 dec_octave volume 146 @@ -915,18 +915,18 @@ Music_Credits_Ch2: ; fb68a (3e:768a) inc_octave volume 128 D_ 1 - musice8 4 + cutoff 4 E_ 1 dec_octave - musice8 8 + cutoff 8 A_ 3 volume 146 C_ 1 rest 2 - musice8 4 + cutoff 4 volume 128 F_ 1 - musice8 8 + cutoff 8 volume 146 C_ 1 volume 128 @@ -948,10 +948,10 @@ Music_Credits_Ch2: ; fb68a (3e:768a) volume 128 B_ 1 inc_octave - musice8 4 + cutoff 4 C_ 1 volume 146 - musice8 8 + cutoff 8 D_ 1 volume 128 E_ 3 @@ -960,20 +960,20 @@ Music_Credits_Ch2: ; fb68a (3e:768a) rest 1 volume 128 E_ 1 - musice8 4 + cutoff 4 F_ 1 - musice8 8 + cutoff 8 volume 146 C_ 1 volume 128 A_ 3 volume 146 C_ 1 - musice8 4 + cutoff 4 A_ 1 rest 1 F_ 1 - musice8 8 + cutoff 8 volume 146 C_ 1 volume 128 @@ -1261,17 +1261,17 @@ Branch_fb79e: G_ 10 inc_octave speed 13 - musice8 4 + cutoff 4 C_ 1 dec_octave B_ 1 - musice8 8 + cutoff 8 A# 1 rest 1 music_call Branch_fbacb octave 3 volume 146 - musice8 8 + cutoff 8 D_ 1 speed 1 volume 128 @@ -1297,44 +1297,44 @@ Branch_fb79e: C_ 1 C_ 1 dec_octave - musice8 4 + cutoff 4 F_ 1 - musice8 8 + cutoff 8 volume 146 C_ 1 volume 128 - musice8 4 + cutoff 4 D_ 1 rest 1 - musice8 8 + cutoff 8 F_ 1 volume 146 C_ 1 inc_octave volume 128 C_ 2 - musice8 4 + cutoff 4 D_ 1 dec_octave - musice8 8 + cutoff 8 volume 146 C_ 1 volume 128 - musice8 4 + cutoff 4 A_ 1 rest 1 - musice8 8 + cutoff 8 B_ 1 volume 146 C_ 1 volume 128 - musice8 4 + cutoff 4 A_ 1 - musice8 8 + cutoff 8 G_ 1 - musice8 4 + cutoff 4 A_ 1 - musice8 8 + cutoff 8 volume 146 C_ 1 inc_octave @@ -1347,14 +1347,14 @@ Branch_fb79e: C_ 10 dec_octave speed 13 - musice8 4 + cutoff 4 B_ 1 - musice8 6 + cutoff 6 A# 2 music_call Branch_fbacb octave 4 G_ 1 - musice8 8 + cutoff 8 E_ 1 speed 13 rest 1 @@ -1372,36 +1372,36 @@ Branch_fb79e: C_ 1 inc_octave volume 128 - musice8 7 + cutoff 7 C_ 2 - musice8 8 + cutoff 8 C_ 1 dec_octave volume 146 C_ 1 volume 128 - musice8 4 + cutoff 4 F_ 1 rest 1 - musice8 8 + cutoff 8 A_ 1 volume 146 C_ 1 inc_octave volume 128 - musice8 7 + cutoff 7 C_ 2 - musice8 8 + cutoff 8 C_ 1 dec_octave volume 146 C_ 1 volume 128 - musice8 4 + cutoff 4 F_ 1 rest 1 G# 1 - musice8 8 + cutoff 8 volume 146 C_ 1 speed 1 @@ -1416,10 +1416,10 @@ Branch_fb79e: dec_octave A_ 1 inc_octave - musice8 4 + cutoff 4 C_ 1 dec_octave - musice8 8 + cutoff 8 volume 146 C_ 1 speed 1 @@ -1459,9 +1459,9 @@ Branch_fb79e: C_ 1 rest 1 dec_octave - musice8 7 + cutoff 7 G_ 1 - musice8 8 + cutoff 8 G_ 1 inc_octave volume 146 @@ -1637,7 +1637,7 @@ Branch_fba9d: Branch_fbacb: octave 3 - musice8 8 + cutoff 8 Loop 3 A# 1 rest 1 @@ -1651,10 +1651,10 @@ Branch_fbacb: volume 128 A_ 1 inc_octave - musice8 4 + cutoff 4 C_ 1 dec_octave - musice8 8 + cutoff 8 volume 146 C_ 1 speed 1 @@ -1685,7 +1685,7 @@ Branch_fbacb: volume 128 B_ 1 inc_octave - musice8 4 + cutoff 4 D_ 1 music_ret @@ -1694,17 +1694,17 @@ Branch_fbb10: speed 13 volume 128 C_ 1 - musice8 3 + cutoff 3 D_ 1 volume 146 - musice8 8 + cutoff 8 C_ 1 volume 128 B_ 2 - musice8 3 + cutoff 3 A_ 1 volume 147 - musice8 8 + cutoff 8 C_ 1 speed 1 volume 128 @@ -1782,21 +1782,21 @@ Branch_fbb10: inc_octave C_ 10 speed 13 - musice8 3 + cutoff 3 D_ 1 E_ 1 - musice8 8 + cutoff 8 F_ 2 music_ret Music_Credits_Ch3: ; fbb9d (3e:7b9d) speed 1 - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 - musice9 96 - musice8 8 + echo 96 + cutoff 8 octave 1 Loop 12 G_ 6 @@ -1820,10 +1820,10 @@ Music_Credits_Ch3: ; fbb9d (3e:7b9d) rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 G_ 13 dec_octave - musice8 8 + cutoff 8 B_ 6 rest 7 EndLoop @@ -1833,10 +1833,10 @@ Music_Credits_Ch3: ; fbb9d (3e:7b9d) rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 F_ 13 dec_octave - musice8 8 + cutoff 8 A_ 6 rest 7 EndLoop @@ -1846,10 +1846,10 @@ Music_Credits_Ch3: ; fbb9d (3e:7b9d) rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 F_ 13 dec_octave - musice8 8 + cutoff 8 G# 6 rest 7 EndLoop @@ -1869,11 +1869,11 @@ Music_Credits_Ch3: ; fbb9d (3e:7b9d) rest 7 inc_octave inc_octave - musice8 4 + cutoff 4 D# 13 dec_octave dec_octave - musice8 8 + cutoff 8 G# 6 rest 7 EndLoop @@ -1884,10 +1884,10 @@ Music_Credits_Ch3: ; fbb9d (3e:7b9d) C# 6 rest 7 inc_octave - musice8 4 + cutoff 4 F_ 13 dec_octave - musice8 8 + cutoff 8 C# 6 rest 7 EndLoop @@ -1896,10 +1896,10 @@ Music_Credits_Ch3: ; fbb9d (3e:7b9d) C_ 6 rest 7 inc_octave - musice8 4 + cutoff 4 C_ 13 dec_octave - musice8 8 + cutoff 8 C_ 6 rest 7 C_ 6 @@ -1928,9 +1928,9 @@ Branch_fbc46: C_ 6 rest 7 EndLoop - musice8 4 + cutoff 4 A_ 13 - musice8 8 + cutoff 8 C_ 6 rest 7 Loop 2 @@ -1938,10 +1938,10 @@ Branch_fbc46: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 C_ 13 dec_octave - musice8 8 + cutoff 8 C_ 6 rest 7 music_call Branch_fbd47 @@ -1951,19 +1951,19 @@ Branch_fbc46: C_ 6 rest 7 EndLoop - musice8 4 + cutoff 4 G_ 13 - musice8 8 + cutoff 8 C_ 6 rest 7 Loop 2 C_ 6 rest 7 EndLoop - musice8 4 + cutoff 4 G_ 13 dec_octave - musice8 8 + cutoff 8 G_ 13 tie speed 13 @@ -2039,10 +2039,10 @@ Branch_fbc46: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 F_ 13 dec_octave - musice8 8 + cutoff 8 A# 6 rest 7 A# 6 @@ -2066,9 +2066,9 @@ Branch_fbd47: C_ 6 rest 7 EndLoop - musice8 4 + cutoff 4 G_ 13 - musice8 8 + cutoff 8 C_ 6 rest 7 EndLoop @@ -2082,10 +2082,10 @@ Branch_fbd58: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 G_ 13 dec_octave - musice8 8 + cutoff 8 B_ 6 rest 7 EndLoop @@ -2099,10 +2099,10 @@ Branch_fbd6b: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 G_ 13 dec_octave - musice8 8 + cutoff 8 A_ 6 rest 7 EndLoop @@ -2116,10 +2116,10 @@ Branch_fbd7e: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 G_ 13 dec_octave - musice8 8 + cutoff 8 G_ 6 rest 7 EndLoop @@ -2133,10 +2133,10 @@ Branch_fbd91: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 F_ 13 dec_octave - musice8 8 + cutoff 8 F_ 6 rest 7 EndLoop @@ -2150,10 +2150,10 @@ Branch_fbda4: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 E_ 13 dec_octave - musice8 8 + cutoff 8 E_ 6 rest 7 EndLoop @@ -2167,10 +2167,10 @@ Branch_fbdb7: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 F_ 13 dec_octave - musice8 8 + cutoff 8 D_ 6 rest 7 EndLoop @@ -2184,10 +2184,10 @@ Branch_fbdca: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 F_ 13 dec_octave - musice8 8 + cutoff 8 G_ 6 rest 7 EndLoop @@ -2201,10 +2201,10 @@ Branch_fbddd: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 G# 13 dec_octave - musice8 8 + cutoff 8 F_ 6 rest 7 EndLoop @@ -2218,10 +2218,10 @@ Branch_fbdf0: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 F_ 13 dec_octave - musice8 8 + cutoff 8 A# 6 rest 7 EndLoop @@ -2250,10 +2250,10 @@ Branch_fbe10: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 G_ 13 dec_octave - musice8 8 + cutoff 8 E_ 6 rest 7 EndLoop @@ -2265,18 +2265,18 @@ Branch_fbe23: C_ 6 rest 7 EndLoop - musice8 4 + cutoff 4 A_ 13 - musice8 8 + cutoff 8 C_ 6 rest 7 Loop 2 C_ 6 rest 7 EndLoop - musice8 4 + cutoff 4 F_ 13 - musice8 8 + cutoff 8 C_ 6 rest 7 music_ret @@ -2288,10 +2288,10 @@ Branch_fbe3d: rest 7 EndLoop inc_octave - musice8 4 + cutoff 4 F_ 13 dec_octave - musice8 8 + cutoff 8 G_ 6 rest 7 G_ 6 diff --git a/src/audio/music/deckmachine.asm b/src/audio/music/deckmachine.asm index f947df9..e2fe594 100644 --- a/src/audio/music/deckmachine.asm +++ b/src/audio/music/deckmachine.asm @@ -1,12 +1,12 @@ Music_DeckMachine_Ch1: ; f6ef1 (3d:6ef1) - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 duty 3 MainLoop octave 5 speed 1 Loop 9 - musice8 6 + cutoff 6 volume 145 C_ 7 volume 49 @@ -36,9 +36,9 @@ Music_DeckMachine_Ch1: ; f6ef1 (3d:6ef1) volume 49 G_ 8 volume 145 - musice8 4 + cutoff 4 F_ 7 - musice8 5 + cutoff 5 volume 65 G_ 8 EndLoop @@ -54,10 +54,10 @@ Music_DeckMachine_Ch1: ; f6ef1 (3d:6ef1) Music_DeckMachine_Ch2: ; f6f41 (3d:6f41) - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 duty 1 - musice8 7 + cutoff 7 MainLoop octave 3 speed 1 @@ -98,11 +98,11 @@ Music_DeckMachine_Ch2: ; f6f41 (3d:6f41) Music_DeckMachine_Ch3: ; f6f7b (3d:6f7b) - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 - musice9 96 - musice8 8 + echo 96 + cutoff 8 MainLoop octave 2 speed 1 @@ -111,32 +111,32 @@ Music_DeckMachine_Ch3: ; f6f7b (3d:6f7b) rest 8 G_ 7 inc_octave - musice8 5 + cutoff 5 G_ 8 - musice8 8 + cutoff 8 rest 7 dec_octave C_ 8 inc_octave - musice8 5 + cutoff 5 E_ 7 dec_octave - musice8 8 + cutoff 8 C_ 8 D_ 7 inc_octave - musice8 5 + cutoff 5 C_ 8 dec_octave rest 7 - musice8 8 + cutoff 8 A_ 8 inc_octave - musice8 5 + cutoff 5 G_ 7 dec_octave dec_octave - musice8 8 + cutoff 8 A_ 8 inc_octave D_ 7 @@ -145,31 +145,31 @@ Music_DeckMachine_Ch3: ; f6f7b (3d:6f7b) rest 8 G_ 7 inc_octave - musice8 5 + cutoff 5 G_ 8 rest 7 dec_octave - musice8 8 + cutoff 8 E_ 8 inc_octave - musice8 5 + cutoff 5 E_ 7 dec_octave - musice8 8 + cutoff 8 C_ 8 F_ 7 inc_octave - musice8 5 + cutoff 5 C_ 8 rest 7 dec_octave - musice8 8 + cutoff 8 F_ 8 inc_octave - musice8 5 + cutoff 5 G_ 7 dec_octave - musice8 8 + cutoff 8 E_ 8 D_ 7 rest 8 @@ -178,33 +178,33 @@ Music_DeckMachine_Ch3: ; f6f7b (3d:6f7b) rest 8 G_ 7 inc_octave - musice8 5 + cutoff 5 G_ 8 rest 7 dec_octave - musice8 8 + cutoff 8 C_ 8 inc_octave - musice8 5 + cutoff 5 E_ 7 dec_octave dec_octave - musice8 8 + cutoff 8 G_ 8 inc_octave C_ 7 inc_octave - musice8 5 + cutoff 5 C_ 8 rest 7 dec_octave - musice8 8 + cutoff 8 F_ 8 inc_octave - musice8 5 + cutoff 5 G_ 7 dec_octave - musice8 8 + cutoff 8 E_ 8 D_ 7 rest 8 diff --git a/src/audio/music/dueltheme1.asm b/src/audio/music/dueltheme1.asm index 4487bc1..dc7d665 100644 --- a/src/audio/music/dueltheme1.asm +++ b/src/audio/music/dueltheme1.asm @@ -1,9 +1,9 @@ Music_DuelTheme1_Ch1: ; f532a (3d:532a) speed 7 - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 20 - musice8 8 + cutoff 8 duty 2 MainLoop octave 2 @@ -177,7 +177,7 @@ Music_DuelTheme1_Ch1: ; f532a (3d:532a) dec_octave duty 1 volume 160 - musice8 8 + cutoff 8 Loop 3 A_ 1 rest 2 @@ -408,7 +408,7 @@ Branch_f5538: rest 3 duty 1 volume 160 - musice8 8 + cutoff 8 dec_octave Loop 3 G_ 1 @@ -511,10 +511,10 @@ Branch_f5580: Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) speed 7 - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 20 - musice8 8 + cutoff 8 MainLoop duty 1 volume 144 @@ -540,7 +540,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) D_ 1 duty 2 volume 162 - musice8 6 + cutoff 6 A_ 2 music_call Branch_f59f9 EndLoop @@ -551,7 +551,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) duty 2 inc_octave volume 162 - musice8 6 + cutoff 6 D_ 2 music_call Branch_f59f9 octave 2 @@ -561,12 +561,12 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) duty 2 inc_octave volume 162 - musice8 6 + cutoff 6 C_ 2 dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 3 dec_octave @@ -575,12 +575,12 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) inc_octave duty 2 volume 162 - musice8 6 + cutoff 6 G_ 1 dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 B_ 1 rest 2 inc_octave @@ -592,7 +592,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) duty 2 inc_octave volume 162 - musice8 6 + cutoff 6 D_ 2 music_call Branch_f59f9 EndLoop @@ -603,12 +603,12 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) duty 2 inc_octave volume 162 - musice8 6 + cutoff 6 C_ 2 dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 3 dec_octave @@ -617,12 +617,12 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) inc_octave duty 2 volume 162 - musice8 6 + cutoff 6 G_ 1 dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 B_ 1 rest 2 inc_octave @@ -632,7 +632,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) duty 2 inc_octave volume 162 - musice8 6 + cutoff 6 D_ 2 music_call Branch_f59f9 octave 2 @@ -642,23 +642,23 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) duty 2 inc_octave volume 162 - musice8 6 + cutoff 6 D_ 2 dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 3 D_ 1 rest 1 duty 2 volume 162 - musice8 6 + cutoff 6 A_ 2 duty 1 volume 144 - musice8 8 + cutoff 8 F# 1 rest 1 Loop 2 @@ -667,22 +667,22 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) G_ 1 duty 2 volume 162 - musice8 6 + cutoff 6 G_ 2 duty 1 volume 144 - musice8 8 + cutoff 8 G_ 1 rest 3 D_ 1 rest 1 duty 2 volume 162 - musice8 6 + cutoff 6 G_ 1 duty 1 volume 144 - musice8 8 + cutoff 8 E_ 1 rest 2 EndLoop @@ -691,7 +691,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) F# 1 duty 2 volume 162 - musice8 6 + cutoff 6 inc_octave C# 2 music_call Branch_f5a17 @@ -702,7 +702,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) inc_octave duty 2 volume 162 - musice8 6 + cutoff 6 E_ 2 music_call Branch_f5a17 E_ 1 @@ -710,22 +710,22 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) E_ 1 duty 2 volume 162 - musice8 6 + cutoff 6 G_ 2 duty 1 volume 144 - musice8 8 + cutoff 8 E_ 1 rest 3 E_ 1 rest 1 duty 2 volume 162 - musice8 6 + cutoff 6 B_ 1 duty 1 volume 144 - musice8 8 + cutoff 8 G_ 1 rest 2 A_ 1 @@ -733,22 +733,22 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) A_ 1 duty 2 volume 162 - musice8 6 + cutoff 6 G_ 2 duty 1 volume 144 - musice8 8 + cutoff 8 A_ 1 rest 3 E_ 1 rest 1 duty 2 volume 162 - musice8 6 + cutoff 6 A_ 1 duty 1 volume 144 - musice8 8 + cutoff 8 A_ 1 rest 2 D_ 1 @@ -756,11 +756,11 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) D_ 1 duty 2 volume 162 - musice8 6 + cutoff 6 A_ 2 duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 3 dec_octave @@ -769,12 +769,12 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) inc_octave duty 2 volume 162 - musice8 6 + cutoff 6 A_ 1 dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 B_ 1 rest 2 inc_octave @@ -783,11 +783,11 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) D_ 1 duty 2 volume 162 - musice8 6 + cutoff 6 A_ 2 duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 3 dec_octave @@ -796,7 +796,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) inc_octave duty 2 volume 112 - musice4 0 + frequency_offset 0 E_ 1 F# 1 A_ 1 @@ -815,26 +815,26 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) dec_octave F# 1 volume 162 - musice8 6 + cutoff 6 F# 2 volume 112 - musice8 8 + cutoff 8 A_ 10 duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 2 D_ 1 duty 2 volume 162 - musice8 6 + cutoff 6 inc_octave D_ 2 dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 3 dec_octave @@ -856,19 +856,19 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 2 D_ 1 duty 2 inc_octave volume 162 - musice8 6 + cutoff 6 D_ 2 dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 3 inc_octave @@ -889,7 +889,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 G_ 1 rest 2 G_ 1 @@ -907,11 +907,11 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) rest 1 dec_octave volume 162 - musice8 6 + cutoff 6 G_ 1 duty 1 volume 144 - musice8 8 + cutoff 8 E_ 1 rest 2 inc_octave @@ -926,7 +926,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 F# 1 rest 2 F# 1 @@ -944,11 +944,11 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) rest 1 dec_octave volume 162 - musice8 6 + cutoff 6 A_ 1 duty 1 volume 144 - musice8 8 + cutoff 8 E_ 1 rest 2 inc_octave @@ -963,7 +963,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 A_ 1 rest 2 A_ 1 @@ -990,20 +990,20 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) F# 13 duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 2 D_ 1 inc_octave duty 2 volume 162 - musice8 6 + cutoff 6 D_ 2 dec_octave - musice4 0 + frequency_offset 0 duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 2 music_call Branch_f59b4 @@ -1033,7 +1033,7 @@ Music_DuelTheme1_Ch2: ; f55e7 (3d:55e7) dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 Loop 3 D_ 1 rest 2 @@ -1154,7 +1154,7 @@ Branch_f594d: dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 1 inc_octave @@ -1169,11 +1169,11 @@ Branch_f594d: D_ 1 dec_octave volume 162 - musice8 6 + cutoff 6 G_ 2 inc_octave volume 112 - musice8 8 + cutoff 8 C_ 1 rest 1 music_ret @@ -1252,7 +1252,7 @@ Branch_f59b4: rest 3 speed 7 rest 3 - musice8 8 + cutoff 8 dec_octave duty 1 volume 128 @@ -1279,7 +1279,7 @@ Branch_f59f9: octave 2 duty 1 volume 144 - musice8 8 + cutoff 8 D_ 1 rest 3 dec_octave @@ -1288,12 +1288,12 @@ Branch_f59f9: inc_octave duty 2 volume 162 - musice8 6 + cutoff 6 A_ 1 dec_octave duty 1 volume 144 - musice8 8 + cutoff 8 B_ 1 rest 2 music_ret @@ -1302,18 +1302,18 @@ Branch_f5a17: octave 2 duty 1 volume 144 - musice8 8 + cutoff 8 F# 1 rest 3 C# 1 rest 1 duty 2 volume 162 - musice8 6 + cutoff 6 A_ 1 duty 1 volume 144 - musice8 8 + cutoff 8 E_ 1 rest 2 music_ret @@ -1321,11 +1321,11 @@ Branch_f5a17: Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) speed 7 - musicdc 17 + stereo_panning 1, 1 volume 32 wave 4 - musice9 96 - musice8 8 + echo 96 + cutoff 8 octave 1 MainLoop Loop 4 @@ -1342,11 +1342,11 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) D_ 1 inc_octave inc_octave - musice8 3 + cutoff 3 D_ 2 dec_octave dec_octave - musice8 8 + cutoff 8 D_ 1 rest 3 music_call Branch_f5c47 @@ -1356,10 +1356,10 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) rest 2 D_ 1 inc_octave - musice8 3 + cutoff 3 F# 2 dec_octave - musice8 8 + cutoff 8 D_ 1 rest 3 music_call Branch_f5c47 @@ -1368,11 +1368,11 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) D_ 1 inc_octave inc_octave - musice8 3 + cutoff 3 D_ 2 dec_octave dec_octave - musice8 8 + cutoff 8 D_ 1 rest 3 music_call Branch_f5c47 @@ -1381,10 +1381,10 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) rest 2 D_ 1 inc_octave - musice8 3 + cutoff 3 A_ 2 dec_octave - musice8 8 + cutoff 8 D_ 1 rest 3 music_call Branch_f5c47 @@ -1392,10 +1392,10 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) rest 2 D_ 1 inc_octave - musice8 3 + cutoff 3 A_ 2 dec_octave - musice8 8 + cutoff 8 D_ 1 rest 2 D_ 2 @@ -1451,30 +1451,30 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) rest 1 music_call Branch_f5c60 octave 1 - musice8 8 + cutoff 8 E_ 1 rest 1 E_ 2 - musice8 6 + cutoff 6 B_ 2 music_call Branch_f5c60 octave 1 - musice8 8 + cutoff 8 F# 2 G_ 2 - musice8 6 + cutoff 6 G# 2 music_call Branch_f5c6f octave 1 - musice8 8 + cutoff 8 A_ 1 rest 1 A_ 2 - musice8 6 + cutoff 6 E_ 2 music_call Branch_f5c6f octave 1 - musice8 8 + cutoff 8 B_ 2 inc_octave C_ 2 @@ -1492,9 +1492,9 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) rest 1 E_ 1 rest 1 - musice8 7 + cutoff 7 E_ 1 - musice8 8 + cutoff 8 E_ 1 rest 1 E_ 2 @@ -1508,9 +1508,9 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) rest 1 F# 1 rest 1 - musice8 7 + cutoff 7 F# 1 - musice8 8 + cutoff 8 F# 1 rest 1 F# 2 @@ -1524,9 +1524,9 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) rest 1 G_ 1 rest 1 - musice8 7 + cutoff 7 G_ 1 - musice8 8 + cutoff 8 F# 1 rest 1 E_ 2 @@ -1541,9 +1541,9 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) rest 1 B_ 1 rest 1 - musice8 7 + cutoff 7 B_ 1 - musice8 8 + cutoff 8 F# 1 rest 1 F_ 2 @@ -1585,9 +1585,9 @@ Music_DuelTheme1_Ch3: ; f5a32 (3d:5a32) rest 1 D_ 1 rest 1 - musice8 7 + cutoff 7 D_ 1 - musice8 8 + cutoff 8 D_ 1 rest 1 A_ 14 @@ -1599,10 +1599,10 @@ Branch_f5b8d: rest 2 D_ 1 inc_octave - musice8 3 + cutoff 3 A_ 2 dec_octave - musice8 8 + cutoff 8 D_ 1 rest 3 music_call Branch_f5c47 @@ -1610,10 +1610,10 @@ Branch_f5b8d: rest 2 D_ 1 inc_octave - musice8 3 + cutoff 3 G_ 2 dec_octave - musice8 8 + cutoff 8 D_ 1 rest 3 music_call Branch_f5c47 @@ -1622,10 +1622,10 @@ Branch_f5b8d: rest 2 D_ 1 inc_octave - musice8 3 + cutoff 3 A_ 2 dec_octave - musice8 8 + cutoff 8 D_ 1 rest 3 music_call Branch_f5c47 @@ -1634,10 +1634,10 @@ Branch_f5b8d: rest 2 D_ 1 inc_octave - musice8 3 + cutoff 3 G_ 2 dec_octave - musice8 8 + cutoff 8 D_ 1 rest 3 music_call Branch_f5c47 @@ -1645,10 +1645,10 @@ Branch_f5b8d: rest 2 D_ 1 inc_octave - musice8 3 + cutoff 3 A_ 2 dec_octave - musice8 8 + cutoff 8 D_ 1 rest 3 music_call Branch_f5c47 @@ -1656,10 +1656,10 @@ Branch_f5b8d: rest 2 D_ 1 inc_octave - musice8 3 + cutoff 3 A_ 2 dec_octave - musice8 8 + cutoff 8 D_ 1 rest 3 D_ 1 @@ -1672,10 +1672,10 @@ Branch_f5b8d: rest 2 G_ 1 inc_octave - musice8 3 + cutoff 3 B_ 2 dec_octave - musice8 8 + cutoff 8 G_ 1 rest 3 D_ 1 @@ -1688,10 +1688,10 @@ Branch_f5b8d: rest 2 F# 1 inc_octave - musice8 3 + cutoff 3 A_ 2 dec_octave - musice8 8 + cutoff 8 F# 1 rest 3 C# 1 @@ -1704,11 +1704,11 @@ Branch_f5b8d: F# 1 inc_octave inc_octave - musice8 3 + cutoff 3 C# 2 dec_octave dec_octave - musice8 8 + cutoff 8 F# 1 rest 3 C# 1 @@ -1720,10 +1720,10 @@ Branch_f5b8d: rest 2 E_ 1 inc_octave - musice8 3 + cutoff 3 B_ 2 dec_octave - musice8 8 + cutoff 8 E_ 1 rest 3 E_ 1 @@ -1735,10 +1735,10 @@ Branch_f5b8d: rest 2 A_ 1 inc_octave - musice8 3 + cutoff 3 B_ 2 dec_octave - musice8 8 + cutoff 8 A_ 1 rest 3 E_ 1 @@ -1767,9 +1767,9 @@ Branch_f5c4d: rest 1 D_ 1 rest 1 - musice8 7 + cutoff 7 D_ 1 - musice8 8 + cutoff 8 D_ 1 rest 1 D_ 2 @@ -1777,7 +1777,7 @@ Branch_f5c4d: Branch_f5c60: octave 1 - musice8 8 + cutoff 8 E_ 1 rest 1 E_ 1 @@ -1786,13 +1786,13 @@ Branch_f5c60: rest 1 E_ 1 rest 1 - musice8 6 + cutoff 6 E_ 1 music_ret Branch_f5c6f: octave 1 - musice8 8 + cutoff 8 A_ 1 rest 1 A_ 1 @@ -1801,7 +1801,7 @@ Branch_f5c6f: rest 1 A_ 1 rest 1 - musice8 6 + cutoff 6 A_ 1 music_ret diff --git a/src/audio/music/dueltheme2.asm b/src/audio/music/dueltheme2.asm index 2dc8816..a4e9b5e 100644 --- a/src/audio/music/dueltheme2.asm +++ b/src/audio/music/dueltheme2.asm @@ -1,9 +1,9 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) speed 9 - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 20 - musice8 8 + cutoff 8 octave 1 duty 1 volume 148 @@ -50,21 +50,21 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) G_ 6 speed 9 volume 160 - musice8 8 + cutoff 8 A_ 1 volume 55 A_ 1 volume 160 - musice8 6 + cutoff 6 D_ 1 - musice8 8 + cutoff 8 D_ 9 tie D_ 9 volume 71 D_ 3 duty 2 - musice8 8 + cutoff 8 volume 47 E_ 4 volume 96 @@ -81,7 +81,7 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) inc_octave speed 9 volume 127 - musice8 8 + cutoff 8 C_ 3 duty 1 volume 160 @@ -98,7 +98,7 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) C_ 3 speed 9 music_call Branch_f5f3d - musice8 8 + cutoff 8 C_ 4 tie speed 1 @@ -115,7 +115,7 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) E_ 6 speed 9 volume 160 - musice8 8 + cutoff 8 C_ 1 volume 55 C_ 1 @@ -125,10 +125,10 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) D_ 1 dec_octave volume 160 - musice8 6 + cutoff 6 A_ 1 inc_octave - musice8 8 + cutoff 8 D_ 9 tie D_ 10 @@ -136,7 +136,7 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) D_ 1 volume 160 speed 1 - musice8 8 + cutoff 8 D_ 4 D# 5 speed 9 @@ -149,7 +149,7 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) G_ 1 volume 160 inc_octave - musice8 8 + cutoff 8 C_ 3 dec_octave speed 1 @@ -206,9 +206,9 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) D_ 3 C# 3 dec_octave - musice8 6 + cutoff 6 B_ 3 - musice8 8 + cutoff 8 B_ 4 volume 71 B_ 1 @@ -224,14 +224,14 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) A_ 1 duty 1 volume 147 - musice8 8 + cutoff 8 D_ 2 D_ 2 rest 2 C# 2 duty 1 volume 160 - musice8 8 + cutoff 8 music_call Branch_f5f62 octave 4 volume 71 @@ -249,23 +249,23 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) volume 71 D_ 1 volume 160 - musice8 7 + cutoff 7 C# 1 D_ 1 - musice8 8 + cutoff 8 E_ 3 D_ 3 C# 3 dec_octave - musice8 6 + cutoff 6 A_ 3 inc_octave - musice8 8 + cutoff 8 F_ 10 - musice8 7 + cutoff 7 E_ 1 F_ 1 - musice8 8 + cutoff 8 G_ 3 F_ 3 E_ 3 @@ -277,12 +277,12 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) C_ 9 speed 9 volume 160 - musice8 8 + cutoff 8 A_ 10 - musice8 7 + cutoff 7 G_ 1 F_ 1 - musice8 8 + cutoff 8 G_ 6 inc_octave C_ 3 @@ -311,7 +311,7 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) EndLoop duty 1 volume 160 - musice8 8 + cutoff 8 octave 5 D_ 1 C_ 1 @@ -336,7 +336,7 @@ Music_DuelTheme2_Ch1: ; f5d68 (3d:5d68) EndMainLoop Branch_f5f3d: - musice8 8 + cutoff 8 D_ 12 tie D_ 4 @@ -399,9 +399,9 @@ Branch_f5f62: B_ 1 volume 160 inc_octave - musice8 6 + cutoff 6 F# 1 - musice8 8 + cutoff 8 F# 9 music_ret @@ -431,14 +431,14 @@ Branch_f5f90: Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) speed 9 - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 15 - musice8 8 + cutoff 8 octave 2 duty 1 volume 116 - musice4 5 + frequency_offset 5 Loop 8 D_ 2 D_ 1 @@ -450,7 +450,7 @@ Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) EndLoop duty 2 volume 107 - musice4 0 + frequency_offset 0 Loop 12 inc_octave D_ 1 @@ -475,9 +475,9 @@ Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) D_ 1 rest 1 dec_octave - musice8 6 + cutoff 6 A_ 1 - musice8 8 + cutoff 8 A_ 9 duty 2 volume 107 @@ -488,7 +488,7 @@ Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) EndLoop duty 2 inc_octave - musice8 8 + cutoff 8 volume 47 C_ 4 volume 96 @@ -552,9 +552,9 @@ Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) rest 1 A_ 1 rest 1 - musice8 6 + cutoff 6 D_ 1 - musice8 8 + cutoff 8 A_ 9 duty 2 volume 107 @@ -591,7 +591,7 @@ Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) rest 1 duty 1 volume 116 - musice4 5 + frequency_offset 5 dec_octave dec_octave D_ 1 @@ -601,7 +601,7 @@ Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) EndLoop duty 2 volume 107 - musice4 0 + frequency_offset 0 inc_octave E_ 1 rest 1 @@ -650,13 +650,13 @@ Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) volume 147 octave 2 rest 1 - musice8 8 + cutoff 8 B_ 2 B_ 2 rest 2 A_ 2 inc_octave - musice8 8 + cutoff 8 C# 1 D_ 1 E_ 1 @@ -766,7 +766,7 @@ Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) rest 1 duty 1 volume 116 - musice4 5 + frequency_offset 5 dec_octave dec_octave D_ 1 @@ -777,7 +777,7 @@ Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) rest 12 duty 1 volume 112 - musice4 0 + frequency_offset 0 inc_octave A_ 12 tie @@ -785,7 +785,7 @@ Music_DuelTheme2_Ch2: ; f5fad (3d:5fad) dec_octave duty 1 volume 116 - musice4 5 + frequency_offset 5 EndMainLoop Branch_f6173: @@ -823,7 +823,7 @@ Branch_f618f: A_ 1 rest 1 volume 116 - musice4 5 + frequency_offset 5 dec_octave dec_octave D_ 1 @@ -833,7 +833,7 @@ Branch_f618f: EndLoop D_ 2 volume 112 - musice4 0 + frequency_offset 0 inc_octave inc_octave G_ 4 @@ -843,11 +843,11 @@ Branch_f618f: Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) speed 9 - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 - musice9 64 - musice8 7 + echo 64 + cutoff 7 octave 1 Loop 4 music_call Branch_f62e5 @@ -861,9 +861,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) music_call Branch_f62e5 EndLoop octave 1 - musice8 4 + cutoff 4 D_ 2 - musice8 7 + cutoff 7 C_ 3 E_ 1 EndLoop @@ -871,7 +871,7 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) music_call Branch_f62e5 EndLoop octave 1 - musice8 8 + cutoff 8 E_ 1 inc_octave E_ 1 @@ -897,9 +897,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) EndLoop octave 1 Loop 4 - musice8 4 + cutoff 4 E_ 2 - musice8 7 + cutoff 7 E_ 1 inc_octave E_ 1 @@ -910,9 +910,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) dec_octave EndLoop Loop 4 - musice8 4 + cutoff 4 A_ 2 - musice8 7 + cutoff 7 A_ 1 inc_octave A_ 1 @@ -926,7 +926,7 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) music_call Branch_f62e5 EndLoop octave 1 - musice8 8 + cutoff 8 E_ 1 inc_octave E_ 1 @@ -955,9 +955,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) EndLoop octave 1 Loop 4 - musice8 4 + cutoff 4 E_ 2 - musice8 7 + cutoff 7 E_ 1 inc_octave E_ 1 @@ -968,9 +968,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) dec_octave EndLoop Loop 2 - musice8 4 + cutoff 4 G_ 2 - musice8 7 + cutoff 7 G_ 1 inc_octave G_ 1 @@ -981,9 +981,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) dec_octave EndLoop Loop 2 - musice8 4 + cutoff 4 A_ 2 - musice8 7 + cutoff 7 A_ 1 inc_octave A_ 1 @@ -994,9 +994,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) dec_octave EndLoop Loop 2 - musice8 4 + cutoff 4 A# 2 - musice8 7 + cutoff 7 A# 1 inc_octave A# 1 @@ -1008,9 +1008,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) EndLoop inc_octave Loop 2 - musice8 4 + cutoff 4 C_ 2 - musice8 7 + cutoff 7 C_ 1 inc_octave C_ 1 @@ -1022,9 +1022,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) EndLoop dec_octave Loop 2 - musice8 4 + cutoff 4 A# 2 - musice8 7 + cutoff 7 A# 1 inc_octave A# 1 @@ -1036,9 +1036,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) EndLoop inc_octave Loop 2 - musice8 4 + cutoff 4 C_ 2 - musice8 7 + cutoff 7 C_ 1 inc_octave C_ 1 @@ -1053,9 +1053,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) music_call Branch_f62e5 EndLoop octave 1 - musice8 4 + cutoff 4 D_ 2 - musice8 7 + cutoff 7 C_ 3 E_ 1 EndLoop @@ -1063,7 +1063,7 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) music_call Branch_f62e5 EndLoop octave 2 - musice8 8 + cutoff 8 D_ 1 C_ 1 dec_octave @@ -1086,9 +1086,9 @@ Music_DuelTheme2_Ch3: ; f61ac (3d:61ac) Branch_f62e5: octave 1 - musice8 4 + cutoff 4 D_ 2 - musice8 7 + cutoff 7 D_ 1 inc_octave D_ 1 diff --git a/src/audio/music/dueltheme3.asm b/src/audio/music/dueltheme3.asm index 55ed4e1..325a1e4 100644 --- a/src/audio/music/dueltheme3.asm +++ b/src/audio/music/dueltheme3.asm @@ -1,9 +1,9 @@ Music_DuelTheme3_Ch1: ; f63a1 (3d:63a1) speed 11 - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 20 - musice8 8 + cutoff 8 MainLoop octave 2 duty 0 @@ -109,7 +109,7 @@ Music_DuelTheme3_Ch1: ; f63a1 (3d:63a1) EndLoop vibrato_delay 20 duty 2 - musice8 6 + cutoff 6 Loop 4 music_call Branch_f661d EndLoop @@ -148,7 +148,7 @@ Music_DuelTheme3_Ch1: ; f63a1 (3d:63a1) speed 11 duty 1 volume 144 - musice8 8 + cutoff 8 D_ 2 C# 2 dec_octave @@ -475,14 +475,14 @@ Branch_f661d: Music_DuelTheme3_Ch2: ; f6649 (3d:6649) speed 11 - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 20 - musice8 8 + cutoff 8 MainLoop octave 2 duty 0 - musice4 3 + frequency_offset 3 Loop 4 Loop 4 volume 130 @@ -494,7 +494,7 @@ Music_DuelTheme3_Ch2: ; f6649 (3d:6649) volume 133 F_ 2 EndLoop - musice4 0 + frequency_offset 0 octave 3 Loop 4 rest 6 @@ -554,69 +554,69 @@ Music_DuelTheme3_Ch2: ; f6649 (3d:6649) vibrato_delay 10 Loop 4 volume 163 - musice8 6 + cutoff 6 F# 1 F# 1 - musice8 8 + cutoff 8 speed 1 F# 5 volume 39 F# 6 volume 163 - musice8 6 + cutoff 6 speed 11 F# 1 inc_octave volume 144 - musice8 8 + cutoff 8 C# 2 dec_octave volume 163 - musice8 6 + cutoff 6 F# 1 F# 1 speed 1 - musice8 8 + cutoff 8 F# 5 volume 39 F# 6 volume 163 - musice8 6 + cutoff 6 speed 11 F# 1 volume 144 - musice8 8 + cutoff 8 B_ 2 volume 163 - musice8 6 + cutoff 6 F# 1 F# 1 - musice8 8 + cutoff 8 speed 1 F# 5 volume 39 F# 6 volume 163 - musice8 6 + cutoff 6 speed 11 F# 1 volume 144 - musice8 8 + cutoff 8 B_ 2 volume 163 - musice8 6 + cutoff 6 F# 1 F# 1 speed 1 - musice8 8 + cutoff 8 F# 5 volume 39 F# 6 volume 163 - musice8 6 + cutoff 6 speed 11 F# 1 - musice8 8 + cutoff 8 volume 144 A_ 2 G# 2 @@ -909,22 +909,22 @@ Branch_f6866: Music_DuelTheme3_Ch3: ; f68c2 (3d:68c2) speed 11 - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 - musice9 96 + echo 96 vibrato_type 8 vibrato_delay 0 - musice8 8 + cutoff 8 MainLoop octave 1 Loop 4 Loop 4 - musice8 4 + cutoff 4 F# 2 rest 1 EndLoop - musice8 8 + cutoff 8 E_ 2 F_ 2 EndLoop @@ -958,7 +958,7 @@ Music_DuelTheme3_Ch3: ; f68c2 (3d:68c2) music_call Branch_f69f0 speed 11 octave 3 - musice8 8 + cutoff 8 D_ 2 C# 2 dec_octave @@ -966,7 +966,7 @@ Music_DuelTheme3_Ch3: ; f68c2 (3d:68c2) EndLoop music_call Branch_f69f0 octave 1 - musice8 8 + cutoff 8 F# 2 E_ 2 vibrato_delay 0 @@ -1004,7 +1004,7 @@ Music_DuelTheme3_Ch3: ; f68c2 (3d:68c2) E_ 2 F_ 2 EndLoop - musice8 7 + cutoff 7 Loop 4 inc_octave Loop 4 @@ -1037,7 +1037,7 @@ Music_DuelTheme3_Ch3: ; f68c2 (3d:68c2) dec_octave E_ 1 EndLoop - musice8 8 + cutoff 8 EndMainLoop Branch_f6973: @@ -1046,11 +1046,11 @@ Branch_f6973: rest 1 inc_octave inc_octave - musice8 4 + cutoff 4 E_ 1 dec_octave dec_octave - musice8 8 + cutoff 8 F# 1 rest 2 F# 1 @@ -1060,11 +1060,11 @@ Branch_f6973: rest 1 inc_octave inc_octave - musice8 4 + cutoff 4 E_ 1 dec_octave dec_octave - musice8 8 + cutoff 8 E_ 2 F_ 2 music_ret @@ -1076,11 +1076,11 @@ Branch_f6992: rest 1 inc_octave inc_octave - musice8 4 + cutoff 4 E_ 1 dec_octave dec_octave - musice8 8 + cutoff 8 F# 1 rest 2 F# 1 @@ -1090,11 +1090,11 @@ Branch_f6992: rest 1 inc_octave inc_octave - musice8 4 + cutoff 4 E_ 1 dec_octave dec_octave - musice8 8 + cutoff 8 F# 1 rest 1 F# 2 @@ -1102,11 +1102,11 @@ Branch_f6992: rest 1 inc_octave inc_octave - musice8 4 + cutoff 4 F# 1 dec_octave dec_octave - musice8 8 + cutoff 8 G_ 1 rest 2 G_ 1 @@ -1116,22 +1116,22 @@ Branch_f6992: rest 1 inc_octave inc_octave - musice8 4 + cutoff 4 F# 1 dec_octave dec_octave - musice8 8 + cutoff 8 F_ 2 F# 2 G_ 1 rest 1 inc_octave inc_octave - musice8 4 + cutoff 4 F# 1 dec_octave dec_octave - musice8 8 + cutoff 8 G_ 1 rest 2 G_ 1 @@ -1141,11 +1141,11 @@ Branch_f6992: rest 1 inc_octave inc_octave - musice8 4 + cutoff 4 F# 1 dec_octave dec_octave - musice8 8 + cutoff 8 G_ 1 rest 1 F_ 2 @@ -1153,67 +1153,67 @@ Branch_f6992: Branch_f69f0: octave 1 - musice8 6 + cutoff 6 F# 1 inc_octave C# 1 inc_octave - musice8 4 + cutoff 4 C# 1 dec_octave dec_octave - musice8 6 + cutoff 6 F# 1 inc_octave inc_octave - musice8 8 + cutoff 8 F# 2 dec_octave dec_octave - musice8 6 + cutoff 6 F# 1 inc_octave C# 1 inc_octave - musice8 4 + cutoff 4 C# 1 dec_octave dec_octave - musice8 6 + cutoff 6 F# 1 inc_octave inc_octave - musice8 8 + cutoff 8 E_ 2 dec_octave dec_octave - musice8 6 + cutoff 6 F# 1 inc_octave C# 1 inc_octave - musice8 4 + cutoff 4 C# 1 dec_octave dec_octave - musice8 6 + cutoff 6 F# 1 inc_octave inc_octave - musice8 8 + cutoff 8 D# 2 dec_octave dec_octave - musice8 6 + cutoff 6 F# 1 inc_octave C# 1 inc_octave - musice8 4 + cutoff 4 C# 1 dec_octave dec_octave - musice8 6 + cutoff 6 F# 1 music_ret diff --git a/src/audio/music/hallofhonor.asm b/src/audio/music/hallofhonor.asm index 3117df7..f840761 100644 --- a/src/audio/music/hallofhonor.asm +++ b/src/audio/music/hallofhonor.asm @@ -1,7 +1,7 @@ Music_HallOfHonor_Ch1: ; fafea (3e:6fea) speed 7 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 duty 2 Loop 4 music_call Branch_fb016 @@ -94,10 +94,10 @@ Branch_fb044: Music_HallOfHonor_Ch2: ; fb06e (3e:706e) speed 7 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 duty 2 - musice4 255 + frequency_offset -1 rest 2 speed 1 rest 4 @@ -123,7 +123,7 @@ Music_HallOfHonor_Ch2: ; fb06e (3e:706e) speed 1 rest 3 speed 7 - musice4 0 + frequency_offset 0 MainLoop octave 1 duty 1 @@ -173,16 +173,16 @@ Branch_fb0bb: Music_HallOfHonor_Ch3: ; fb0d5 (3e:70d5) speed 7 volume 64 - musicdc 17 + stereo_panning 1, 1 wave 2 vibrato_type 4 vibrato_delay 35 - musice8 6 - musice9 64 + cutoff 6 + echo 64 rest 3 volume 96 - musice8 8 - musice4 255 + cutoff 8 + frequency_offset -1 Loop 4 rest 14 EndLoop @@ -205,10 +205,10 @@ Music_HallOfHonor_Ch3: ; fb0d5 (3e:70d5) dec_octave F_ 1 volume 32 - musice4 0 + frequency_offset 0 octave 4 speed 1 - musice8 6 + cutoff 6 B_ 3 inc_octave C_ 4 @@ -218,20 +218,20 @@ Music_HallOfHonor_Ch3: ; fb0d5 (3e:70d5) tie C_ 8 dec_octave - musice8 8 + cutoff 8 B_ 2 - musice8 4 + cutoff 4 A_ 2 - musice8 6 + cutoff 6 G_ 6 C_ 10 tie C_ 12 speed 1 - musice8 8 + cutoff 8 B_ 3 inc_octave - musice8 6 + cutoff 6 C_ 4 tie speed 7 @@ -239,30 +239,30 @@ Music_HallOfHonor_Ch3: ; fb0d5 (3e:70d5) tie C_ 6 dec_octave - musice8 8 + cutoff 8 B_ 2 inc_octave C_ 2 - musice8 4 + cutoff 4 D_ 2 dec_octave speed 1 - musice8 8 + cutoff 8 F# 3 - musice8 6 + cutoff 6 G_ 4 tie speed 7 G_ 15 tie G_ 6 - musice8 8 + cutoff 8 G_ 2 A_ 2 - musice8 4 + cutoff 4 B_ 2 speed 1 - musice8 8 + cutoff 8 B_ 3 inc_octave C_ 4 @@ -273,15 +273,15 @@ Music_HallOfHonor_Ch3: ; fb0d5 (3e:70d5) C_ 8 dec_octave B_ 2 - musice8 4 + cutoff 4 A_ 2 - musice8 6 + cutoff 6 G_ 6 - musice8 8 + cutoff 8 speed 1 B_ 3 inc_octave - musice8 6 + cutoff 6 C_ 4 tie speed 7 @@ -289,91 +289,91 @@ Music_HallOfHonor_Ch3: ; fb0d5 (3e:70d5) tie C_ 6 dec_octave - musice8 8 + cutoff 8 G_ 2 inc_octave C_ 2 - musice8 4 + cutoff 4 E_ 2 speed 1 - musice8 8 + cutoff 8 E_ 3 F_ 4 tie speed 7 F_ 1 E_ 2 - musice8 4 + cutoff 4 C_ 2 - musice8 7 + cutoff 7 C_ 10 tie C_ 10 - musice8 4 + cutoff 4 E_ 2 speed 1 - musice8 8 + cutoff 8 E_ 3 F_ 4 tie speed 7 F_ 1 E_ 2 - musice8 4 + cutoff 4 C_ 2 - musice8 6 + cutoff 6 C_ 10 tie C_ 12 speed 1 - musice8 8 + cutoff 8 F# 3 - musice8 7 + cutoff 7 G_ 4 tie speed 7 G_ 15 tie G_ 8 - musice8 8 + cutoff 8 F_ 2 - musice8 4 + cutoff 4 E_ 2 - musice8 8 + cutoff 8 F_ 2 - musice8 4 + cutoff 4 E_ 2 C_ 2 dec_octave - musice8 7 + cutoff 7 G_ 10 tie G_ 10 - musice8 8 + cutoff 8 E_ 2 F_ 2 inc_octave - musice8 4 + cutoff 4 C_ 2 - musice8 7 + cutoff 7 C_ 12 tie C_ 10 dec_octave - musice8 8 + cutoff 8 E_ 2 F_ 2 inc_octave - musice8 4 + cutoff 4 C_ 2 - musice8 6 + cutoff 6 C_ 12 tie C_ 12 rest 3 volume 96 - musice4 255 - musice8 8 + frequency_offset -1 + cutoff 8 EndMainLoop Branch_fb1ec: diff --git a/src/audio/music/imakuni.asm b/src/audio/music/imakuni.asm index 74cf2d7..13e2350 100644 --- a/src/audio/music/imakuni.asm +++ b/src/audio/music/imakuni.asm @@ -1,9 +1,9 @@ Music_Imakuni_Ch1: ; fad55 (3e:6d55) speed 3 - musicdc 17 + stereo_panning 1, 1 vibrato_type 5 vibrato_delay 20 - musice8 8 + cutoff 8 duty 2 volume 160 MainLoop @@ -186,10 +186,10 @@ Branch_fae1d: Music_Imakuni_Ch2: ; fae32 (3e:6e32) - musicdc 17 + stereo_panning 1, 1 vibrato_type 0 vibrato_delay 0 - musice8 8 + cutoff 8 duty 1 volume 160 Loop 6 @@ -292,13 +292,13 @@ Branch_faea5: Music_Imakuni_Ch3: ; faebc (3e:6ebc) - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 vibrato_type 6 vibrato_delay 0 - musice9 0 - musice8 8 + echo 0 + cutoff 8 MainLoop music_call Branch_faf7d vibrato_delay 8 diff --git a/src/audio/music/darkdiddly.asm b/src/audio/music/matchdraw.asm index a82dd00..de3d41e 100644 --- a/src/audio/music/darkdiddly.asm +++ b/src/audio/music/matchdraw.asm @@ -1,7 +1,7 @@ -Music_DarkDiddly_Ch1: ; f7cdf (3d:7cdf) +Music_MatchDraw_Ch1: ; f7cdf (3d:7cdf) speed 3 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 octave 4 duty 1 volume 176 @@ -45,10 +45,10 @@ Music_DarkDiddly_Ch1: ; f7cdf (3d:7cdf) music_end -Music_DarkDiddly_Ch2: ; f7d17 (3d:7d17) +Music_MatchDraw_Ch2: ; f7d17 (3d:7d17) speed 3 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 octave 3 duty 1 volume 176 @@ -84,13 +84,13 @@ Music_DarkDiddly_Ch2: ; f7d17 (3d:7d17) music_end -Music_DarkDiddly_Ch3: ; f7d47 (3d:7d47) +Music_MatchDraw_Ch3: ; f7d47 (3d:7d47) speed 6 - musicdc 17 + stereo_panning 1, 1 wave 1 volume 32 - musice8 8 - musice9 0 + cutoff 8 + echo 0 octave 1 rest 16 G_ 2 diff --git a/src/audio/music/matchloss.asm b/src/audio/music/matchloss.asm index a80a9be..1029270 100644 --- a/src/audio/music/matchloss.asm +++ b/src/audio/music/matchloss.asm @@ -1,8 +1,8 @@ Music_MatchLoss_Ch1: ; f7c2e (3d:7c2e) - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 - musice8 8 + cutoff 8 octave 4 duty 2 volume 176 @@ -65,10 +65,10 @@ Music_MatchLoss_Ch1: ; f7c2e (3d:7c2e) Music_MatchLoss_Ch2: ; f7c87 (3d:7c87) - musicdc 17 + stereo_panning 1, 1 vibrato_type 5 vibrato_delay 20 - musice8 8 + cutoff 8 octave 3 duty 2 volume 144 @@ -89,42 +89,42 @@ Music_MatchLoss_Ch2: ; f7c87 (3d:7c87) Music_MatchLoss_Ch3: ; f7ca7 (3d:7ca7) - musicdc 17 + stereo_panning 1, 1 wave 1 volume 32 - musice8 8 - musice9 64 + cutoff 8 + echo 64 octave 1 speed 5 A# 4 inc_octave - musice8 4 + cutoff 4 F_ 4 A# 4 dec_octave - musice8 8 + cutoff 8 speed 7 G# 3 inc_octave - musice8 4 + cutoff 4 speed 2 D# 11 G# 11 dec_octave - musice8 8 + cutoff 8 speed 1 F# 11 tie F# 12 inc_octave - musice8 4 + cutoff 4 speed 12 C# 2 speed 2 F# 13 dec_octave speed 9 - musice8 8 + cutoff 8 F_ 12 music_end ; 0xf7cdf diff --git a/src/audio/music/matchstart1.asm b/src/audio/music/matchstart1.asm index 92557ab..365f914 100644 --- a/src/audio/music/matchstart1.asm +++ b/src/audio/music/matchstart1.asm @@ -1,7 +1,7 @@ Music_MatchStart1_Ch1: ; f7919 (3d:7919) speed 1 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 Loop 3 duty 2 volume 240 diff --git a/src/audio/music/matchstart2.asm b/src/audio/music/matchstart2.asm index ef56499..feae659 100644 --- a/src/audio/music/matchstart2.asm +++ b/src/audio/music/matchstart2.asm @@ -1,7 +1,7 @@ Music_MatchStart2_Ch1: ; f7956 (3d:7956) speed 1 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 octave 2 volume 240 duty 0 @@ -90,9 +90,9 @@ Music_MatchStart2_Ch1: ; f7956 (3d:7956) Music_MatchStart2_Ch2: ; f79b4 (3d:79b4) speed 1 - musicdc 17 - musice8 8 - musice4 6 + stereo_panning 1, 1 + cutoff 8 + frequency_offset 6 rest 4 octave 2 volume 96 diff --git a/src/audio/music/matchstart3.asm b/src/audio/music/matchstart3.asm index 995d017..be1c322 100644 --- a/src/audio/music/matchstart3.asm +++ b/src/audio/music/matchstart3.asm @@ -1,7 +1,7 @@ Music_MatchStart3_Ch1: ; f7a0f (3d:7a0f) speed 1 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 octave 2 volume 240 duty 1 @@ -165,9 +165,9 @@ Music_MatchStart3_Ch1: ; f7a0f (3d:7a0f) Music_MatchStart3_Ch2: ; f7aba (3d:7aba) speed 1 - musicdc 17 - musice8 8 - musice4 6 + stereo_panning 1, 1 + cutoff 8 + frequency_offset 6 rest 4 octave 2 volume 96 diff --git a/src/audio/music/matchvictory.asm b/src/audio/music/matchvictory.asm index 44adeea..feda345 100644 --- a/src/audio/music/matchvictory.asm +++ b/src/audio/music/matchvictory.asm @@ -1,8 +1,8 @@ Music_MatchVictory_Ch1: ; f7b61 (3d:7b61) - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 - musice8 8 + cutoff 8 octave 3 duty 0 volume 176 @@ -54,10 +54,10 @@ Music_MatchVictory_Ch1: ; f7b61 (3d:7b61) Music_MatchVictory_Ch2: ; f7bb0 (3d:7bb0) - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 - musice8 8 + cutoff 8 octave 3 duty 0 volume 176 @@ -117,11 +117,11 @@ Music_MatchVictory_Ch2: ; f7bb0 (3d:7bb0) Music_MatchVictory_Ch3: ; f7c09 (3d:7c09) - musicdc 17 + stereo_panning 1, 1 wave 1 volume 32 - musice8 8 - musice9 0 + cutoff 8 + echo 0 octave 1 speed 1 F_ 15 diff --git a/src/audio/music/medal.asm b/src/audio/music/medal.asm index 638c365..47cc456 100644 --- a/src/audio/music/medal.asm +++ b/src/audio/music/medal.asm @@ -1,8 +1,8 @@ Music_Medal_Ch1: ; f7df8 (3d:7df8) - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 - musice8 8 + cutoff 8 octave 2 duty 1 volume 160 @@ -33,11 +33,11 @@ Music_Medal_Ch1: ; f7df8 (3d:7df8) volume 55 A_ 5 volume 160 - musice8 7 + cutoff 7 A_ 5 A_ 5 A_ 5 - musice8 8 + cutoff 8 A_ 15 volume 55 A_ 5 @@ -63,10 +63,10 @@ Music_Medal_Ch1: ; f7df8 (3d:7df8) Music_Medal_Ch2: ; f7e4b (3d:7e4b) - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 - musice8 8 + cutoff 8 octave 1 duty 0 volume 144 @@ -96,11 +96,11 @@ Music_Medal_Ch2: ; f7e4b (3d:7e4b) volume 39 C_ 5 volume 160 - musice8 7 + cutoff 7 C_ 5 C_ 5 C_ 5 - musice8 8 + cutoff 8 D_ 15 volume 55 D_ 5 @@ -126,11 +126,11 @@ Music_Medal_Ch2: ; f7e4b (3d:7e4b) Music_Medal_Ch3: ; f7e9d (3d:7e9d) - musicdc 17 + stereo_panning 1, 1 wave 1 volume 32 - musice8 8 - musice9 0 + cutoff 8 + echo 0 octave 1 speed 1 speed 15 @@ -140,11 +140,11 @@ Music_Medal_Ch3: ; f7e9d (3d:7e9d) speed 1 F_ 10 rest 5 - musice8 7 + cutoff 7 F_ 5 F_ 5 F_ 5 - musice8 8 + cutoff 8 A# 15 rest 5 A# 16 diff --git a/src/audio/music/overworld.asm b/src/audio/music/overworld.asm index 3497988..a06be35 100644 --- a/src/audio/music/overworld.asm +++ b/src/audio/music/overworld.asm @@ -1,11 +1,11 @@ Music_Overworld_Ch1: ; f71a0 (3d:71a0) speed 7 duty 0 - musicdc 17 + stereo_panning 1, 1 vibrato_type 9 vibrato_delay 25 volume 162 - musice8 7 + cutoff 7 octave 3 rest 3 music_call Branch_f72ba @@ -13,7 +13,7 @@ Music_Overworld_Ch1: ; f71a0 (3d:71a0) MainLoop music_call Branch_f72ba duty 1 - musice8 8 + cutoff 8 octave 3 volume 160 A_ 5 @@ -44,14 +44,14 @@ Music_Overworld_Ch1: ; f71a0 (3d:71a0) C_ 2 duty 0 volume 146 - musice8 7 + cutoff 7 octave 3 E_ 4 E_ 3 E_ 3 duty 1 volume 160 - musice8 8 + cutoff 8 music_call Branch_f72fb C_ 6 volume 55 @@ -96,7 +96,7 @@ Music_Overworld_Ch1: ; f71a0 (3d:71a0) volume 55 E_ 1 volume 160 - musice8 8 + cutoff 8 C_ 9 volume 55 C_ 3 @@ -121,7 +121,7 @@ Music_Overworld_Ch1: ; f71a0 (3d:71a0) volume 55 C_ 6 duty 2 - musice8 8 + cutoff 8 volume 95 octave 4 G_ 1 @@ -138,7 +138,7 @@ Music_Overworld_Ch1: ; f71a0 (3d:71a0) C_ 1 duty 1 volume 160 - musice8 8 + cutoff 8 music_call Branch_f72fb C_ 6 volume 55 @@ -190,7 +190,7 @@ Music_Overworld_Ch1: ; f71a0 (3d:71a0) F_ 3 duty 0 volume 162 - musice8 7 + cutoff 7 EndMainLoop Branch_f72ba: @@ -200,22 +200,22 @@ Branch_f72ba: A_ 1 inc_octave volume 160 - musice8 4 + cutoff 4 C_ 1 rest 1 dec_octave volume 146 - musice8 7 + cutoff 7 A# 3 A# 1 inc_octave volume 160 - musice8 4 + cutoff 4 D_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 G_ 3 A# 3 rest 3 @@ -224,21 +224,21 @@ Branch_f72ba: inc_octave C_ 1 volume 160 - musice8 4 + cutoff 4 C_ 1 rest 1 dec_octave volume 146 - musice8 7 + cutoff 7 A# 3 A# 1 inc_octave volume 160 - musice8 4 + cutoff 4 D_ 1 rest 2 volume 146 - musice8 7 + cutoff 7 C_ 3 dec_octave A# 3 @@ -288,27 +288,27 @@ Branch_f72fb: Music_Overworld_Ch2: ; f7334 (3d:7334) speed 7 duty 0 - musicdc 17 + stereo_panning 1, 1 vibrato_type 9 vibrato_delay 30 - musice8 7 + cutoff 7 octave 3 music_call Branch_f7535 MainLoop music_call Branch_f7535 volume 146 - musice8 7 + cutoff 7 rest 3 C_ 5 C_ 3 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 C_ 4 C_ 3 C_ 3 @@ -316,13 +316,13 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) C_ 5 C_ 3 volume 144 - musice8 4 + cutoff 4 inc_octave G_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 D_ 4 D_ 3 C_ 3 @@ -332,13 +332,13 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) inc_octave D_ 3 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 C_ 4 C_ 3 dec_octave @@ -348,13 +348,13 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) inc_octave C# 3 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 C# 4 dec_octave F_ 3 @@ -365,39 +365,39 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) E_ 2 C_ 3 volume 144 - musice8 4 + cutoff 4 inc_octave G_ 1 - musice8 7 + cutoff 7 volume 96 - musice8 8 + cutoff 8 octave 3 E_ 3 F_ 3 G_ 3 - musice8 7 + cutoff 7 A# 6 volume 146 - musice8 7 + cutoff 7 octave 3 D_ 3 volume 96 - musice8 8 + cutoff 8 octave 3 A_ 3 volume 146 - musice8 7 + cutoff 7 octave 2 A_ 2 inc_octave inc_octave volume 144 - musice8 4 + cutoff 4 F_ 1 dec_octave rest 2 volume 146 - musice8 7 + cutoff 7 D_ 4 D_ 3 dec_octave @@ -409,7 +409,7 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) dec_octave A# 3 volume 144 - musice8 4 + cutoff 4 inc_octave inc_octave F_ 1 @@ -417,7 +417,7 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) dec_octave dec_octave volume 146 - musice8 7 + cutoff 7 A# 4 A# 3 A# 3 @@ -428,13 +428,13 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) dec_octave A# 3 volume 144 - musice8 4 + cutoff 4 inc_octave A_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 A# 6 inc_octave D_ 1 @@ -445,12 +445,12 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) C_ 5 C_ 3 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 2 volume 146 - musice8 7 + cutoff 7 dec_octave C_ 4 C_ 3 @@ -459,17 +459,17 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) C_ 5 C_ 3 volume 144 - musice8 4 + cutoff 4 inc_octave G_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 D_ 4 duty 2 volume 95 - musice8 8 + cutoff 8 octave 4 C_ 1 tie @@ -486,20 +486,20 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) E_ 1 duty 0 volume 146 - musice8 7 + cutoff 7 octave 2 rest 3 A# 5 inc_octave D_ 3 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 C_ 4 C_ 3 dec_octave @@ -509,13 +509,13 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) inc_octave C# 3 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 C# 4 C# 3 C# 3 @@ -526,13 +526,13 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) inc_octave C_ 3 volume 144 - musice8 4 + cutoff 4 inc_octave G_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 C_ 4 E_ 3 C_ 3 @@ -543,15 +543,15 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) inc_octave inc_octave volume 144 - musice8 4 + cutoff 4 F_ 1 rest 2 dec_octave volume 146 - musice8 7 + cutoff 7 D_ 4 volume 96 - musice8 8 + cutoff 8 octave 4 D_ 2 E_ 1 @@ -561,26 +561,26 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) volume 96 F_ 11 volume 146 - musice8 7 + cutoff 7 octave 4 volume 144 - musice8 4 + cutoff 4 F_ 1 rest 2 dec_octave dec_octave volume 146 - musice8 7 + cutoff 7 A# 1 volume 96 - musice8 8 + cutoff 8 octave 3 A# 3 inc_octave F_ 3 G_ 9 volume 146 - musice8 7 + cutoff 7 octave 3 D_ 2 dec_octave @@ -588,9 +588,9 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) inc_octave inc_octave volume 144 - musice8 4 + cutoff 4 F_ 1 - musice8 8 + cutoff 8 volume 96 octave 4 C_ 5 @@ -602,40 +602,40 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) volume 39 A# 1 volume 146 - musice8 7 + cutoff 7 octave 3 rest 3 F_ 3 C_ 2 F_ 1 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 1 dec_octave volume 146 - musice8 7 + cutoff 7 G_ 3 G_ 3 speed 1 volume 144 - musice8 8 + cutoff 8 inc_octave F_ 4 C_ 3 speed 7 dec_octave volume 146 - musice8 7 + cutoff 7 E_ 3 G_ 2 inc_octave volume 144 - musice8 4 + cutoff 4 F_ 1 volume 146 - musice8 7 + cutoff 7 dec_octave rest 3 A_ 3 @@ -643,107 +643,107 @@ Music_Overworld_Ch2: ; f7334 (3d:7334) A_ 1 inc_octave volume 144 - musice8 4 + cutoff 4 F_ 1 rest 1 dec_octave volume 146 - musice8 7 + cutoff 7 G_ 3 G_ 3 speed 1 volume 144 - musice8 8 + cutoff 8 inc_octave F_ 4 C_ 3 dec_octave speed 7 volume 146 - musice8 7 + cutoff 7 A_ 3 G_ 2 inc_octave volume 144 - musice8 4 + cutoff 4 F_ 1 EndMainLoop Branch_f7535: octave 3 volume 146 - musice8 7 + cutoff 7 rest 3 C_ 3 C_ 2 F_ 1 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 1 dec_octave volume 146 - musice8 7 + cutoff 7 G_ 3 G_ 1 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 1 dec_octave - musice8 8 + cutoff 8 speed 1 inc_octave F_ 4 C_ 3 speed 7 volume 146 - musice8 7 + cutoff 7 dec_octave E_ 3 G_ 2 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 dec_octave rest 3 volume 146 - musice8 8 + cutoff 8 F_ 3 F_ 2 A_ 1 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 1 dec_octave volume 146 - musice8 7 + cutoff 7 G_ 3 G_ 1 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 rest 1 dec_octave - musice8 8 + cutoff 8 speed 1 inc_octave F_ 4 C_ 3 speed 7 volume 146 - musice8 7 + cutoff 7 dec_octave A_ 3 G_ 2 volume 144 - musice8 4 + cutoff 4 inc_octave F_ 1 dec_octave @@ -752,11 +752,11 @@ Branch_f7535: Music_Overworld_Ch3: ; f75a1 (3d:75a1) speed 7 - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 - musice9 64 - musice8 7 + echo 64 + cutoff 7 octave 1 music_call Branch_f77f8 F_ 2 @@ -767,71 +767,71 @@ Music_Overworld_Ch3: ; f75a1 (3d:75a1) F_ 3 music_call Branch_f7826 octave 1 - musice8 8 + cutoff 8 F_ 1 A# 2 rest 1 octave 3 - musice8 3 + cutoff 3 C# 2 dec_octave - musice8 8 + cutoff 8 F_ 1 A# 1 rest 1 inc_octave - musice8 3 + cutoff 3 F_ 2 rest 1 inc_octave C# 1 octave 1 - musice8 8 + cutoff 8 A# 1 rest 1 octave 3 - musice8 7 + cutoff 7 G_ 1 octave 1 - musice8 8 + cutoff 8 A# 1 rest 1 F_ 1 inc_octave - musice8 3 + cutoff 3 A# 2 dec_octave - musice8 8 + cutoff 8 A# 1 octave 3 - musice8 3 + cutoff 3 C# 2 octave 1 - musice8 8 + cutoff 8 F_ 1 A_ 2 rest 1 octave 3 - musice8 3 + cutoff 3 E_ 2 octave 1 - musice8 8 + cutoff 8 A_ 1 octave 3 - musice8 3 + cutoff 3 G_ 2 - musice8 7 + cutoff 7 E_ 1 - musice8 8 + cutoff 8 dec_octave E_ 1 rest 1 inc_octave inc_octave - musice8 3 + cutoff 3 E_ 1 octave 1 - musice8 8 + cutoff 8 A_ 1 rest 1 inc_octave @@ -852,240 +852,240 @@ Music_Overworld_Ch3: ; f75a1 (3d:75a1) D_ 2 rest 1 octave 3 - musice8 3 + cutoff 3 F_ 2 octave 1 - musice8 8 + cutoff 8 A_ 1 inc_octave D_ 2 dec_octave A_ 1 octave 3 - musice8 3 + cutoff 3 D_ 2 inc_octave C_ 1 octave 1 - musice8 8 + cutoff 8 D_ 2 octave 3 - musice8 3 + cutoff 3 F_ 2 rest 1 octave 1 - musice8 8 + cutoff 8 A_ 1 octave 3 - musice8 3 + cutoff 3 F_ 2 octave 1 - musice8 8 + cutoff 8 D_ 1 octave 3 - musice8 3 + cutoff 3 D_ 2 - musice8 8 + cutoff 8 octave 1 A_ 1 G_ 2 rest 1 octave 3 - musice8 3 + cutoff 3 D_ 2 octave 1 - musice8 8 + cutoff 8 G_ 1 octave 3 - musice8 3 + cutoff 3 F_ 2 - musice8 7 + cutoff 7 D_ 1 dec_octave - musice8 8 + cutoff 8 D_ 1 rest 1 - musice8 3 + cutoff 3 inc_octave A# 1 octave 1 - musice8 8 + cutoff 8 G_ 1 rest 1 octave 3 - musice8 3 + cutoff 3 D_ 2 rest 1 dec_octave - musice8 8 + cutoff 8 D_ 1 inc_octave - musice8 3 + cutoff 3 F_ 2 octave 1 - musice8 8 + cutoff 8 G_ 1 octave 3 - musice8 3 + cutoff 3 D_ 2 - musice8 8 + cutoff 8 dec_octave D_ 1 C_ 2 rest 1 inc_octave - musice8 3 + cutoff 3 D_ 2 octave 1 - musice8 8 + cutoff 8 G_ 1 octave 3 - musice8 3 + cutoff 3 F_ 2 - musice8 7 + cutoff 7 D_ 1 octave 1 - musice8 8 + cutoff 8 C_ 1 rest 1 octave 3 - musice8 3 + cutoff 3 F_ 1 dec_octave - musice8 8 + cutoff 8 C_ 1 rest 1 inc_octave - musice8 3 + cutoff 3 D_ 2 rest 1 octave 1 - musice8 8 + cutoff 8 E_ 1 inc_octave C_ 1 rest 1 inc_octave - musice8 7 + cutoff 7 F_ 1 - musice8 3 + cutoff 3 E_ 2 - musice8 8 + cutoff 8 octave 1 E_ 1 music_call Branch_f7826 - musice8 8 + cutoff 8 octave 2 C_ 1 C# 2 rest 1 inc_octave - musice8 3 + cutoff 3 C# 2 octave 1 - musice8 8 + cutoff 8 G# 1 inc_octave C# 1 rest 1 inc_octave - musice8 3 + cutoff 3 F_ 2 rest 1 inc_octave C# 1 octave 2 - musice8 8 + cutoff 8 C# 1 rest 1 inc_octave G_ 1 dec_octave - musice8 8 + cutoff 8 C# 1 rest 1 dec_octave G# 1 octave 3 - musice8 3 + cutoff 3 G_ 2 dec_octave - musice8 8 + cutoff 8 C# 1 inc_octave - musice8 3 + cutoff 3 F_ 2 octave 1 - musice8 8 + cutoff 8 G# 1 inc_octave C_ 2 rest 1 inc_octave - musice8 3 + cutoff 3 E_ 2 dec_octave - musice8 8 + cutoff 8 G_ 1 inc_octave - musice8 3 + cutoff 3 C_ 2 - musice8 7 + cutoff 7 E_ 1 dec_octave - musice8 8 + cutoff 8 E_ 1 rest 1 octave 4 - musice8 3 + cutoff 3 E_ 1 octave 2 - musice8 8 + cutoff 8 C_ 1 rest 1 inc_octave - musice8 3 + cutoff 3 E_ 2 rest 1 octave 1 - musice8 8 + cutoff 8 G_ 1 octave 3 - musice8 3 + cutoff 3 G_ 2 dec_octave - musice8 8 + cutoff 8 C_ 1 inc_octave - musice8 3 + cutoff 3 E_ 2 octave 1 - musice8 8 + cutoff 8 G_ 1 B_ 2 rest 1 octave 3 - musice8 3 + cutoff 3 F_ 2 dec_octave - musice8 8 + cutoff 8 F_ 1 B_ 2 F_ 1 inc_octave - musice8 3 + cutoff 3 D_ 2 inc_octave D_ 1 octave 1 - musice8 8 + cutoff 8 B_ 2 octave 3 - musice8 3 + cutoff 3 F_ 2 rest 1 dec_octave - musice8 8 + cutoff 8 F_ 1 B_ 2 F_ 1 @@ -1095,27 +1095,27 @@ Music_Overworld_Ch3: ; f75a1 (3d:75a1) A# 2 rest 1 octave 3 - musice8 3 + cutoff 3 D_ 2 dec_octave - musice8 8 + cutoff 8 F_ 1 A# 2 F_ 1 inc_octave - musice8 3 + cutoff 3 F_ 2 inc_octave D_ 1 octave 1 - musice8 8 + cutoff 8 A# 1 rest 1 octave 3 - musice8 7 + cutoff 7 D_ 1 octave 1 - musice8 8 + cutoff 8 A# 1 rest 2 A# 2 @@ -1126,33 +1126,33 @@ Music_Overworld_Ch3: ; f75a1 (3d:75a1) C_ 2 rest 1 inc_octave - musice8 3 + cutoff 3 D_ 2 octave 1 - musice8 8 + cutoff 8 G_ 1 octave 3 - musice8 3 + cutoff 3 F_ 2 - musice8 7 + cutoff 7 D_ 1 octave 1 - musice8 8 + cutoff 8 C_ 1 rest 1 octave 4 - musice8 3 + cutoff 3 D_ 1 octave 2 - musice8 8 + cutoff 8 C_ 1 rest 1 inc_octave - musice8 3 + cutoff 3 D_ 2 rest 1 octave 1 - musice8 8 + cutoff 8 E_ 1 inc_octave C_ 1 @@ -1164,13 +1164,13 @@ Music_Overworld_Ch3: ; f75a1 (3d:75a1) E_ 1 F_ 3 octave 3 - musice8 3 + cutoff 3 A_ 2 dec_octave - musice8 8 + cutoff 8 C_ 1 inc_octave - musice8 5 + cutoff 5 F_ 2 A_ 1 inc_octave @@ -1186,24 +1186,24 @@ Music_Overworld_Ch3: ; f75a1 (3d:75a1) rest 2 G_ 2 dec_octave - musice8 8 + cutoff 8 C_ 1 inc_octave - musice8 5 + cutoff 5 A# 2 inc_octave C_ 1 octave 1 - musice8 8 + cutoff 8 F_ 3 octave 4 - musice8 3 + cutoff 3 C_ 2 octave 2 - musice8 8 + cutoff 8 C_ 1 inc_octave - musice8 5 + cutoff 5 A_ 2 inc_octave C_ 1 @@ -1218,13 +1218,13 @@ Music_Overworld_Ch3: ; f75a1 (3d:75a1) rest 2 C_ 2 octave 2 - musice8 8 + cutoff 8 C_ 1 inc_octave - musice8 5 + cutoff 5 A# 2 dec_octave - musice8 8 + cutoff 8 C_ 1 EndMainLoop @@ -1232,10 +1232,10 @@ Branch_f77f8: octave 1 F_ 3 octave 3 - musice8 3 + cutoff 3 A_ 2 dec_octave - musice8 8 + cutoff 8 C_ 1 F_ 2 C_ 1 @@ -1254,10 +1254,10 @@ Branch_f77f8: dec_octave F_ 3 octave 4 - musice8 3 + cutoff 3 C_ 2 octave 2 - musice8 8 + cutoff 8 C_ 1 F_ 2 C_ 1 @@ -1277,68 +1277,68 @@ Branch_f7826: F_ 2 rest 1 octave 3 - musice8 3 + cutoff 3 F_ 2 dec_octave - musice8 8 + cutoff 8 C_ 1 F_ 1 rest 1 inc_octave - musice8 3 + cutoff 3 F_ 2 rest 1 inc_octave C_ 1 octave 1 - musice8 8 + cutoff 8 F_ 1 rest 1 octave 3 - musice8 7 + cutoff 7 G_ 1 octave 1 - musice8 8 + cutoff 8 F_ 1 rest 1 C_ 1 octave 3 - musice8 3 + cutoff 3 G_ 2 octave 1 - musice8 8 + cutoff 8 F_ 1 octave 3 - musice8 7 + cutoff 7 F_ 2 octave 1 - musice8 8 + cutoff 8 G_ 1 A_ 2 rest 1 octave 3 - musice8 3 + cutoff 3 E_ 2 dec_octave - musice8 8 + cutoff 8 E_ 1 A_ 1 rest 1 inc_octave - musice8 3 + cutoff 3 E_ 2 rest 1 inc_octave C_ 1 octave 1 - musice8 8 + cutoff 8 A_ 1 rest 1 octave 3 - musice8 7 + cutoff 7 E_ 1 octave 1 - musice8 8 + cutoff 8 Loop 2 A_ 1 rest 1 @@ -1349,39 +1349,39 @@ Branch_f7826: A# 2 rest 1 octave 3 - musice8 3 + cutoff 3 D_ 2 dec_octave - musice8 8 + cutoff 8 F_ 1 A# 1 rest 1 inc_octave - musice8 3 + cutoff 3 F_ 2 rest 1 inc_octave D_ 1 octave 1 - musice8 8 + cutoff 8 A# 1 rest 1 octave 3 - musice8 7 + cutoff 7 D_ 1 octave 1 - musice8 8 + cutoff 8 A# 1 rest 1 F_ 1 octave 3 - musice8 3 + cutoff 3 D_ 2 octave 1 - musice8 8 + cutoff 8 A# 1 octave 3 - musice8 3 + cutoff 3 D_ 2 music_ret diff --git a/src/audio/music/pausemenu.asm b/src/audio/music/pausemenu.asm index 7ac67d9..ec0fdd6 100644 --- a/src/audio/music/pausemenu.asm +++ b/src/audio/music/pausemenu.asm @@ -1,7 +1,7 @@ Music_PauseMenu_Ch2: ; f6bb7 (3d:6bb7) speed 7 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 duty 2 MainLoop volume 112 @@ -60,12 +60,12 @@ Music_PauseMenu_Ch2: ; f6bb7 (3d:6bb7) music_call Branch_f6c80 Loop 3 octave 6 - musice8 4 + cutoff 4 C_ 1 music_call Branch_f6ce9 music_call Branch_f6c80 EndLoop - musice8 8 + cutoff 8 EndMainLoop Branch_f6c24: @@ -140,11 +140,11 @@ Branch_f6c60: Branch_f6c80: octave 6 - musice8 4 + cutoff 4 C_ 1 octave 3 volume 112 - musice8 8 + cutoff 8 speed 1 C_ 4 volume 39 @@ -152,11 +152,11 @@ Branch_f6c80: volume 96 speed 7 octave 5 - musice8 4 + cutoff 4 G_ 1 E_ 1 octave 3 - musice8 8 + cutoff 8 volume 112 speed 1 E_ 4 @@ -165,12 +165,12 @@ Branch_f6c80: speed 7 volume 96 octave 5 - musice8 4 + cutoff 4 B_ 1 G_ 1 dec_octave volume 112 - musice8 8 + cutoff 8 speed 1 C_ 4 volume 39 @@ -178,10 +178,10 @@ Branch_f6c80: volume 96 speed 7 octave 6 - musice8 4 + cutoff 4 C_ 1 octave 3 - musice8 8 + cutoff 8 volume 112 speed 1 C_ 4 @@ -190,12 +190,12 @@ Branch_f6c80: speed 7 octave 5 volume 96 - musice8 4 + cutoff 4 G_ 1 E_ 1 volume 112 octave 3 - musice8 8 + cutoff 8 speed 1 E_ 4 volume 39 @@ -203,7 +203,7 @@ Branch_f6c80: speed 7 volume 96 octave 5 - musice8 4 + cutoff 4 B_ 1 G_ 1 E_ 1 @@ -212,7 +212,7 @@ Branch_f6c80: Branch_f6ce9: octave 2 speed 1 - musice8 8 + cutoff 8 volume 112 B_ 4 volume 39 @@ -220,12 +220,12 @@ Branch_f6ce9: speed 7 volume 96 octave 5 - musice8 4 + cutoff 4 G_ 1 D_ 1 octave 3 volume 112 - musice8 8 + cutoff 8 speed 1 D_ 4 volume 39 @@ -233,12 +233,12 @@ Branch_f6ce9: speed 7 volume 96 octave 5 - musice8 4 + cutoff 4 B_ 1 G_ 1 volume 112 octave 3 - musice8 8 + cutoff 8 speed 1 B_ 4 volume 39 @@ -246,11 +246,11 @@ Branch_f6ce9: volume 96 speed 7 octave 6 - musice8 4 + cutoff 4 C_ 1 volume 112 octave 2 - musice8 8 + cutoff 8 speed 1 B_ 4 volume 39 @@ -258,12 +258,12 @@ Branch_f6ce9: speed 7 volume 96 octave 5 - musice8 4 + cutoff 4 G_ 1 D_ 1 volume 112 octave 3 - musice8 8 + cutoff 8 speed 1 D_ 4 volume 39 @@ -271,7 +271,7 @@ Branch_f6ce9: speed 7 volume 96 octave 5 - musice8 4 + cutoff 4 B_ 1 G_ 1 D_ 1 @@ -280,8 +280,8 @@ Branch_f6ce9: Music_PauseMenu_Ch1: ; f6d4e (3d:6d4e) speed 7 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 duty 2 MainLoop volume 128 @@ -312,12 +312,12 @@ Music_PauseMenu_Ch1: ; f6d4e (3d:6d4e) volume 208 speed 7 octave 1 - musice8 6 + cutoff 6 G_ 1 - musice8 4 + cutoff 4 G_ 1 octave 3 - musice8 8 + cutoff 8 volume 112 speed 1 F# 4 @@ -337,7 +337,7 @@ Music_PauseMenu_Ch1: ; f6d4e (3d:6d4e) speed 7 octave 1 volume 208 - musice8 8 + cutoff 8 G_ 1 octave 3 volume 112 @@ -348,12 +348,12 @@ Music_PauseMenu_Ch1: ; f6d4e (3d:6d4e) speed 7 volume 208 octave 1 - musice8 6 + cutoff 6 G_ 1 - musice8 4 + cutoff 4 G_ 1 octave 3 - musice8 8 + cutoff 8 speed 1 F# 4 volume 39 @@ -376,12 +376,12 @@ Music_PauseMenu_Ch1: ; f6d4e (3d:6d4e) volume 208 speed 7 octave 1 - musice8 6 + cutoff 6 D_ 1 - musice8 4 + cutoff 4 D_ 1 octave 3 - musice8 8 + cutoff 8 speed 1 G_ 4 volume 39 @@ -400,7 +400,7 @@ Music_PauseMenu_Ch1: ; f6d4e (3d:6d4e) speed 7 octave 1 volume 208 - musice8 8 + cutoff 8 D_ 1 octave 3 volume 112 @@ -410,13 +410,13 @@ Music_PauseMenu_Ch1: ; f6d4e (3d:6d4e) E_ 3 speed 7 volume 208 - musice8 6 + cutoff 6 octave 1 D_ 1 - musice8 4 + cutoff 4 D_ 1 octave 3 - musice8 8 + cutoff 8 speed 1 G_ 4 volume 39 @@ -435,13 +435,13 @@ Music_PauseMenu_Ch1: ; f6d4e (3d:6d4e) Music_PauseMenu_Ch3: ; f6e2d (3d:6e2d) speed 1 wave 3 - musicdc 17 + stereo_panning 1, 1 volume 64 - musice9 96 - musice8 4 + echo 96 + cutoff 4 octave 4 G_ 7 - musice8 8 + cutoff 8 F# 4 volume 96 G_ 3 diff --git a/src/audio/music/pcmainmenu.asm b/src/audio/music/pcmainmenu.asm index bd9ae7f..35fe010 100644 --- a/src/audio/music/pcmainmenu.asm +++ b/src/audio/music/pcmainmenu.asm @@ -1,7 +1,7 @@ Music_PCMainMenu_Ch1: ; f9052 (3e:5052) speed 7 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 octave 3 duty 2 MainLoop @@ -9,12 +9,12 @@ Music_PCMainMenu_Ch1: ; f9052 (3e:5052) rest 4 dec_octave duty 1 - musice8 5 + cutoff 5 volume 97 F_ 1 rest 1 duty 2 - musice8 8 + cutoff 8 volume 180 A_ 1 volume 55 @@ -27,12 +27,12 @@ Music_PCMainMenu_Ch1: ; f9052 (3e:5052) C_ 1 dec_octave duty 1 - musice8 5 + cutoff 5 volume 97 F_ 1 rest 1 duty 2 - musice8 8 + cutoff 8 volume 180 B_ 1 volume 55 @@ -41,13 +41,13 @@ Music_PCMainMenu_Ch1: ; f9052 (3e:5052) rest 4 dec_octave duty 1 - musice8 5 + cutoff 5 volume 97 F_ 1 rest 1 inc_octave duty 2 - musice8 8 + cutoff 8 volume 180 E_ 1 volume 55 @@ -58,14 +58,14 @@ Music_PCMainMenu_Ch1: ; f9052 (3e:5052) volume 55 C_ 1 duty 1 - musice8 5 + cutoff 5 volume 97 dec_octave F_ 1 rest 1 inc_octave duty 2 - musice8 8 + cutoff 8 volume 180 D_ 1 volume 55 @@ -77,10 +77,10 @@ Branch_f90c2: rest 4 duty 1 volume 97 - musice8 5 + cutoff 5 G_ 1 rest 3 - musice8 8 + cutoff 8 duty 2 volume 180 B_ 2 @@ -91,12 +91,12 @@ Branch_f90c2: dec_octave duty 1 volume 97 - musice8 5 + cutoff 5 G_ 1 rest 1 inc_octave duty 2 - musice8 8 + cutoff 8 volume 180 C_ 1 volume 55 @@ -106,8 +106,8 @@ Branch_f90c2: Music_PCMainMenu_Ch2: ; f90ed (3e:50ed) speed 7 - musicdc 17 - musice8 8 + stereo_panning 1, 1 + cutoff 8 octave 3 duty 2 MainLoop @@ -115,13 +115,13 @@ Music_PCMainMenu_Ch2: ; f90ed (3e:50ed) rest 4 inc_octave duty 1 - musice8 5 + cutoff 5 volume 97 C_ 1 rest 1 dec_octave duty 2 - musice8 8 + cutoff 8 volume 132 F_ 1 volume 39 @@ -132,14 +132,14 @@ Music_PCMainMenu_Ch2: ; f90ed (3e:50ed) volume 39 A_ 1 duty 1 - musice8 5 + cutoff 5 volume 97 inc_octave C_ 1 rest 1 dec_octave duty 2 - musice8 8 + cutoff 8 volume 132 G_ 1 volume 39 @@ -148,12 +148,12 @@ Music_PCMainMenu_Ch2: ; f90ed (3e:50ed) rest 4 inc_octave duty 1 - musice8 5 + cutoff 5 volume 97 C_ 1 rest 1 duty 2 - musice8 8 + cutoff 8 volume 132 C_ 1 volume 39 @@ -167,12 +167,12 @@ Music_PCMainMenu_Ch2: ; f90ed (3e:50ed) duty 1 inc_octave volume 97 - musice8 5 + cutoff 5 C_ 1 rest 1 dec_octave duty 2 - musice8 8 + cutoff 8 volume 132 B_ 1 volume 39 @@ -183,12 +183,12 @@ Branch_f915e: octave 4 rest 4 duty 1 - musice8 5 + cutoff 5 volume 97 D_ 1 rest 3 duty 2 - musice8 8 + cutoff 8 dec_octave volume 132 G_ 2 @@ -197,13 +197,13 @@ Branch_f915e: B_ 1 inc_octave duty 1 - musice8 5 + cutoff 5 volume 97 D_ 1 rest 1 dec_octave duty 2 - musice8 8 + cutoff 8 volume 132 A_ 1 volume 39 @@ -214,16 +214,16 @@ Branch_f915e: Music_PCMainMenu_Ch3: ; f9189 (3e:5189) speed 7 volume 32 - musicdc 17 + stereo_panning 1, 1 wave 1 - musice8 7 - musice9 0 + cutoff 7 + echo 0 MainLoop octave 1 - musice8 7 + cutoff 7 G_ 1 rest 1 - musice8 8 + cutoff 8 G_ 1 rest 1 speed 1 @@ -234,22 +234,22 @@ Music_PCMainMenu_Ch3: ; f9189 (3e:5189) speed 7 B_ 1 rest 1 - musice8 4 + cutoff 4 inc_octave C_ 1 rest 1 C_ 1 - musice8 8 + cutoff 8 C# 2 D_ 2 dec_octave G_ 1 tie F# 1 - musice8 7 + cutoff 7 F_ 1 rest 1 - musice8 8 + cutoff 8 F_ 1 rest 1 speed 1 @@ -260,11 +260,11 @@ Music_PCMainMenu_Ch3: ; f9189 (3e:5189) speed 7 A_ 1 rest 1 - musice8 4 + cutoff 4 A# 1 rest 1 A# 1 - musice8 8 + cutoff 8 B_ 2 inc_octave C_ 2 @@ -272,10 +272,10 @@ Music_PCMainMenu_Ch3: ; f9189 (3e:5189) F_ 1 tie F# 1 - musice8 7 + cutoff 7 G_ 1 rest 1 - musice8 8 + cutoff 8 G_ 1 rest 1 speed 1 @@ -286,22 +286,22 @@ Music_PCMainMenu_Ch3: ; f9189 (3e:5189) speed 7 B_ 1 rest 1 - musice8 4 + cutoff 4 inc_octave C_ 1 rest 1 C_ 1 - musice8 8 + cutoff 8 C# 2 D_ 2 dec_octave G_ 1 tie F# 1 - musice8 7 + cutoff 7 F_ 1 rest 1 - musice8 8 + cutoff 8 F_ 1 rest 1 speed 1 @@ -313,7 +313,7 @@ Music_PCMainMenu_Ch3: ; f9189 (3e:5189) speed 7 C_ 1 rest 1 - musice8 8 + cutoff 8 speed 1 F# 4 tie @@ -321,9 +321,9 @@ Music_PCMainMenu_Ch3: ; f9189 (3e:5189) tie speed 7 G_ 1 - musice8 4 + cutoff 4 F_ 1 - musice8 8 + cutoff 8 C_ 2 F_ 2 speed 1 diff --git a/src/audio/music/pokemondome.asm b/src/audio/music/pokemondome.asm index b7b5a84..77c7ca0 100644 --- a/src/audio/music/pokemondome.asm +++ b/src/audio/music/pokemondome.asm @@ -1,9 +1,9 @@ Music_PokemonDome_Ch1: ; f9251 (3e:5251) speed 7 - musicdc 17 + stereo_panning 1, 1 vibrato_type 9 vibrato_delay 20 - musice8 8 + cutoff 8 octave 2 duty 0 volume 160 @@ -311,10 +311,10 @@ Music_PokemonDome_Ch1: ; f9251 (3e:5251) Music_PokemonDome_Ch2: ; f93f8 (3e:53f8) speed 7 - musicdc 17 + stereo_panning 1, 1 vibrato_type 9 vibrato_delay 20 - musice8 8 + cutoff 8 octave 1 duty 0 volume 128 @@ -455,9 +455,9 @@ Music_PokemonDome_Ch2: ; f93f8 (3e:53f8) E_ 4 F# 8 F# 4 - musice8 6 + cutoff 6 F# 3 - musice8 8 + cutoff 8 speed 1 F# 5 rest 2 @@ -620,20 +620,20 @@ Branch_f9554: Music_PokemonDome_Ch3: ; f9579 (3e:5579) speed 7 - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 - musice9 64 - musice8 6 + echo 64 + cutoff 6 octave 1 - musice8 4 + cutoff 4 speed 1 Loop 8 G_ 5 G_ 5 G_ 4 EndLoop - musice8 6 + cutoff 6 speed 7 MainLoop inc_octave @@ -644,10 +644,10 @@ Music_PokemonDome_Ch3: ; f9579 (3e:5579) C_ 1 music_call Branch_f9613 octave 1 - musice8 4 + cutoff 4 C_ 2 inc_octave - musice8 6 + cutoff 6 C_ 2 rest 2 C_ 1 @@ -765,9 +765,9 @@ Branch_f9613: C_ 2 C_ 2 dec_octave - musice8 4 + cutoff 4 G_ 2 - musice8 6 + cutoff 6 G_ 2 music_ret diff --git a/src/audio/music/ronald.asm b/src/audio/music/ronald.asm index 54817ac..36886d0 100644 --- a/src/audio/music/ronald.asm +++ b/src/audio/music/ronald.asm @@ -1,18 +1,18 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 12 - musice8 8 + cutoff 8 duty 0 MainLoop octave 3 speed 13 Loop 2 volume 146 - musice8 3 + cutoff 3 D_ 1 D_ 1 - musice8 4 + cutoff 4 F_ 1 rest 2 D_ 1 @@ -24,16 +24,16 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) F_ 1 rest 1 volume 144 - musice8 8 + cutoff 8 E_ 2 rest 1 dec_octave volume 146 - musice8 3 + cutoff 3 G_ 1 inc_octave D_ 1 - musice8 4 + cutoff 4 F_ 1 rest 2 F_ 1 @@ -44,7 +44,7 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) rest 1 A_ 1 rest 1 - musice8 8 + cutoff 8 volume 144 G_ 2 rest 1 @@ -86,7 +86,7 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) volume 144 rest 6 dec_octave - musice8 4 + cutoff 4 G_ 7 inc_octave F_ 6 @@ -101,12 +101,12 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) dec_octave G_ 7 inc_octave - musice8 8 + cutoff 8 C_ 4 C# 4 C_ 5 dec_octave - musice8 4 + cutoff 4 A# 6 inc_octave C_ 7 @@ -115,22 +115,22 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) G_ 7 F_ 6 F# 7 - musice8 8 + cutoff 8 G_ 6 - musice8 4 + cutoff 4 C# 7 C_ 6 dec_octave A# 7 inc_octave - musice8 8 + cutoff 8 C_ 4 C# 4 C_ 5 dec_octave A# 6 inc_octave - musice8 4 + cutoff 4 C_ 7 dec_octave A# 6 @@ -138,7 +138,7 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) F_ 6 F# 7 G_ 6 - musice8 8 + cutoff 8 A# 7 inc_octave C_ 6 @@ -154,7 +154,7 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) volume 144 rest 6 dec_octave - musice8 4 + cutoff 4 G_ 7 inc_octave F_ 6 @@ -169,12 +169,12 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) dec_octave G_ 7 inc_octave - musice8 8 + cutoff 8 C_ 4 C# 4 C_ 5 dec_octave - musice8 4 + cutoff 4 A# 6 inc_octave C_ 7 @@ -184,20 +184,20 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) F_ 6 F# 7 G_ 6 - musice8 8 + cutoff 8 A# 7 inc_octave - musice8 4 + cutoff 4 C_ 6 dec_octave A# 7 inc_octave - musice8 8 + cutoff 8 C# 4 C_ 4 dec_octave A# 5 - musice8 4 + cutoff 4 G_ 6 F_ 7 G_ 6 @@ -206,15 +206,15 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) dec_octave A# 7 inc_octave - musice8 8 + cutoff 8 C_ 4 C# 4 C_ 5 dec_octave - musice8 4 + cutoff 4 A# 6 G_ 7 - musice8 8 + cutoff 8 music_call Branch_fa9cb speed 1 octave 4 @@ -224,19 +224,19 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) duty 2 volume 144 rest 13 - musice8 4 + cutoff 4 F_ 6 rest 7 - musice8 8 + cutoff 8 E_ 4 F_ 4 E_ 5 - musice8 4 + cutoff 4 D_ 6 rest 7 - musice8 8 + cutoff 8 E_ 6 - musice8 4 + cutoff 4 C_ 7 dec_octave G_ 6 @@ -245,33 +245,33 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) C# 6 D_ 7 dec_octave - musice8 8 + cutoff 8 A# 6 - musice8 4 + cutoff 4 G_ 7 rest 6 F_ 7 - musice8 8 + cutoff 8 F# 6 - musice8 4 + cutoff 4 G_ 7 - musice8 8 + cutoff 8 A# 6 - musice8 4 + cutoff 4 G_ 7 A# 6 inc_octave C_ 7 - musice8 8 + cutoff 8 C# 6 - musice8 4 + cutoff 4 D_ 7 F_ 6 D_ 7 - musice8 8 + cutoff 8 F_ 6 dec_octave - musice8 4 + cutoff 4 G_ 7 dec_octave G_ 6 @@ -279,7 +279,7 @@ Music_Ronald_Ch1: ; fa7a0 (3e:67a0) D_ 7 duty 1 volume 160 - musice8 8 + cutoff 8 music_call Branch_fa9cb speed 1 octave 4 @@ -508,10 +508,10 @@ Branch_fa9ec: Music_Ronald_Ch2: ; faa0e (3e:6a0e) - musicdc 17 + stereo_panning 1, 1 vibrato_type 8 vibrato_delay 12 - musice8 8 + cutoff 8 duty 0 MainLoop octave 2 @@ -603,12 +603,12 @@ Music_Ronald_Ch2: ; faa0e (3e:6a0e) EndLoop Loop 4 music_call Branch_fab76 - musice8 8 + cutoff 8 volume 128 C_ 2 rest 1 music_call Branch_fab76 - musice8 8 + cutoff 8 volume 128 E_ 2 rest 1 @@ -620,14 +620,14 @@ Music_Ronald_Ch2: ; faa0e (3e:6a0e) duty 1 octave 4 rest 2 - musice8 4 + cutoff 4 F_ 1 rest 1 - musice8 8 + cutoff 8 D_ 1 dec_octave dec_octave - musice8 4 + cutoff 4 duty 0 volume 146 A# 1 @@ -638,11 +638,11 @@ Music_Ronald_Ch2: ; faa0e (3e:6a0e) volume 128 C_ 1 rest 1 - musice8 8 + cutoff 8 D_ 1 - musice8 3 + cutoff 3 E_ 1 - musice8 4 + cutoff 4 C_ 1 rest 1 dec_octave @@ -665,7 +665,7 @@ Music_Ronald_Ch2: ; faa0e (3e:6a0e) rest 1 A_ 1 rest 1 - musice8 8 + cutoff 8 volume 144 G_ 2 rest 1 @@ -677,7 +677,7 @@ Music_Ronald_Ch2: ; faa0e (3e:6a0e) vibrato_delay 12 duty 0 volume 146 - musice8 4 + cutoff 4 F_ 1 rest 2 F_ 1 @@ -690,7 +690,7 @@ Music_Ronald_Ch2: ; faa0e (3e:6a0e) rest 1 A_ 1 rest 1 - musice8 8 + cutoff 8 volume 144 G_ 2 rest 1 @@ -699,7 +699,7 @@ Music_Ronald_Ch2: ; faa0e (3e:6a0e) octave 3 rest 1 speed 1 - musice8 8 + cutoff 8 E_ 3 F_ 10 E_ 3 @@ -710,7 +710,7 @@ Music_Ronald_Ch2: ; faa0e (3e:6a0e) vibrato_delay 12 duty 0 volume 146 - musice8 4 + cutoff 4 G_ 1 rest 1 inc_octave @@ -718,26 +718,26 @@ Music_Ronald_Ch2: ; faa0e (3e:6a0e) rest 1 D_ 1 rest 1 - musice8 8 + cutoff 8 volume 144 E_ 2 rest 1 music_call Branch_fabb1 rest 1 - musice8 4 + cutoff 4 octave 2 A# 1 rest 1 A# 1 rest 1 inc_octave - musice8 8 + cutoff 8 volume 144 C_ 2 rest 1 volume 146 rest 2 - musice8 4 + cutoff 4 F_ 1 rest 2 F_ 1 @@ -748,33 +748,33 @@ Music_Ronald_Ch2: ; faa0e (3e:6a0e) rest 1 A_ 1 rest 1 - musice8 8 + cutoff 8 volume 144 F_ 2 rest 1 music_call Branch_fabb1 rest 1 octave 2 - musice8 4 + cutoff 4 G_ 1 rest 1 G_ 1 rest 1 inc_octave - musice8 8 + cutoff 8 volume 144 C_ 2 rest 1 rest 2 dec_octave volume 146 - musice8 4 + cutoff 4 G_ 1 rest 2 G_ 1 rest 1 vibrato_delay 20 - musice8 8 + cutoff 8 duty 1 volume 112 F# 8 @@ -788,7 +788,7 @@ Branch_fab76: volume 146 speed 13 rest 2 - musice8 4 + cutoff 4 A# 1 rest 2 A# 1 @@ -808,10 +808,10 @@ Branch_fab8a: volume 128 speed 13 C_ 1 - musice8 3 + cutoff 3 D_ 1 E_ 1 - musice8 4 + cutoff 4 C_ 1 rest 1 dec_octave @@ -820,15 +820,15 @@ Branch_fab8a: A# 1 rest 1 inc_octave - musice8 8 + cutoff 8 C_ 1 - musice8 3 + cutoff 3 D_ 1 E_ 1 - musice8 8 + cutoff 8 C_ 1 dec_octave - musice8 4 + cutoff 4 A_ 1 rest 1 A# 1 @@ -839,7 +839,7 @@ Branch_fabb1: volume 146 speed 13 rest 2 - musice8 4 + cutoff 4 A# 1 rest 2 A# 1 @@ -851,11 +851,11 @@ Branch_fabb1: Music_Ronald_Ch3: ; fabc0 (3e:6bc0) speed 1 - musicdc 17 + stereo_panning 1, 1 volume 32 wave 1 - musice9 0 - musice8 8 + echo 0 + cutoff 8 MainLoop octave 1 Loop 4 diff --git a/src/audio/music/titlescreen.asm b/src/audio/music/titlescreen.asm index f95689c..2730ca9 100644 --- a/src/audio/music/titlescreen.asm +++ b/src/audio/music/titlescreen.asm @@ -1,20 +1,20 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) speed 7 duty 0 - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 volume 160 - musice8 8 + cutoff 8 octave 3 G_ 1 volume 55 G_ 1 rest 1 volume 160 - musice8 6 + cutoff 6 F_ 1 - musice8 8 + cutoff 8 E_ 3 volume 55 E_ 1 @@ -28,10 +28,10 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) volume 55 D_ 1 volume 208 - musice8 6 + cutoff 6 C_ 2 dec_octave - musice8 8 + cutoff 8 G_ 10 volume 55 G_ 2 @@ -41,16 +41,16 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) E_ 1 rest 1 volume 160 - musice8 6 + cutoff 6 G_ 1 - musice8 8 + cutoff 8 G_ 5 volume 55 G_ 1 volume 160 - musice8 6 + cutoff 6 F_ 2 - musice8 8 + cutoff 8 F_ 2 speed 1 E_ 5 @@ -67,7 +67,7 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) volume 55 C_ 1 volume 160 - musice8 8 + cutoff 8 D_ 11 volume 55 D_ 1 @@ -77,9 +77,9 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) G_ 1 rest 1 volume 160 - musice8 6 + cutoff 6 F_ 1 - musice8 8 + cutoff 8 E_ 3 volume 55 E_ 1 @@ -93,10 +93,10 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) volume 55 D_ 1 volume 208 - musice8 6 + cutoff 6 E_ 2 dec_octave - musice8 8 + cutoff 8 G_ 8 volume 55 G_ 2 @@ -117,9 +117,9 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) volume 55 D_ 1 volume 208 - musice8 6 + cutoff 6 C_ 2 - musice8 8 + cutoff 8 G_ 9 volume 55 G_ 1 @@ -137,9 +137,9 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) E_ 1 rest 1 volume 160 - musice8 6 + cutoff 6 E_ 1 - musice8 8 + cutoff 8 EndLoop E_ 12 volume 55 @@ -152,19 +152,19 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) D_ 1 rest 1 volume 160 - musice8 6 + cutoff 6 G_ 1 - musice8 8 + cutoff 8 G_ 8 volume 55 G_ 2 volume 160 speed 1 - musice8 7 + cutoff 7 G_ 5 G_ 4 G_ 5 - musice8 8 + cutoff 8 speed 7 G_ 9 volume 55 @@ -181,10 +181,10 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) volume 55 C_ 1 rest 1 - musice8 6 + cutoff 6 volume 160 E_ 1 - musice8 8 + cutoff 8 E_ 6 volume 55 E_ 2 @@ -207,9 +207,9 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) B_ 2 volume 160 inc_octave - musice8 6 + cutoff 6 C_ 1 - musice8 8 + cutoff 8 C_ 8 tie C_ 8 @@ -223,11 +223,11 @@ Music_TitleScreen_Ch1: ; f5052 (3d:5052) Music_TitleScreen_Ch2: ; f5193 (3d:5193) speed 7 duty 0 - musicdc 17 + stereo_panning 1, 1 vibrato_type 1 vibrato_delay 20 volume 128 - musice8 8 + cutoff 8 octave 2 B_ 1 volume 39 @@ -235,9 +235,9 @@ Music_TitleScreen_Ch2: ; f5193 (3d:5193) rest 1 inc_octave volume 128 - musice8 6 + cutoff 6 D_ 1 - musice8 8 + cutoff 8 C_ 3 volume 39 C_ 1 @@ -246,23 +246,23 @@ Music_TitleScreen_Ch2: ; f5193 (3d:5193) rest 1 G_ 5 rest 1 - musice8 6 + cutoff 6 G_ 2 - musice8 8 + cutoff 8 E_ 10 rest 2 C_ 1 rest 2 - musice8 6 + cutoff 6 E_ 1 - musice8 8 + cutoff 8 F_ 5 rest 1 - musice8 6 + cutoff 6 C_ 2 - musice8 7 + cutoff 7 C_ 2 - musice8 8 + cutoff 8 C_ 2 dec_octave G_ 1 @@ -273,18 +273,18 @@ Music_TitleScreen_Ch2: ; f5193 (3d:5193) A_ 1 rest 2 inc_octave - musice8 6 + cutoff 6 C_ 1 dec_octave - musice8 8 + cutoff 8 B_ 3 rest 1 B_ 1 rest 2 inc_octave - musice8 6 + cutoff 6 D_ 1 - musice8 8 + cutoff 8 C_ 3 volume 39 C_ 1 @@ -293,9 +293,9 @@ Music_TitleScreen_Ch2: ; f5193 (3d:5193) rest 1 G_ 5 rest 1 - musice8 6 + cutoff 6 G_ 2 - musice8 8 + cutoff 8 E_ 8 rest 2 C_ 2 @@ -307,9 +307,9 @@ Music_TitleScreen_Ch2: ; f5193 (3d:5193) rest 1 G# 5 rest 1 - musice8 6 + cutoff 6 F_ 2 - musice8 8 + cutoff 8 G# 9 rest 1 G# 2 @@ -325,9 +325,9 @@ Music_TitleScreen_Ch2: ; f5193 (3d:5193) rest 1 volume 128 inc_octave - musice8 6 + cutoff 6 C_ 1 - musice8 8 + cutoff 8 dec_octave B_ 10 rest 2 @@ -336,9 +336,9 @@ Music_TitleScreen_Ch2: ; f5193 (3d:5193) G_ 1 rest 1 volume 128 - musice8 6 + cutoff 6 B_ 1 - musice8 8 + cutoff 8 A_ 12 volume 39 A_ 2 @@ -351,33 +351,33 @@ Music_TitleScreen_Ch2: ; f5193 (3d:5193) rest 1 volume 128 inc_octave - musice8 6 + cutoff 6 D_ 1 - musice8 8 + cutoff 8 D_ 8 rest 2 speed 1 - musice8 7 + cutoff 7 D_ 5 D_ 4 D_ 5 speed 7 - musice8 8 + cutoff 8 C_ 9 rest 1 C_ 2 dec_octave - musice8 7 + cutoff 7 G# 2 - musice8 8 + cutoff 8 G# 2 G_ 10 rest 2 G_ 1 rest 2 - musice8 6 + cutoff 6 G_ 1 - musice8 8 + cutoff 8 A_ 6 rest 2 F# 3 @@ -388,13 +388,13 @@ Music_TitleScreen_Ch2: ; f5193 (3d:5193) rest 2 F_ 5 rest 2 - musice8 6 + cutoff 6 F_ 1 - musice8 8 + cutoff 8 F_ 7 rest 1 speed 1 - musice8 8 + cutoff 8 F_ 14 rest 5 D_ 13 @@ -412,9 +412,9 @@ Music_TitleScreen_Ch3: ; f5286 (3d:5286) speed 7 wave 4 volume 32 - musice9 0 - musicdc 17 - musice8 6 + echo 0 + stereo_panning 1, 1 + cutoff 6 octave 2 rest 4 music_call Branch_f52f0 @@ -489,7 +489,7 @@ Music_TitleScreen_Ch3: ; f5286 (3d:5286) tie G_ 10 speed 7 - musice8 8 + cutoff 8 C_ 8 music_end diff --git a/src/audio/music1.asm b/src/audio/music1.asm index 03c55b9..6cc4fed 100644 --- a/src/audio/music1.asm +++ b/src/audio/music1.asm @@ -47,21 +47,21 @@ Music1_PlaySFX: ; f402d (3d:402d) ld b, $0 ld c, a or a - jr z, .asm_f4043 - ld hl, Unknown_f4e85 + jr z, .play_sfx ; SFX_STOP + ld hl, Music1_SFXPriorities add hl, bc ld b, [hl] - ld a, [wdd83] + ld a, [wSfxPriority] or a - jr z, .asm_f4043 + jr z, .play_sfx ; no sfx is currently playing cp b - jr c, .asm_f404b -.asm_f4043 + jr c, .skip ; lower priority +.play_sfx ld a, b - ld [wdd83], a + ld [wSfxPriority], a ld a, c ld [wCurSfxID], a -.asm_f404b +.skip pop hl pop bc ret @@ -128,7 +128,7 @@ Music1_Init: ; f407d (3d:407d) ld [wddf0], a ld [wddf2], a dec a - ld [wMusicDC], a + ld [wMusicStereoPanning], a ld de, $0001 ld bc, $0000 .zero_loop1 @@ -141,10 +141,10 @@ Music1_Init: ; f407d (3d:407d) ld hl, wddb3 add hl, bc ld [hl], d - ld hl, wMusicEC + ld hl, wMusicPitchOffset add hl, bc ld [hl], d - ld hl, wMusicE8 + ld hl, wMusicCutoff add hl, bc ld [hl], d inc c @@ -287,16 +287,16 @@ Music1_BeginSong: ; f418c (3d:418c) ld [wMusicIsPlaying], a xor a ld [wMusicTie], a - ld [wMusicE4], a - ld [wMusicE8], a + ld [wMusicFrequencyOffset], a + ld [wMusicCutoff], a ld [wMusicVibratoDelay], a - ld [wMusicEC], a + ld [wMusicPitchOffset], a ld a, [Music1_ChannelLoopStacks] ld [wMusicChannelStackPointers], a ld a, [Music1_ChannelLoopStacks + 1] ld [wMusicChannelStackPointers + 1], a ld a, $8 - ld [wMusicE9], a + ld [wMusicEcho], a .no_channel_1 rr e jr nc, .no_channel_2 @@ -313,16 +313,16 @@ Music1_BeginSong: ; f418c (3d:418c) ld [wMusicIsPlaying + 1], a xor a ld [wMusicTie + 1], a - ld [wMusicE4 + 1], a - ld [wMusicE8 + 1], a + ld [wMusicFrequencyOffset + 1], a + ld [wMusicCutoff + 1], a ld [wMusicVibratoDelay + 1], a - ld [wMusicEC + 1], a + ld [wMusicPitchOffset + 1], a ld a, [Music1_ChannelLoopStacks + 2] ld [wMusicChannelStackPointers + 2], a ld a, [Music1_ChannelLoopStacks + 3] ld [wMusicChannelStackPointers + 3], a ld a, $8 - ld [wMusicE9 + 1], a + ld [wMusicEcho + 1], a .no_channel_2 rr e jr nc, .no_channel_3 @@ -339,16 +339,16 @@ Music1_BeginSong: ; f418c (3d:418c) ld [wMusicIsPlaying + 2], a xor a ld [wMusicTie + 2], a - ld [wMusicE4 + 2], a - ld [wMusicE8 + 2], a + ld [wMusicFrequencyOffset + 2], a + ld [wMusicCutoff + 2], a ld [wMusicVibratoDelay + 2], a - ld [wMusicEC + 2], a + ld [wMusicPitchOffset + 2], a ld a, [Music1_ChannelLoopStacks + 4] ld [wMusicChannelStackPointers + 4], a ld a, [Music1_ChannelLoopStacks + 5] ld [wMusicChannelStackPointers + 5], a ld a, $40 - ld [wMusicE9 + 2], a + ld [wMusicEcho + 2], a .no_channel_3 rr e jr nc, .no_channel_4 @@ -365,15 +365,15 @@ Music1_BeginSong: ; f418c (3d:418c) ld [wMusicIsPlaying + 3], a xor a ld [wMusicTie + 3], a - ld [wMusicE8 + 3], a + ld [wMusicCutoff + 3], a ld [wMusicVibratoDelay + 3], a - ld [wMusicEC + 3], a + ld [wMusicPitchOffset + 3], a ld a, [Music1_ChannelLoopStacks + 6] ld [wMusicChannelStackPointers + 6], a ld a, [Music1_ChannelLoopStacks + 7] ld [wMusicChannelStackPointers + 7], a ld a, $40 - ld [wMusicE9 + 3], a + ld [wMusicEcho + 3], a .no_channel_4 xor a ld [wddf2], a @@ -400,7 +400,7 @@ Music1_UpdateChannel1: ; f42a5 (3d:42a5) bit 0, a jr nz, .asm_f42d4 ld hl, rNR12 - ld a, [wMusicE9] + ld a, [wMusicEcho] ld [hli], a inc hl ld a, $80 @@ -453,7 +453,7 @@ Music1_UpdateChannel2: ; f430a (3d:430a) bit 1, a jr nz, .asm_f4339 ld hl, rNR22 - ld a, [wMusicE9 + 1] + ld a, [wMusicEcho + 1] ld [hli], a inc hl ld a, $80 @@ -505,7 +505,7 @@ Music1_UpdateChannel3: ; f436f (3d:436f) ld a, [wddbb + 2] cp $1 jr z, .asm_f4398 - ld a, [wMusicE9 + 2] + ld a, [wMusicEcho + 2] ldh [rNR32], a .asm_f4398 ld a, [wddbb + 2] @@ -608,7 +608,7 @@ Music1_CommandTable: ; f442c (3d:442c) dw Music1_tie dw Music1_end dw Music1_end - dw Music1_musicdc + dw Music1_stereo_panning dw Music1_MainLoop dw Music1_EndMainLoop dw Music1_Loop @@ -616,16 +616,16 @@ Music1_CommandTable: ; f442c (3d:442c) dw Music1_jp dw Music1_call dw Music1_ret - dw Music1_musice4 + dw Music1_frequency_offset dw Music1_duty dw Music1_volume dw Music1_wave - dw Music1_musice8 - dw Music1_musice9 + dw Music1_cutoff + dw Music1_echo dw Music1_vibrato_type dw Music1_vibrato_delay - dw Music1_musicec - dw Music1_musiced + dw Music1_pitch_offset + dw Music1_adjust_pitch_offset dw Music1_end dw Music1_end dw Music1_end @@ -700,7 +700,7 @@ Music1_note: ; f448c (3d:448c) ld a, d jr z, .asm_f44fb ld e, a - ld hl, wMusicE8 + ld hl, wMusicCutoff add hl, bc ld a, [hl] cp $8 @@ -772,10 +772,10 @@ Music1_note: ; f448c (3d:448c) ld l, a ld a, [hli] ld d, a - ld a, [wMusicDC] + ld a, [wMusicStereoPanning] and $77 or d - ld [wMusicDC], a + ld [wMusicStereoPanning], a ld de, wddab ld a, [hli] ld [de], a @@ -808,18 +808,18 @@ Music1_note: ; f448c (3d:448c) add hl, bc ld e, [hl] ld d, $0 - ld hl, Unknown_f4c28 + ld hl, Music1_OctaveOffsets add hl, de add a ld e, [hl] add e - ld hl, wMusicEC + ld hl, wMusicPitchOffset add hl, bc ld e, [hl] add e add e ld e, a - ld hl, Unknown_f4c30 + ld hl, Music1_Pitches add hl, de ld a, [hli] ld e, a @@ -884,25 +884,25 @@ Music1_tie: ; f45cb (3d:45cb) ld [hl], $80 jp Music1_PlayNextNote_pop -Music1_musicdc: ; f45d4 (3d:45d4) +Music1_stereo_panning: ; f45d4 (3d:45d4) pop hl ld a, [hli] push hl push bc inc c - ld e, $ee -.asm_f45db + ld e, %11101110 ; mask +.loop dec c - jr z, .asm_f45e3 - rlca - rlc e - jr .asm_f45db -.asm_f45e3 + jr z, .done + rlca ; rotate input param + rlc e ; rotate mask + jr .loop +.done ld d, a - ld hl, wMusicDC + ld hl, wMusicStereoPanning ld a, [hl] - and e - or d + and e ; keep old panning for all other channels + or d ; apply new panning for this channel ld [hl], a pop bc jp Music1_PlayNextNote_pop @@ -1004,11 +1004,11 @@ Music1_ret: ; f4656 (3d:4656) call Music1_SetChannelStackPointer jp Music1_PlayNextNote_pop -Music1_musice4: ; f4667 (3d:4667) +Music1_frequency_offset: ; f4667 (3d:4667) pop de ld a, [de] inc de - ld hl, wMusicE4 + ld hl, wMusicFrequencyOffset add hl, bc ld [hl], a ld h, d @@ -1049,22 +1049,22 @@ Music1_wave: ; f4690 (3d:4690) ld l, e jp Music1_PlayNextNote -Music1_musice8: ; f46a0 (3d:46a0) +Music1_cutoff: ; f46a0 (3d:46a0) pop de ld a, [de] inc de - ld hl, wMusicE8 + ld hl, wMusicCutoff add hl, bc ld [hl], a ld h, d ld l, e jp Music1_PlayNextNote -Music1_musice9: ; f46ad (3d:46ad) +Music1_echo: ; f46ad (3d:46ad) pop de ld a, [de] inc de - ld hl, wMusicE9 + ld hl, wMusicEcho add hl, bc ld [hl], a ld h, d @@ -1096,22 +1096,22 @@ Music1_vibrato_delay: ; f46cc (3d:46cc) ld l, e jp Music1_PlayNextNote -Music1_musicec: ; f46d9 (3d:46d9) +Music1_pitch_offset: ; f46d9 (3d:46d9) pop de ld a, [de] inc de - ld hl, wMusicEC + ld hl, wMusicPitchOffset add hl, bc ld [hl], a ld h, d ld l, e jp Music1_PlayNextNote -Music1_musiced: ; f46e6 (3d:46e6) +Music1_adjust_pitch_offset: ; f46e6 (3d:46e6) pop de ld a, [de] inc de - ld hl, wMusicEC + ld hl, wMusicPitchOffset add hl, bc add [hl] ld [hl], a @@ -1371,7 +1371,7 @@ Func_f4866: ; f4866 (3d:4866) ldh [rNR50], a ld a, [wdd8c] or a - ld hl, wMusicDC + ld hl, wMusicStereoPanning ld a, [hli] jr z, .asm_f4888 ld a, [wdd8c] @@ -1539,7 +1539,7 @@ Func_f490b: ; f490b (3d:490b) ret Func_f4967: ; f4967 (3d:4967) - ld hl, wMusicE4 + ld hl, wMusicFrequencyOffset add hl, bc ld a, [hl] bit 7, a @@ -1629,8 +1629,8 @@ Music1_BackupSong: ; f49dc (3d:49dc) ld [wCurSongIDBackup], a ld a, [wCurSongBank] ld [wCurSongBankBackup], a - ld a, [wMusicDC] - ld [wMusicDCBackup], a + ld a, [wMusicStereoPanning] + ld [wMusicStereoPanningBackup], a ld hl, wMusicDuty1 ld de, wMusicDuty1Backup ld a, $4 @@ -1675,20 +1675,20 @@ Music1_BackupSong: ; f49dc (3d:49dc) ld de, wde84 ld a, $4 call Music1_CopyData - ld hl, wMusicE8 - ld de, wMusicE8Backup + ld hl, wMusicCutoff + ld de, wMusicCutoffBackup ld a, $4 call Music1_CopyData ld hl, wddc3 ld de, wde8c ld a, $4 call Music1_CopyData - ld hl, wMusicE9 - ld de, wMusicE9Backup + ld hl, wMusicEcho + ld de, wMusicEchoBackup ld a, $4 call Music1_CopyData - ld hl, wMusicEC - ld de, wMusicECBackup + ld hl, wMusicPitchOffset + ld de, wMusicPitchOffsetBackup ld a, $4 call Music1_CopyData ld hl, wMusicSpeed @@ -1712,8 +1712,8 @@ Music1_BackupSong: ; f49dc (3d:49dc) ld de, wMusicVolumeBackup ld a, $3 call Music1_CopyData - ld hl, wMusicE4 - ld de, wMusicE4Backup + ld hl, wMusicFrequencyOffset + ld de, wMusicFrequencyOffsetBackup ld a, $3 call Music1_CopyData ld hl, wdded @@ -1737,8 +1737,8 @@ Music1_LoadBackup: ; f4b01 (3d:4b01) ld [wCurSongID], a ld a, [wCurSongBankBackup] ld [wCurSongBank], a - ld a, [wMusicDCBackup] - ld [wMusicDC], a + ld a, [wMusicStereoPanningBackup] + ld [wMusicStereoPanning], a ld hl, wMusicDuty1Backup ld de, wMusicDuty1 ld a, $4 @@ -1783,20 +1783,20 @@ Music1_LoadBackup: ; f4b01 (3d:4b01) ld de, wddbb ld a, $4 call Music1_CopyData - ld hl, wMusicE8Backup - ld de, wMusicE8 + ld hl, wMusicCutoffBackup + ld de, wMusicCutoff ld a, $4 call Music1_CopyData ld hl, wde8c ld de, wddc3 ld a, $4 call Music1_CopyData - ld hl, wMusicE9Backup - ld de, wMusicE9 + ld hl, wMusicEchoBackup + ld de, wMusicEcho ld a, $4 call Music1_CopyData - ld hl, wMusicECBackup - ld de, wMusicEC + ld hl, wMusicPitchOffsetBackup + ld de, wMusicPitchOffset ld a, $4 call Music1_CopyData ld hl, wMusicSpeedBackup @@ -1815,8 +1815,8 @@ Music1_LoadBackup: ; f4b01 (3d:4b01) ld de, wMusicVolume ld a, $3 call Music1_CopyData - ld hl, wMusicE4Backup - ld de, wMusicE4 + ld hl, wMusicFrequencyOffsetBackup + ld de, wMusicFrequencyOffset ld a, $3 call Music1_CopyData ld hl, wdeaa @@ -1852,11 +1852,104 @@ Music1_ChannelLoopStacks: ; f4c20 (3d:4c20) dw wMusicCh3Stack dw wMusicCh4Stack -Unknown_f4c28: ; f4c28 (3d:4c28) - INCROM $f4c28, $f4c30 - -Unknown_f4c30: ; f4c30 (3d:4c30) - INCROM $f4c30, $f4cda +; these are address offsets into the pitches table below +; offset = (12 notes per octave * 2 bytes per pitch) * octave +Music1_OctaveOffsets: ; f4c28 (3d:4c28) + db (12 * 2) * 0 + db (12 * 2) * 1 + db (12 * 2) * 2 + db (12 * 2) * 3 + db (12 * 2) * 4 + db (12 * 2) * 5 + db (12 * 2) * 6 + db (12 * 2) * 7 + +Music1_Pitches: ; f4c30 (3d:4c30) + dw $002c ; C_ 0 + dw $009c ; C# 0 + dw $0106 ; D_ 0 + dw $016b ; D# 0 + dw $01c9 ; E_ 0 + dw $0222 ; F_ 0 + dw $0278 ; F# 0 + dw $02c6 ; G_ 0 + dw $0312 ; G# 0 + dw $0358 ; A_ 0 + dw $039b ; A# 0 + dw $03da ; B_ 0 + dw $0416 ; C_ 1 + dw $044e ; C# 1 + dw $0483 ; D_ 1 + dw $04b5 ; D# 1 + dw $04e5 ; E_ 1 + dw $0511 ; F_ 1 + dw $053c ; F# 1 + dw $0563 ; G_ 1 + dw $0589 ; G# 1 + dw $05ac ; A_ 1 + dw $05cd ; A# 1 + dw $05ed ; B_ 1 + dw $060b ; C_ 2 + dw $0628 ; C# 2 + dw $0642 ; D_ 2 + dw $065b ; D# 2 + dw $0672 ; E_ 2 + dw $0689 ; F_ 2 + dw $069e ; F# 2 + dw $06b2 ; G_ 2 + dw $06c4 ; G# 2 + dw $06d6 ; A_ 2 + dw $06e7 ; A# 2 + dw $06f6 ; B_ 2 + dw $0705 ; C_ 3 + dw $0714 ; C# 3 + dw $0721 ; D_ 3 + dw $072d ; D# 3 + dw $0739 ; E_ 3 + dw $0744 ; F_ 3 + dw $074f ; F# 3 + dw $0759 ; G_ 3 + dw $0762 ; G# 3 + dw $076b ; A_ 3 + dw $0773 ; A# 3 + dw $077b ; B_ 3 + dw $0783 ; C_ 4 + dw $078a ; C# 4 + dw $0790 ; D_ 4 + dw $0797 ; D# 4 + dw $079d ; E_ 4 + dw $07a2 ; F_ 4 + dw $07a7 ; F# 4 + dw $07ac ; G_ 4 + dw $07b1 ; G# 4 + dw $07b6 ; A_ 4 + dw $07ba ; A# 4 + dw $07be ; B_ 4 + dw $07c1 ; C_ 5 + dw $07c5 ; C# 5 + dw $07c8 ; D_ 5 + dw $07cb ; D# 5 + dw $07ce ; E_ 5 + dw $07d1 ; F_ 5 + dw $07d4 ; F# 5 + dw $07d6 ; G_ 5 + dw $07d9 ; G# 5 + dw $07db ; A_ 5 + dw $07dd ; A# 5 + dw $07df ; B_ 5 + dw $07e1 ; C_ 6 + dw $07e3 ; C# 6 + dw $07e4 ; D_ 6 + dw $07e5 ; D# 6 + dw $07e7 ; E_ 6 + dw $07e8 ; F_ 6 + dw $07ea ; F# 6 + dw $07eb ; G_ 6 + dw $07ec ; G# 6 + dw $07ed ; A_ 6 + dw $07ee ; A# 6 + dw $07ef ; B_ 6 + dw $07f0 ; C_ 7 Music1_WaveInstruments: ; f4cda (3d:4cda) INCLUDE "audio/wave_instruments.asm" @@ -1867,8 +1960,14 @@ INCLUDE "audio/noise_instruments.asm" Music1_VibratoTypes: ; f4dde (3d:4dde) INCLUDE "audio/vibrato_types.asm" -Unknown_f4e85: ; f4e85 (3d:4e85) - INCROM $f4e85, $f4ee5 +; all real SFX have the same priority (SFX_STOP does not use this table) +Music1_SFXPriorities: ; f4e85 (3d:4e85) + db $00, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a + db $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a + db $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a + db $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a + db $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a + db $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a INCLUDE "audio/music1_headers.asm" @@ -1885,7 +1984,7 @@ INCLUDE "audio/music/matchstart2.asm" INCLUDE "audio/music/matchstart3.asm" INCLUDE "audio/music/matchvictory.asm" INCLUDE "audio/music/matchloss.asm" -INCLUDE "audio/music/darkdiddly.asm" +INCLUDE "audio/music/matchdraw.asm" INCLUDE "audio/music/boosterpack.asm" INCLUDE "audio/music/medal.asm" diff --git a/src/audio/music1_headers.asm b/src/audio/music1_headers.asm index f5008fe..05f33bb 100644 --- a/src/audio/music1_headers.asm +++ b/src/audio/music1_headers.asm @@ -28,7 +28,7 @@ SongBanks1: ; f4ee6 (3d:4ee6) db BANK(Music_MatchStart3) db BANK(Music_MatchVictory) db BANK(Music_MatchLoss) - db BANK(Music_DarkDiddly) + db BANK(Music_MatchDraw) db BANK(Music_Unused1b) db BANK(Music_BoosterPack) db BANK(Music_Medal) @@ -61,7 +61,7 @@ SongHeaderPointers1: ; f4f05 (3d:4f05) dw Music_MatchStart3 dw Music_MatchVictory dw Music_MatchLoss - dw Music_DarkDiddly + dw Music_MatchDraw dw Music_Unused1b dw Music_BoosterPack dw Music_Medal @@ -245,11 +245,11 @@ Music_MatchLoss: ; f501c (3d:501c) dw Music_MatchLoss_Ch3 dw $0000 -Music_DarkDiddly: ; f5025 (3d:5025) +Music_MatchDraw: ; f5025 (3d:5025) db %0111 - dw Music_DarkDiddly_Ch1 - dw Music_DarkDiddly_Ch2 - dw Music_DarkDiddly_Ch3 + dw Music_MatchDraw_Ch1 + dw Music_MatchDraw_Ch2 + dw Music_MatchDraw_Ch3 dw $0000 Music_Unused1b: ; f502e (3d:502e) diff --git a/src/audio/music2.asm b/src/audio/music2.asm index 4a8178e..13638d4 100644 --- a/src/audio/music2.asm +++ b/src/audio/music2.asm @@ -47,21 +47,21 @@ Music2_PlaySFX: ; f802d (3e:402d) ld b, $0 ld c, a or a - jr z, .asm_f8043 - ld hl, Unknown_f8e85 + jr z, .play_sfx ; SFX_STOP + ld hl, Music2_SFXPriorities add hl, bc ld b, [hl] - ld a, [wdd83] + ld a, [wSfxPriority] or a - jr z, .asm_f8043 + jr z, .play_sfx ; no sfx is currently playing cp b - jr c, .asm_f804b -.asm_f8043 + jr c, .skip ; lower priority +.play_sfx ld a, b - ld [wdd83], a + ld [wSfxPriority], a ld a, c ld [wCurSfxID], a -.asm_f804b +.skip pop hl pop bc ret @@ -128,7 +128,7 @@ Music2_Init: ; f807d (3e:407d) ld [wddf0], a ld [wddf2], a dec a - ld [wMusicDC], a + ld [wMusicStereoPanning], a ld de, $0001 ld bc, $0000 .zero_loop1 @@ -141,10 +141,10 @@ Music2_Init: ; f807d (3e:407d) ld hl, wddb3 add hl, bc ld [hl], d - ld hl, wMusicEC + ld hl, wMusicPitchOffset add hl, bc ld [hl], d - ld hl, wMusicE8 + ld hl, wMusicCutoff add hl, bc ld [hl], d inc c @@ -287,16 +287,16 @@ Music2_BeginSong: ; f818c (3e:418c) ld [wMusicIsPlaying], a xor a ld [wMusicTie], a - ld [wMusicE4], a - ld [wMusicE8], a + ld [wMusicFrequencyOffset], a + ld [wMusicCutoff], a ld [wMusicVibratoDelay], a - ld [wMusicEC], a + ld [wMusicPitchOffset], a ld a, [Music2_ChannelLoopStacks] ld [wMusicChannelStackPointers], a ld a, [Music2_ChannelLoopStacks + 1] ld [wMusicChannelStackPointers + 1], a ld a, $8 - ld [wMusicE9], a + ld [wMusicEcho], a .no_channel_1 rr e jr nc, .no_channel_2 @@ -313,16 +313,16 @@ Music2_BeginSong: ; f818c (3e:418c) ld [wMusicIsPlaying + 1], a xor a ld [wMusicTie + 1], a - ld [wMusicE4 + 1], a - ld [wMusicE8 + 1], a + ld [wMusicFrequencyOffset + 1], a + ld [wMusicCutoff + 1], a ld [wMusicVibratoDelay + 1], a - ld [wMusicEC + 1], a + ld [wMusicPitchOffset + 1], a ld a, [Music2_ChannelLoopStacks + 2] ld [wMusicChannelStackPointers + 2], a ld a, [Music2_ChannelLoopStacks + 3] ld [wMusicChannelStackPointers + 3], a ld a, $8 - ld [wMusicE9 + 1], a + ld [wMusicEcho + 1], a .no_channel_2 rr e jr nc, .no_channel_3 @@ -339,16 +339,16 @@ Music2_BeginSong: ; f818c (3e:418c) ld [wMusicIsPlaying + 2], a xor a ld [wMusicTie + 2], a - ld [wMusicE4 + 2], a - ld [wMusicE8 + 2], a + ld [wMusicFrequencyOffset + 2], a + ld [wMusicCutoff + 2], a ld [wMusicVibratoDelay + 2], a - ld [wMusicEC + 2], a + ld [wMusicPitchOffset + 2], a ld a, [Music2_ChannelLoopStacks + 4] ld [wMusicChannelStackPointers + 4], a ld a, [Music2_ChannelLoopStacks + 5] ld [wMusicChannelStackPointers + 5], a ld a, $40 - ld [wMusicE9 + 2], a + ld [wMusicEcho + 2], a .no_channel_3 rr e jr nc, .no_channel_4 @@ -365,15 +365,15 @@ Music2_BeginSong: ; f818c (3e:418c) ld [wMusicIsPlaying + 3], a xor a ld [wMusicTie + 3], a - ld [wMusicE8 + 3], a + ld [wMusicCutoff + 3], a ld [wMusicVibratoDelay + 3], a - ld [wMusicEC + 3], a + ld [wMusicPitchOffset + 3], a ld a, [Music2_ChannelLoopStacks + 6] ld [wMusicChannelStackPointers + 6], a ld a, [Music2_ChannelLoopStacks + 7] ld [wMusicChannelStackPointers + 7], a ld a, $40 - ld [wMusicE9 + 3], a + ld [wMusicEcho + 3], a .no_channel_4 xor a ld [wddf2], a @@ -400,7 +400,7 @@ Music2_UpdateChannel1: ; f82a5 (3e:42a5) bit 0, a jr nz, .asm_f82d4 ld hl, rNR12 - ld a, [wMusicE9] + ld a, [wMusicEcho] ld [hli], a inc hl ld a, $80 @@ -453,7 +453,7 @@ Music2_UpdateChannel2: ; f830a (3e:430a) bit 1, a jr nz, .asm_f8339 ld hl, rNR22 - ld a, [wMusicE9 + 1] + ld a, [wMusicEcho + 1] ld [hli], a inc hl ld a, $80 @@ -505,7 +505,7 @@ Music2_UpdateChannel3: ; f836f (3e:436f) ld a, [wddbb + 2] cp $1 jr z, .asm_f8398 - ld a, [wMusicE9 + 2] + ld a, [wMusicEcho + 2] ldh [rNR32], a .asm_f8398 ld a, [wddbb + 2] @@ -608,7 +608,7 @@ Music2_CommandTable: ; f842c (3e:442c) dw Music2_tie dw Music2_end dw Music2_end - dw Music2_musicdc + dw Music2_stereo_panning dw Music2_MainLoop dw Music2_EndMainLoop dw Music2_Loop @@ -616,16 +616,16 @@ Music2_CommandTable: ; f842c (3e:442c) dw Music2_jp dw Music2_call dw Music2_ret - dw Music2_musice4 + dw Music2_frequency_offset dw Music2_duty dw Music2_volume dw Music2_wave - dw Music2_musice8 - dw Music2_musice9 + dw Music2_cutoff + dw Music2_echo dw Music2_vibrato_type dw Music2_vibrato_delay - dw Music2_musicec - dw Music2_musiced + dw Music2_pitch_offset + dw Music2_adjust_pitch_offset dw Music2_end dw Music2_end dw Music2_end @@ -700,7 +700,7 @@ Music2_note: ; f448c (3d:448c) ld a, d jr z, .asm_f84fb ld e, a - ld hl, wMusicE8 + ld hl, wMusicCutoff add hl, bc ld a, [hl] cp $8 @@ -772,10 +772,10 @@ Music2_note: ; f448c (3d:448c) ld l, a ld a, [hli] ld d, a - ld a, [wMusicDC] + ld a, [wMusicStereoPanning] and $77 or d - ld [wMusicDC], a + ld [wMusicStereoPanning], a ld de, wddab ld a, [hli] ld [de], a @@ -808,18 +808,18 @@ Music2_note: ; f448c (3d:448c) add hl, bc ld e, [hl] ld d, $0 - ld hl, Unknown_f8c28 + ld hl, Music2_OctaveOffsets add hl, de add a ld e, [hl] add e - ld hl, wMusicEC + ld hl, wMusicPitchOffset add hl, bc ld e, [hl] add e add e ld e, a - ld hl, Unknown_f8c30 + ld hl, Music2_Pitches add hl, de ld a, [hli] ld e, a @@ -884,25 +884,25 @@ Music2_tie: ; f85cb (3e:45cb) ld [hl], $80 jp Music2_PlayNextNote_pop -Music2_musicdc: ; f85d4 (3e:45d4) +Music2_stereo_panning: ; f85d4 (3e:45d4) pop hl ld a, [hli] push hl push bc inc c - ld e, $ee -.asm_f85db + ld e, %11101110 ; mask +.loop dec c - jr z, .asm_f85e3 - rlca - rlc e - jr .asm_f85db -.asm_f85e3 + jr z, .done + rlca ; rotate input param + rlc e ; rotate mask + jr .loop +.done ld d, a - ld hl, wMusicDC + ld hl, wMusicStereoPanning ld a, [hl] - and e - or d + and e ; keep old panning for all other channels + or d ; apply new panning for this channel ld [hl], a pop bc jp Music2_PlayNextNote_pop @@ -1004,11 +1004,11 @@ Music2_ret: ; f8656 (3e:4656) call Music2_SetChannelStackPointer jp Music2_PlayNextNote_pop -Music2_musice4: ; f8667 (3e:4667) +Music2_frequency_offset: ; f8667 (3e:4667) pop de ld a, [de] inc de - ld hl, wMusicE4 + ld hl, wMusicFrequencyOffset add hl, bc ld [hl], a ld h, d @@ -1049,22 +1049,22 @@ Music2_wave: ; f8690 (3e:4690) ld l, e jp Music2_PlayNextNote -Music2_musice8: ; f86a0 (3e:46a0) +Music2_cutoff: ; f86a0 (3e:46a0) pop de ld a, [de] inc de - ld hl, wMusicE8 + ld hl, wMusicCutoff add hl, bc ld [hl], a ld h, d ld l, e jp Music2_PlayNextNote -Music2_musice9: ; f86ad (3e:46ad) +Music2_echo: ; f86ad (3e:46ad) pop de ld a, [de] inc de - ld hl, wMusicE9 + ld hl, wMusicEcho add hl, bc ld [hl], a ld h, d @@ -1096,22 +1096,22 @@ Music2_vibrato_delay: ; f86cc (3e:46cc) ld l, e jp Music2_PlayNextNote -Music2_musicec: ; f86d9 (3e:46d9) +Music2_pitch_offset: ; f86d9 (3e:46d9) pop de ld a, [de] inc de - ld hl, wMusicEC + ld hl, wMusicPitchOffset add hl, bc ld [hl], a ld h, d ld l, e jp Music2_PlayNextNote -Music2_musiced: ; f86e6 (3e:46e6) +Music2_adjust_pitch_offset: ; f86e6 (3e:46e6) pop de ld a, [de] inc de - ld hl, wMusicEC + ld hl, wMusicPitchOffset add hl, bc add [hl] ld [hl], a @@ -1371,7 +1371,7 @@ Func_f8866: ; f8866 (3e:4866) ldh [rNR50], a ld a, [wdd8c] or a - ld hl, wMusicDC + ld hl, wMusicStereoPanning ld a, [hli] jr z, .asm_f8888 ld a, [wdd8c] @@ -1539,7 +1539,7 @@ Func_f890b: ; f890b (3e:490b) ret Func_f8967: ; f8967 (3e:4967) - ld hl, wMusicE4 + ld hl, wMusicFrequencyOffset add hl, bc ld a, [hl] bit 7, a @@ -1629,8 +1629,8 @@ Music2_BackupSong: ; f89dc (3e:49dc) ld [wCurSongIDBackup], a ld a, [wCurSongBank] ld [wCurSongBankBackup], a - ld a, [wMusicDC] - ld [wMusicDCBackup], a + ld a, [wMusicStereoPanning] + ld [wMusicStereoPanningBackup], a ld hl, wMusicDuty1 ld de, wMusicDuty1Backup ld a, $4 @@ -1675,20 +1675,20 @@ Music2_BackupSong: ; f89dc (3e:49dc) ld de, wde84 ld a, $4 call Music2_CopyData - ld hl, wMusicE8 - ld de, wMusicE8Backup + ld hl, wMusicCutoff + ld de, wMusicCutoffBackup ld a, $4 call Music2_CopyData ld hl, wddc3 ld de, wde8c ld a, $4 call Music2_CopyData - ld hl, wMusicE9 - ld de, wMusicE9Backup + ld hl, wMusicEcho + ld de, wMusicEchoBackup ld a, $4 call Music2_CopyData - ld hl, wMusicEC - ld de, wMusicECBackup + ld hl, wMusicPitchOffset + ld de, wMusicPitchOffsetBackup ld a, $4 call Music2_CopyData ld hl, wMusicSpeed @@ -1712,8 +1712,8 @@ Music2_BackupSong: ; f89dc (3e:49dc) ld de, wMusicVolumeBackup ld a, $3 call Music2_CopyData - ld hl, wMusicE4 - ld de, wMusicE4Backup + ld hl, wMusicFrequencyOffset + ld de, wMusicFrequencyOffsetBackup ld a, $3 call Music2_CopyData ld hl, wdded @@ -1737,8 +1737,8 @@ Music2_LoadBackup: ; f8b01 (3e:4b01) ld [wCurSongID], a ld a, [wCurSongBankBackup] ld [wCurSongBank], a - ld a, [wMusicDCBackup] - ld [wMusicDC], a + ld a, [wMusicStereoPanningBackup] + ld [wMusicStereoPanning], a ld hl, wMusicDuty1Backup ld de, wMusicDuty1 ld a, $4 @@ -1783,20 +1783,20 @@ Music2_LoadBackup: ; f8b01 (3e:4b01) ld de, wddbb ld a, $4 call Music2_CopyData - ld hl, wMusicE8Backup - ld de, wMusicE8 + ld hl, wMusicCutoffBackup + ld de, wMusicCutoff ld a, $4 call Music2_CopyData ld hl, wde8c ld de, wddc3 ld a, $4 call Music2_CopyData - ld hl, wMusicE9Backup - ld de, wMusicE9 + ld hl, wMusicEchoBackup + ld de, wMusicEcho ld a, $4 call Music2_CopyData - ld hl, wMusicECBackup - ld de, wMusicEC + ld hl, wMusicPitchOffsetBackup + ld de, wMusicPitchOffset ld a, $4 call Music2_CopyData ld hl, wMusicSpeedBackup @@ -1815,8 +1815,8 @@ Music2_LoadBackup: ; f8b01 (3e:4b01) ld de, wMusicVolume ld a, $3 call Music2_CopyData - ld hl, wMusicE4Backup - ld de, wMusicE4 + ld hl, wMusicFrequencyOffsetBackup + ld de, wMusicFrequencyOffset ld a, $3 call Music2_CopyData ld hl, wdeaa @@ -1852,11 +1852,104 @@ Music2_ChannelLoopStacks: ; f8c20 (3e:4c20) dw wMusicCh3Stack dw wMusicCh4Stack -Unknown_f8c28: ; f8c28 (3e:4c28) - INCROM $f8c28, $f8c30 - -Unknown_f8c30: ; f8c30 (3e:4c30) - INCROM $f8c30, $f8cda +; these are address offsets into the pitches table below +; offset = (12 notes per octave * 2 bytes per pitch) * octave +Music2_OctaveOffsets: ; f8c28 (3e:4c28) + db (12 * 2) * 0 + db (12 * 2) * 1 + db (12 * 2) * 2 + db (12 * 2) * 3 + db (12 * 2) * 4 + db (12 * 2) * 5 + db (12 * 2) * 6 + db (12 * 2) * 7 + +Music2_Pitches: ; f8c30 (3e:4c30) + dw $002c ; C_ 0 + dw $009c ; C# 0 + dw $0106 ; D_ 0 + dw $016b ; D# 0 + dw $01c9 ; E_ 0 + dw $0222 ; F_ 0 + dw $0278 ; F# 0 + dw $02c6 ; G_ 0 + dw $0312 ; G# 0 + dw $0358 ; A_ 0 + dw $039b ; A# 0 + dw $03da ; B_ 0 + dw $0416 ; C_ 1 + dw $044e ; C# 1 + dw $0483 ; D_ 1 + dw $04b5 ; D# 1 + dw $04e5 ; E_ 1 + dw $0511 ; F_ 1 + dw $053c ; F# 1 + dw $0563 ; G_ 1 + dw $0589 ; G# 1 + dw $05ac ; A_ 1 + dw $05cd ; A# 1 + dw $05ed ; B_ 1 + dw $060b ; C_ 2 + dw $0628 ; C# 2 + dw $0642 ; D_ 2 + dw $065b ; D# 2 + dw $0672 ; E_ 2 + dw $0689 ; F_ 2 + dw $069e ; F# 2 + dw $06b2 ; G_ 2 + dw $06c4 ; G# 2 + dw $06d6 ; A_ 2 + dw $06e7 ; A# 2 + dw $06f6 ; B_ 2 + dw $0705 ; C_ 3 + dw $0714 ; C# 3 + dw $0721 ; D_ 3 + dw $072d ; D# 3 + dw $0739 ; E_ 3 + dw $0744 ; F_ 3 + dw $074f ; F# 3 + dw $0759 ; G_ 3 + dw $0762 ; G# 3 + dw $076b ; A_ 3 + dw $0773 ; A# 3 + dw $077b ; B_ 3 + dw $0783 ; C_ 4 + dw $078a ; C# 4 + dw $0790 ; D_ 4 + dw $0797 ; D# 4 + dw $079d ; E_ 4 + dw $07a2 ; F_ 4 + dw $07a7 ; F# 4 + dw $07ac ; G_ 4 + dw $07b1 ; G# 4 + dw $07b6 ; A_ 4 + dw $07ba ; A# 4 + dw $07be ; B_ 4 + dw $07c1 ; C_ 5 + dw $07c5 ; C# 5 + dw $07c8 ; D_ 5 + dw $07cb ; D# 5 + dw $07ce ; E_ 5 + dw $07d1 ; F_ 5 + dw $07d4 ; F# 5 + dw $07d6 ; G_ 5 + dw $07d9 ; G# 5 + dw $07db ; A_ 5 + dw $07dd ; A# 5 + dw $07df ; B_ 5 + dw $07e1 ; C_ 6 + dw $07e3 ; C# 6 + dw $07e4 ; D_ 6 + dw $07e5 ; D# 6 + dw $07e7 ; E_ 6 + dw $07e8 ; F_ 6 + dw $07ea ; F# 6 + dw $07eb ; G_ 6 + dw $07ec ; G# 6 + dw $07ed ; A_ 6 + dw $07ee ; A# 6 + dw $07ef ; B_ 6 + dw $07f0 ; C_ 7 Music2_WaveInstruments: ; f8cda (3e:4cda) INCLUDE "audio/wave_instruments.asm" @@ -1867,8 +1960,14 @@ INCLUDE "audio/noise_instruments.asm" Music2_VibratoTypes: ; f8dde (3e:4dde) INCLUDE "audio/vibrato_types.asm" -Unknown_f8e85: ; f8e85 (3e:4e85) - INCROM $f8e85, $f8ee5 +; all real SFX have the same priority (SFX_STOP does not use this table) +Music2_SFXPriorities: ; f8e85 (3e:4e85) + db $00, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a + db $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a + db $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a + db $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a + db $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a + db $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a, $0a INCLUDE "audio/music2_headers.asm" diff --git a/src/audio/music2_headers.asm b/src/audio/music2_headers.asm index cafaa4f..206d8fd 100644 --- a/src/audio/music2_headers.asm +++ b/src/audio/music2_headers.asm @@ -28,7 +28,7 @@ SongBanks2: ; f8ee6 (3e:4ee6) db BANK(Music_MatchStart3) db BANK(Music_MatchVictory) db BANK(Music_MatchLoss) - db BANK(Music_DarkDiddly) + db BANK(Music_MatchDraw) db BANK(Music_Unused1b) db BANK(Music_BoosterPack) db BANK(Music_Medal) @@ -245,7 +245,7 @@ Music_Credits: ; f8fdd (3e:4fdd) dw $0000 dw $0000 -;Music_DarkDiddly +;Music_MatchDraw db %0000 dw $0000 dw $0000 diff --git a/src/audio/sfx.asm b/src/audio/sfx.asm index c682191..7e87930 100644 --- a/src/audio/sfx.asm +++ b/src/audio/sfx.asm @@ -474,7 +474,7 @@ SFX_end: ; fc249 (3f:4249) Func_fc26c: ; fc26c (3f:426c) xor a ld [wde53], a - ld [wdd83], a + ld [wSfxPriority], a ld a, $80 ld [wCurSfxID], a ret diff --git a/src/constants/duel_constants.asm b/src/constants/duel_constants.asm index 8255afe..fd5d883 100644 --- a/src/constants/duel_constants.asm +++ b/src/constants/duel_constants.asm @@ -32,7 +32,7 @@ DUELVARS_DECK_CARDS EQUS "LOW(wPlayerDeckCards)" DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK EQUS "LOW(wPlayerNumberOfCardsNotInDeck)" ; ba DUELVARS_ARENA_CARD EQUS "LOW(wPlayerArenaCard)" ; bb DUELVARS_BENCH EQUS "LOW(wPlayerBench)" ; bc -DUELVARS_ARENA_CARD_FLAGS EQUS "LOW(wPlayerArenaCardFlags)" ; c2 +DUELVARS_ARENA_CARD_FLAGS EQUS "LOW(wPlayerArenaCardFlags)" ; c2 DUELVARS_ARENA_CARD_HP EQUS "LOW(wPlayerArenaCardHP)" ; c8 DUELVARS_BENCH1_CARD_HP EQUS "LOW(wPlayerBench1CardHP)" ; c9 DUELVARS_BENCH2_CARD_HP EQUS "LOW(wPlayerBench2CardHP)" ; ca @@ -45,12 +45,12 @@ DUELVARS_BENCH2_CARD_STAGE EQUS "LOW(wPlayerBench2CardStage)" DUELVARS_BENCH3_CARD_STAGE EQUS "LOW(wPlayerBench3CardStage)" ; d1 DUELVARS_BENCH4_CARD_STAGE EQUS "LOW(wPlayerBench4CardStage)" ; d2 DUELVARS_BENCH5_CARD_STAGE EQUS "LOW(wPlayerBench5CardStage)" ; d3 -DUELVARS_ARENA_CARD_CHANGED_TYPE EQUS "LOW(wPlayerArenaCardChangedType)" ; d4 -DUELVARS_BENCH1_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench1CardChangedType)" ; d5 -DUELVARS_BENCH2_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench2CardChangedType)" ; d6 -DUELVARS_BENCH3_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench3CardChangedType)" ; d7 -DUELVARS_BENCH4_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench4CardChangedType)" ; d8 -DUELVARS_BENCH5_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench5CardChangedType)" ; d9 +DUELVARS_ARENA_CARD_CHANGED_TYPE EQUS "LOW(wPlayerArenaCardChangedType)" ; d4 +DUELVARS_BENCH1_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench1CardChangedType)" ; d5 +DUELVARS_BENCH2_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench2CardChangedType)" ; d6 +DUELVARS_BENCH3_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench3CardChangedType)" ; d7 +DUELVARS_BENCH4_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench4CardChangedType)" ; d8 +DUELVARS_BENCH5_CARD_CHANGED_COLOR EQUS "LOW(wPlayerBench5CardChangedType)" ; d9 DUELVARS_ARENA_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerArenaCardAttachedDefender)" ; da DUELVARS_BENCH1_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench1CardAttachedDefender)" ; db DUELVARS_BENCH2_CARD_ATTACHED_DEFENDER EQUS "LOW(wPlayerBench2CardAttachedDefender)" ; dc diff --git a/src/constants/music_constants.asm b/src/constants/music_constants.asm index c6c50f7..d9ebb2b 100644 --- a/src/constants/music_constants.asm +++ b/src/constants/music_constants.asm @@ -25,7 +25,7 @@ const MUSIC_MATCH_START_3 ; $17 const MUSIC_MATCH_VICTORY ; $18 const MUSIC_MATCH_LOSS ; $19 - const MUSIC_DARK_DIDDLY ; $1a + const MUSIC_MATCH_DRAW ; $1a const MUSIC_UNUSED_1B ; $1b const MUSIC_BOOSTER_PACK ; $1c const MUSIC_MEDAL ; $1d diff --git a/src/constants/script_constants.asm b/src/constants/script_constants.asm index 9607ba0..9f37375 100644 --- a/src/constants/script_constants.asm +++ b/src/constants/script_constants.asm @@ -138,10 +138,12 @@ IMAKUNI_SCIENCE_CLUB EQU 1 IMAKUNI_LIGHTNING_CLUB EQU 2 IMAKUNI_WATER_CLUB EQU 3 -NO_JUMP EQU $0000 +NULL EQU $0000 NORTH EQU $00 EAST EQU $01 SOUTH EQU $02 WEST EQU $03 NO_MOVE EQU %10000000 ; For rotations without movement + +VARIABLE_CARD EQU 0 ; use the card located in wd697 instead of using the script's argument diff --git a/src/data/effect_commands.asm b/src/data/effect_commands.asm index f90fe80..e58f2d4 100644 --- a/src/data/effect_commands.asm +++ b/src/data/effect_commands.asm @@ -177,7 +177,7 @@ ExeggutorBigEggsplosionEffectCommands: NidokingThrashEffectCommands: dbw EFFECTCMDTYPE_BEFORE_DAMAGE, Thrash_ModifierEffect - dbw EFFECTCMDTYPE_AFTER_DAMAGE, Thrash_LowRecoilEffect + dbw EFFECTCMDTYPE_AFTER_DAMAGE, Thrash_RecoilEffect dbw EFFECTCMDTYPE_AI, Thrash_AIEffect db $00 @@ -1600,20 +1600,20 @@ DevolutionSprayEffectCommands: db $00 SuperEnergyRemovalEffectCommands: - dbw EFFECTCMDTYPE_INITIAL_EFFECT_1, $7cd0 - dbw EFFECTCMDTYPE_INITIAL_EFFECT_2, $7ce4 - dbw EFFECTCMDTYPE_BEFORE_DAMAGE, $7d73 + dbw EFFECTCMDTYPE_INITIAL_EFFECT_1, SuperEnergyRemoval_EnergyCheck + dbw EFFECTCMDTYPE_INITIAL_EFFECT_2, SuperEnergyRemoval_PlayerSelection + dbw EFFECTCMDTYPE_BEFORE_DAMAGE, SuperEnergyRemoval_DiscardEffect db $00 SuperEnergyRetrievalEffectCommands: - dbw EFFECTCMDTYPE_INITIAL_EFFECT_1, $7da4 - dbw EFFECTCMDTYPE_INITIAL_EFFECT_2, $7db6 - dbw EFFECTCMDTYPE_BEFORE_DAMAGE, $7dfa - dbw EFFECTCMDTYPE_REQUIRE_SELECTION, $7dba + dbw EFFECTCMDTYPE_INITIAL_EFFECT_1, SuperEnergyRetrieval_HandEnergyCheck + dbw EFFECTCMDTYPE_INITIAL_EFFECT_2, SuperEnergyRetrieval_PlayerHandSelection + dbw EFFECTCMDTYPE_BEFORE_DAMAGE, SuperEnergyRetrieval_DiscardAndAddToHandEffect + dbw EFFECTCMDTYPE_REQUIRE_SELECTION, SuperEnergyRetrieval_PlayerDiscardPileSelection db $00 GustOfWindEffectCommands: - dbw EFFECTCMDTYPE_INITIAL_EFFECT_1, $7e6e - dbw EFFECTCMDTYPE_INITIAL_EFFECT_2, $7e79 - dbw EFFECTCMDTYPE_BEFORE_DAMAGE, $7e90 + dbw EFFECTCMDTYPE_INITIAL_EFFECT_1, GustOfWind_BenchCheck + dbw EFFECTCMDTYPE_INITIAL_EFFECT_2, GustOfWind_PlayerSelection + dbw EFFECTCMDTYPE_BEFORE_DAMAGE, GustOfWind_SwitchEffect db $00 diff --git a/src/engine/bank01.asm b/src/engine/bank01.asm index 279d58c..2c2a23f 100644 --- a/src/engine/bank01.asm +++ b/src/engine/bank01.asm @@ -192,7 +192,7 @@ MainDuelLoop: ; 40ee (1:40ee) cp TURN_PLAYER_LOST jr z, .active_duelist_lost_battle ld a, DUEL_ANIM_DUEL_DRAW - ld c, MUSIC_DARK_DIDDLY + ld c, MUSIC_MATCH_DRAW ldtx hl, DuelWasADrawText jr .handle_duel_finished .active_duelist_won_battle diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm index 6f99e6a..2e3f0d9 100644..100755 --- a/src/engine/bank03.asm +++ b/src/engine/bank03.asm @@ -761,7 +761,7 @@ AttemptPlayerMovementFromDirection: ; c5fe (3:45fe) pop bc ret -StartScript_dMovement: ; c607 (3:4607) +StartScriptedMovement: ; c607 (3:4607) push bc ld a, [wPlayerSpriteIndex] ld [wWhichSprite], a @@ -1888,7 +1888,7 @@ ScriptCommand_AskQuestionJumpDefaultYes: ; cce4 (3:4ce4) ; fallthrough ; Asks the player a question then jumps if they answer yes. Seem to be able to -; take a text of 0000 to overwrite last with (yes no) prompt at the bottom +; take a text of 0000 (NULL) to overwrite last with (yes no) prompt at the bottom ScriptCommand_AskQuestionJump: ; cce9 (3:4ce9) ld l, c ld h, b @@ -2217,12 +2217,12 @@ ScriptCommand_ShowCardReceivedScreen: ; cee2 (3:4ee2) xor a jr .asm_cef0 -ScriptCommand_CheckIfCardInCollectionOrDecks: ; cf0c (3:4f0c) +ScriptCommand_JumpIfCardOwned: ; cf0c (3:4f0c) ld a, c call GetCardCountInCollectionAndDecks jr asm_cf16 -ScriptCommand_CheckIfCardInCollection: ; cf12 (3:4f12) +ScriptCommand_JumpIfCardInCollection: ; cf12 (3:4f12) ld a, c call GetCardCountInCollection @@ -2243,11 +2243,11 @@ asm_cf1f: asm_cf2a: jp IncreaseScriptPointerBy4 -ScriptCommand_CheckRawAmountOfCardsOwned: ; cf2d (3:4f2d) +ScriptCommand_JumpIfEnoughCardsOwned: ; cf2d (3:4f2d) push bc call IncreaseScriptPointerBy1 pop bc - call GetRawAmountOfCardsOwned + call GetAmountOfCardsOwned ld a, h cp b jr nz, .asm_cf3b @@ -2452,7 +2452,7 @@ ScriptCommand_MovePlayer: ; 505c (3:505c) ld [wd339], a ld a, b ld [wd33a], a - call StartScript_dMovement + call StartScriptedMovement .asm_d067 call DoFrameIfLCDEnabled call SetScreenScroll @@ -2464,12 +2464,12 @@ ScriptCommand_MovePlayer: ; 505c (3:505c) call SetScreenScroll jp IncreaseScriptPointerBy3 -ScriptCommand_SetDialogName: ; d080 (3:5080) +ScriptCommand_SetDialogNPC: ; d080 (3:5080) ld a, c farcall SetNPCDialogName jp IncreaseScriptPointerBy2 -ScriptCommand_SetNextNPCandScript: ; d088 (3:5088) +ScriptCommand_SetNextNPCAndScript: ; d088 (3:5088) ld a, c ld [wTempNPC], a call GetScriptArgs2AfterPointer @@ -2531,7 +2531,7 @@ Func_d0d9: ; d0d9 (3:50d9) jp nz, ScriptEventFailedNoJump jp ScriptEventPassedTryJump -ScriptCommand_JumpIfPlayerCoordMatches: ; d0f2 (3:50f2) +ScriptCommand_JumpIfPlayerCoordsMatch: ; d0f2 (3:50f2) ld a, [wPlayerXCoord] cp c jp nz, ScriptEventFailedNoJump @@ -2715,7 +2715,7 @@ Func_d244: ; d244 (3:5244) farcall Func_80ba4 jp IncreaseScriptPointerBy2 -ScriptCommand_ShowMultichoiceTextbox_ChooseDeckToDuelAgainst: ; d24c (3:524c) +ScriptCommand_ChooseDeckToDuelAgainstMultichoice: ; d24c (3:524c) ld hl, .multichoice_menu_args xor a call ShowMultichoiceTextbox @@ -2724,31 +2724,30 @@ ScriptCommand_ShowMultichoiceTextbox_ChooseDeckToDuelAgainst: ; d24c (3:524c) set_flag_value EVENT_FLAG_76 jp IncreaseScriptPointerBy1 -.multichoice_menu_args ;d25e - dw $0000 ; NPC title for textbox under menu +.multichoice_menu_args ; d25e + dw NULL ; NPC title for textbox under menu tx Text03f9 ; text for textbox under menu dw MultichoiceTextbox_ConfigTable_ChooseDeckToDuelAgainst ; location of table configuration in bank 4 db $03 ; the value to return when b is pressed dw wMultichoiceTextboxResult_ChooseDeckToDuelAgainst ; ram location to return result into dw .text_entries ; location of table containing text entries -.text_entries ;d269 +.text_entries ; d269 tx Text03f6 tx Text03f7 tx Text03f8 INCROM $d26f, $d271 - -ScriptCommand_ShowMultichoiceTextbox_ChooseStarterDeck: ; d271 (3:5271) +ScriptCommand_ChooseStarterDeckMultichoice: ; d271 (3:5271) ld hl, .multichoice_menu_args xor a call ShowMultichoiceTextbox jp IncreaseScriptPointerBy1 ; 0xd27b -.multichoice_menu_args ;d27b - dw $0000 ; NPC title for textbox under menu +.multichoice_menu_args ; d27b + dw NULL ; NPC title for textbox under menu tx Text03fd ; text for textbox under menu dw MultichoiceTextbox_ConfigTable_ChooseDeckStarterDeck ; location of table configuration in bank 4 db $00 ; the value to return when b is pressed @@ -2761,14 +2760,14 @@ ScriptCommand_ShowMultichoiceTextbox_ChooseStarterDeck: ; d271 (3:5271) tx Text03fc -;displays a textbox with multiple choices and a cursor. -;takes as an argument in h1 a pointer to a table -; dw text id for NPC title for textbox under menu -; dw text id for textbox under menu -; dw location of table configuration in bank 4 -; db the value to return when b is pressed -; dw ram location to return result into -; dw location of table containing text entries (optional) +; displays a textbox with multiple choices and a cursor. +; takes as an argument in h1 a pointer to a table +; dw text id for NPC title for textbox under menu +; dw text id for textbox under menu +; dw location of table configuration in bank 4 +; db the value to return when b is pressed +; dw ram location to return result into +; dw location of table containing text entries (optional) ShowMultichoiceTextbox: ; d28c (3:528c) ld [wd416], a @@ -2858,14 +2857,13 @@ ScriptCommand_ShowSamNormalMultichoice: ; d2f6 (3:52f6) jp IncreaseScriptPointerBy1 ; 0xd30c -.multichoice_menu_args ;d30c +.multichoice_menu_args ; d30c tx SamNPCName ; NPC title for textbox under menu tx Text03fe ; text for textbox under menu dw SamNormalMultichoice_ConfigurationTable ; location of table configuration in bank 4 db $03 ; the value to return when b is pressed dw wMultichoiceTextboxResult_Sam ; ram location to return result into - dw $0000 ; location of table containing text entries - + dw NULL ; location of table containing text entries ScriptCommand_ShowSamTutorialMultichoice: ; d317 (3:5317) ld hl, .multichoice_menu_args @@ -2876,14 +2874,13 @@ ScriptCommand_ShowSamTutorialMultichoice: ; d317 (3:5317) set_flag_value EVENT_FLAG_75 jp IncreaseScriptPointerBy1 -.multichoice_menu_args ;d32b - dw $0000 ; NPC title for textbox under menu - dw $0000 ; text for textbox under menu +.multichoice_menu_args ; d32b (3:532b) + dw NULL ; NPC title for textbox under menu + dw NULL ; text for textbox under menu dw SamTutorialMultichoice_ConfigurationTable ; location of table configuration in bank 4 db $07 ; the value to return when b is pressed dw wMultichoiceTextboxResult_Sam ; ram location to return result into - dw $0000 ; location of table containing text entries - + dw NULL ; location of table containing text entries ScriptCommand_OpenDeckMachine: ; d336 (3:5336) push bc @@ -2981,7 +2978,6 @@ Func_d3d4: ; d3d4 (3:53d4) INCROM $d3dd, $d3e0 - Func_d3e0: ; d3e0 (3:53e0) ld a, $1 ld [wd32e], a @@ -3200,18 +3196,11 @@ Func_d4fb: ; d4fb (3:54fb) Script_BeginGame: ; d52e (3:552e) start_script - run_command ScriptCommand_DoFrames - db $3c + do_frames 60 run_command Func_d3e0 - run_command ScriptCommand_DoFrames - db $78 - run_command ScriptCommand_EnterMap - db $02 - db MASON_LABORATORY - db 14 - db 26 - db NORTH - run_command ScriptCommand_QuitScriptFully + do_frames 120 + enter_map $02, MASON_LABORATORY, 14, 26, NORTH + quit_script_fully MasonLaboratoryAfterDuel: ; d53b (3:553b) ld hl, .after_duel_table @@ -3261,7 +3250,7 @@ Script_ChallengeMachine: ; d57d (3:557d) run_command Func_ccdc tx Text05bd run_command Func_d43d - run_command ScriptCommand_QuitScriptFully + quit_script_fully Script_Tech1: ; d583 (3:5583) INCROM $d583, $d5ca @@ -3286,279 +3275,158 @@ Script_DrMason: ; d727 (3:5727) Script_EnterLabFirstTime: ; d753 (3:5753) start_script - run_command ScriptCommand_MovePlayer - db NORTH - db $02 - run_command ScriptCommand_MovePlayer - db NORTH - db $02 - run_command ScriptCommand_MovePlayer - db NORTH - db $02 - run_command ScriptCommand_MovePlayer - db NORTH - db $02 - run_command ScriptCommand_MovePlayer - db NORTH - db $02 - run_command ScriptCommand_MovePlayer - db NORTH - db $02 - run_command ScriptCommand_MovePlayer - db NORTH - db $02 - run_command ScriptCommand_MovePlayer - db NORTH - db $02 - run_command ScriptCommand_MovePlayer - db NORTH - db $02 - run_command ScriptCommand_PrintTextString - tx Text05e3 - run_command ScriptCommand_CloseAdvancedTextBox - run_command ScriptCommand_SetNextNPCandScript - db NPC_SAM - dw Script_d779 - run_command ScriptCommand_EndScriptLoop1 + move_player NORTH, 2 + move_player NORTH, 2 + move_player NORTH, 2 + move_player NORTH, 2 + move_player NORTH, 2 + move_player NORTH, 2 + move_player NORTH, 2 + move_player NORTH, 2 + move_player NORTH, 2 + print_text_string Text05e3 + close_advanced_text_box + set_next_npc_and_script NPC_SAM, Script_d779 + end_script_loop ret Script_d779: ; d779 (03:5779) start_script - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_d880 - run_command ScriptCommand_PrintTextString - tx Text05e4 - run_command ScriptCommand_SetDialogName - db NPC_DRMASON - run_command ScriptCommand_PrintTextString - tx Text05e5 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_d882 + move_active_npc NPCMovement_d880 + print_text_string Text05e4 + set_dialog_npc NPC_DRMASON + print_text_string Text05e5 + close_text_box + move_active_npc NPCMovement_d882 run_command Func_cfc6 db $01 - run_command ScriptCommand_SetPlayerDirection - db $03 - run_command ScriptCommand_CloseAdvancedTextBox - run_command ScriptCommand_SetNextNPCandScript - db NPC_DRMASON - dw Script_d794 - run_command ScriptCommand_EndScriptLoop1 + set_player_direction WEST + close_advanced_text_box + set_next_npc_and_script NPC_DRMASON, Script_d794 + end_script_loop ret Script_d794: ; d794 (3:5794) start_script - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_d88b - run_command ScriptCommand_DoFrames - db 40 - run_command ScriptCommand_PrintTextString - tx Text05e6 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MovePlayer - db WEST - db $01 - run_command ScriptCommand_MovePlayer - db WEST - db $01 - run_command ScriptCommand_SetPlayerDirection - db SOUTH - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_SetPlayerDirection - db WEST - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_d894 - run_command ScriptCommand_PrintTextString - tx Text05e7 - run_command ScriptCommand_SetDialogName - db $07 - run_command ScriptCommand_PrintTextString - tx Text05e8 + move_active_npc NPCMovement_d88b + do_frames 40 + print_text_string Text05e6 + close_text_box + move_player WEST, 1 + move_player WEST, 1 + set_player_direction SOUTH + move_player SOUTH, 1 + move_player SOUTH, 1 + move_player SOUTH, 1 + set_player_direction WEST + move_active_npc NPCMovement_d894 + print_text_string Text05e7 + set_dialog_npc $07 + print_text_string Text05e8 .ows_d7bc - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_ShowSamTutorialMultichoice - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_75 - db $07 - dw .ows_d80c - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_75 - db $01 - dw .ows_d7e8 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_75 - db $02 - dw .ows_d7ee - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_75 - db $03 - dw .ows_d7f4 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_75 - db $04 - dw .ows_d7fa - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_75 - db $05 - dw .ows_d800 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_75 - db $06 - dw .ows_d806 - run_command ScriptCommand_PrintTextString - tx Text05d6 - run_command ScriptCommand_Jump - dw .ows_d7bc + close_text_box + show_sam_tutorial_multichoice + close_text_box + jump_if_flag_equal EVENT_FLAG_75, $07, .ows_d80c + jump_if_flag_equal EVENT_FLAG_75, $01, .ows_d7e8 + jump_if_flag_equal EVENT_FLAG_75, $02, .ows_d7ee + jump_if_flag_equal EVENT_FLAG_75, $03, .ows_d7f4 + jump_if_flag_equal EVENT_FLAG_75, $04, .ows_d7fa + jump_if_flag_equal EVENT_FLAG_75, $05, .ows_d800 + jump_if_flag_equal EVENT_FLAG_75, $06, .ows_d806 + print_text_string Text05d6 + script_jump .ows_d7bc .ows_d7e8 - run_command ScriptCommand_PrintTextString - tx Text05d7 - run_command ScriptCommand_Jump - dw .ows_d7bc + print_text_string Text05d7 + script_jump .ows_d7bc .ows_d7ee - run_command ScriptCommand_PrintTextString - tx Text05d8 - run_command ScriptCommand_Jump - dw .ows_d7bc + print_text_string Text05d8 + script_jump .ows_d7bc .ows_d7f4 - run_command ScriptCommand_PrintTextString - tx Text05d9 - run_command ScriptCommand_Jump - dw .ows_d7bc + print_text_string Text05d9 + script_jump .ows_d7bc .ows_d7fa - run_command ScriptCommand_PrintTextString - tx Text05da - run_command ScriptCommand_Jump - dw .ows_d7bc + print_text_string Text05da + script_jump .ows_d7bc .ows_d800 - run_command ScriptCommand_PrintTextString - tx Text05db - run_command ScriptCommand_Jump - dw .ows_d7bc + print_text_string Text05db + script_jump .ows_d7bc .ows_d806 - run_command ScriptCommand_PrintTextString - tx Text05dc - run_command ScriptCommand_Jump - dw .ows_d7bc + print_text_string Text05dc + script_jump .ows_d7bc .ows_d80c - run_command ScriptCommand_PrintTextString - tx Text05e9 - run_command ScriptCommand_AskQuestionJumpDefaultYes - dw 0000 - dw .ows_d817 - run_command ScriptCommand_Jump - dw .ows_d7bc + print_text_string Text05e9 + ask_question_jump_default_yes NULL, .ows_d817 + script_jump .ows_d7bc .ows_d817 - run_command ScriptCommand_SetDialogName - db $01 - run_command ScriptCommand_PrintTextString - tx Text05ea - run_command ScriptCommand_nop - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_3E - db $01 - run_command ScriptCommand_CloseAdvancedTextBox - run_command ScriptCommand_SetNextNPCandScript - db NPC_SAM - dw Script_d827 - run_command ScriptCommand_EndScriptLoop1 + set_dialog_npc $01 + print_text_string Text05ea + script_nop + script_set_flag_value EVENT_FLAG_3E, $01 + close_advanced_text_box + set_next_npc_and_script NPC_SAM, Script_d827 + end_script_loop ret Script_d827: ; d827 (3:5827) start_script - run_command ScriptCommand_StartBattle - db PRIZES_2 - db SAMS_PRACTICE_DECK_ID - db MUSIC_DUEL_THEME_1 - run_command ScriptCommand_QuitScriptFully + start_battle PRIZES_2, SAMS_PRACTICE_DECK_ID, MUSIC_DUEL_THEME_1 + quit_script_fully ; 0xd82d INCROM $d82d, $d834 AfterTutorialBattleScript: ; d834 (3:5834) start_script - run_command ScriptCommand_PrintTextString - tx Text05eb - run_command ScriptCommand_PrintTextString - tx Text05ef - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_d896 - run_command ScriptCommand_SetPlayerDirection - db NORTH - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_SetPlayerDirection - db EAST - run_command ScriptCommand_MovePlayer - db EAST - db $01 - run_command ScriptCommand_MovePlayer - db EAST - db $01 - run_command ScriptCommand_SetPlayerDirection - db NORTH - run_command ScriptCommand_PrintTextString - tx Text05f0 - run_command ScriptCommand_CloseTextBox + print_text_string Text05eb + print_text_string Text05ef + close_text_box + move_active_npc NPCMovement_d896 + set_player_direction NORTH + move_player NORTH, 1 + move_player NORTH, 1 + move_player NORTH, 1 + set_player_direction EAST + move_player EAST, 1 + move_player EAST, 1 + set_player_direction NORTH + print_text_string Text05f0 + close_text_box run_command Func_ccdc tx Text05f1 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_PrintTextString - tx Text05f2 + close_text_box + print_text_string Text05f2 .ows_d85f - run_command ScriptCommand_ShowMultichoiceTextbox_ChooseStarterDeck - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_AskQuestionJump - tx Text05f3 - dw .ows_d869 - run_command ScriptCommand_Jump - dw .ows_d85f + choose_starter_deck_multichoice + close_text_box + ask_question_jump Text05f3, .ows_d869 + script_jump .ows_d85f .ows_d869 - run_command ScriptCommand_PrintTextString - tx Text05f4 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_PauseSong + print_text_string Text05f4 + close_text_box + pause_song run_command Func_d40f - run_command ScriptCommand_TryGiveMedalPCPacks + try_give_medal_pc_packs run_command Func_ccdc tx Text05f5 - run_command ScriptCommand_WaitForSongToFinish - run_command ScriptCommand_ResumeSong - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_3E - db $03 + wait_for_song_to_finish + resume_song + close_text_box + script_set_flag_value EVENT_FLAG_3E, $03 run_command Func_d3d4 - run_command ScriptCommand_PrintTextString - tx Text05f6 + print_text_string Text05f6 run_command Func_d396 db $00 - run_command ScriptCommand_QuitScriptFully + quit_script_fully NPCMovement_d880: ; d880 (3:5880) db EAST @@ -3620,15 +3488,12 @@ Script_d932: ; d932 (3:5932) start_script run_command Func_ccdc tx Text0605 - run_command ScriptCommand_AskQuestionJumpDefaultYes - tx Text0606 - dw .ows_d93c - run_command ScriptCommand_QuitScriptFully + ask_question_jump_default_yes Text0606, .ows_d93c + quit_script_fully .ows_d93c - run_command ScriptCommand_OpenDeckMachine - db $09 - run_command ScriptCommand_QuitScriptFully + open_deck_machine $09 + quit_script_fully ; 0xd93f INCROM $d93f, $dadd @@ -3656,231 +3521,115 @@ Preload_IshiharaInIshiharasHouse: ; db3d (3:5b3d) Script_Ishihara: ; db4a (3:5b4a) start_script - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_1D - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_1F - db $00 - dw .ows_db80 - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_39 - dw .ows_db5a - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_RECEIVED_LEGENDARY_CARD - dw .ows_dc3e + max_out_flag_value EVENT_FLAG_1D + jump_if_flag_equal EVENT_FLAG_1F, $00, .ows_db80 + jump_if_flag_nonzero_2 EVENT_FLAG_39, .ows_db5a + jump_if_flag_nonzero_2 EVENT_RECEIVED_LEGENDARY_CARD, .ows_dc3e .ows_db5a - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_00 - dw .ows_db90 - run_command ScriptCommand_JumpIfFlagZero2 - db EVENT_FLAG_38 - dw .ows_db90 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_1F - db $01 - dw .ows_db93 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_1F - db $02 - dw .ows_db93 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_1F - db $03 - dw .ows_dbcc - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_1F - db $04 - dw .ows_dbcc - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_1F - db $05 - dw .ows_dc05 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_1F - db $06 - dw .ows_dc05 + jump_if_flag_nonzero_2 EVENT_FLAG_00, .ows_db90 + jump_if_flag_zero_2 EVENT_FLAG_38, .ows_db90 + jump_if_flag_equal EVENT_FLAG_1F, $01, .ows_db93 + jump_if_flag_equal EVENT_FLAG_1F, $02, .ows_db93 + jump_if_flag_equal EVENT_FLAG_1F, $03, .ows_dbcc + jump_if_flag_equal EVENT_FLAG_1F, $04, .ows_dbcc + jump_if_flag_equal EVENT_FLAG_1F, $05, .ows_dc05 + jump_if_flag_equal EVENT_FLAG_1F, $06, .ows_dc05 .ows_db80 - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_00 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_1F - db $01 - run_command ScriptCommand_ZeroOutFlagValue - db EVENT_FLAG_38 - run_command ScriptCommand_JumpIfFlagZero2 - db EVENT_RECEIVED_LEGENDARY_CARD - dw .ows_db8d - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_39 + max_out_flag_value EVENT_FLAG_00 + script_set_flag_value EVENT_FLAG_1F, $01 + zero_out_flag_value EVENT_FLAG_38 + jump_if_flag_zero_2 EVENT_RECEIVED_LEGENDARY_CARD, .ows_db8d + max_out_flag_value EVENT_FLAG_39 .ows_db8d - run_command ScriptCommand_PrintTextQuitFully - tx Text0727 + print_text_quit_fully Text0727 .ows_db90 - run_command ScriptCommand_PrintTextQuitFully - tx Text0728 + print_text_quit_fully Text0728 .ows_db93 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_1F - db $01 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0729 - tx Text072a - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_1F - db $02 - run_command ScriptCommand_AskQuestionJump - tx Text072b - dw .check_ifhave_clefable_incollectionordecks - run_command ScriptCommand_PrintTextQuitFully - tx Text072c + jump_if_flag_equal EVENT_FLAG_1F, $01, NULL + print_variable_text Text0729, Text072a + script_set_flag_value EVENT_FLAG_1F, $02 + ask_question_jump Text072b, .check_ifhave_clefable_incollectionordecks + print_text_quit_fully Text072c .check_ifhave_clefable_incollectionordecks - run_command ScriptCommand_CheckIfCardInCollectionOrDecks - db CLEFABLE - dw .check_ifhave_clefable_incollectiononly - run_command ScriptCommand_PrintTextQuitFully - tx Text072d + jump_if_card_owned CLEFABLE, .check_ifhave_clefable_incollectiononly + print_text_quit_fully Text072d .check_ifhave_clefable_incollectiononly - run_command ScriptCommand_CheckIfCardInCollection - db CLEFABLE - dw .do_clefable_trade - run_command ScriptCommand_PrintTextQuitFully - tx Text072e + jump_if_card_in_collection CLEFABLE, .do_clefable_trade + print_text_quit_fully Text072e .do_clefable_trade - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_00 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_1F - db $03 - run_command ScriptCommand_ZeroOutFlagValue - db EVENT_FLAG_38 - run_command ScriptCommand_PrintTextString - tx Text072f + max_out_flag_value EVENT_FLAG_00 + script_set_flag_value EVENT_FLAG_1F, $03 + zero_out_flag_value EVENT_FLAG_38 + print_text_string Text072f run_command Func_ccdc tx Text0730 - run_command ScriptCommand_TakeCard - db CLEFABLE - run_command ScriptCommand_GiveCard - db SURFING_PIKACHU1 - run_command ScriptCommand_ShowCardReceivedScreen - db SURFING_PIKACHU1 - run_command ScriptCommand_PrintTextQuitFully - tx Text0731 + take_card CLEFABLE + give_card SURFING_PIKACHU1 + show_card_received_screen SURFING_PIKACHU1 + print_text_quit_fully Text0731 .ows_dbcc - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_1F - db $03 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0732 - tx Text0733 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_1F - db $04 - run_command ScriptCommand_AskQuestionJump - tx Text072b - dw .check_ifhave_ditto_incollectionordecks - run_command ScriptCommand_PrintTextQuitFully - tx Text072c + jump_if_flag_equal EVENT_FLAG_1F, $03, NULL + print_variable_text Text0732, Text0733 + script_set_flag_value EVENT_FLAG_1F, $04 + ask_question_jump Text072b, .check_ifhave_ditto_incollectionordecks + print_text_quit_fully Text072c .check_ifhave_ditto_incollectionordecks - run_command ScriptCommand_CheckIfCardInCollectionOrDecks - db DITTO - dw .check_ifhave_ditto_incollectiononly - run_command ScriptCommand_PrintTextQuitFully - tx Text0734 + jump_if_card_owned DITTO, .check_ifhave_ditto_incollectiononly + print_text_quit_fully Text0734 .check_ifhave_ditto_incollectiononly - run_command ScriptCommand_CheckIfCardInCollection - db DITTO - dw .do_ditto_trade - run_command ScriptCommand_PrintTextQuitFully - tx Text0735 + jump_if_card_in_collection DITTO, .do_ditto_trade + print_text_quit_fully Text0735 .do_ditto_trade - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_00 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_1F - db $05 - run_command ScriptCommand_ZeroOutFlagValue - db EVENT_FLAG_38 - run_command ScriptCommand_PrintTextString - tx Text072f + max_out_flag_value EVENT_FLAG_00 + script_set_flag_value EVENT_FLAG_1F, $05 + zero_out_flag_value EVENT_FLAG_38 + print_text_string Text072f run_command Func_ccdc tx Text0736 - run_command ScriptCommand_TakeCard - db DITTO - run_command ScriptCommand_GiveCard - db FLYING_PIKACHU - run_command ScriptCommand_ShowCardReceivedScreen - db FLYING_PIKACHU - run_command ScriptCommand_PrintTextQuitFully - tx Text0737 + take_card DITTO + give_card FLYING_PIKACHU + show_card_received_screen FLYING_PIKACHU + print_text_quit_fully Text0737 .ows_dc05 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_1F - db $05 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0738 - tx Text0739 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_1F - db $06 - run_command ScriptCommand_AskQuestionJump - tx Text072b - dw .check_ifhave_chansey_incollectionordecks - run_command ScriptCommand_PrintTextQuitFully - tx Text072c + jump_if_flag_equal EVENT_FLAG_1F, $05, NULL + print_variable_text Text0738, Text0739 + script_set_flag_value EVENT_FLAG_1F, $06 + ask_question_jump Text072b, .check_ifhave_chansey_incollectionordecks + print_text_quit_fully Text072c .check_ifhave_chansey_incollectionordecks - run_command ScriptCommand_CheckIfCardInCollectionOrDecks - db CHANSEY - dw .check_ifhave_chansey_incollectiononly - run_command ScriptCommand_PrintTextQuitFully - tx Text073a + jump_if_card_owned CHANSEY, .check_ifhave_chansey_incollectiononly + print_text_quit_fully Text073a .check_ifhave_chansey_incollectiononly - run_command ScriptCommand_CheckIfCardInCollection - db CHANSEY - dw .do_chansey_trade - run_command ScriptCommand_PrintTextQuitFully - tx Text073b + jump_if_card_in_collection CHANSEY, .do_chansey_trade + print_text_quit_fully Text073b .do_chansey_trade - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_00 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_1F - db $07 - run_command ScriptCommand_ZeroOutFlagValue - db EVENT_FLAG_38 - run_command ScriptCommand_PrintTextString - tx Text072f + max_out_flag_value EVENT_FLAG_00 + script_set_flag_value EVENT_FLAG_1F, $07 + zero_out_flag_value EVENT_FLAG_38 + print_text_string Text072f run_command Func_ccdc tx Text073c - run_command ScriptCommand_TakeCard - db CHANSEY - run_command ScriptCommand_GiveCard - db SURFING_PIKACHU2 - run_command ScriptCommand_ShowCardReceivedScreen - db SURFING_PIKACHU2 - run_command ScriptCommand_PrintTextQuitFully - tx Text073d + take_card CHANSEY + give_card SURFING_PIKACHU2 + show_card_received_screen SURFING_PIKACHU2 + print_text_quit_fully Text073d .ows_dc3e - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_39 - run_command ScriptCommand_PrintTextQuitFully - tx Text073e + max_out_flag_value EVENT_FLAG_39 + print_text_quit_fully Text073e Preload_Ronald1InIshiharasHouse: ; dc43 (3:5c43) get_flag_value EVENT_RECEIVED_LEGENDARY_CARD @@ -3890,26 +3639,17 @@ Preload_Ronald1InIshiharasHouse: ; dc43 (3:5c43) Script_Ronald: ; dc4b (3:5c4b) start_script - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_4E - dw .ows_dc55 - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_4E - run_command ScriptCommand_PrintTextQuitFully - tx Text073f + jump_if_flag_nonzero_2 EVENT_FLAG_4E, .ows_dc55 + max_out_flag_value EVENT_FLAG_4E + print_text_quit_fully Text073f .ows_dc55 - run_command ScriptCommand_PrintTextString - tx Text0740 - run_command ScriptCommand_AskQuestionJump - tx Text0741 - dw .ows_dc60 - run_command ScriptCommand_PrintTextQuitFully - tx Text0742 + print_text_string Text0740 + ask_question_jump Text0741, .ows_dc60 + print_text_quit_fully Text0742 .ows_dc60 - run_command ScriptCommand_PrintTextQuitFully - tx Text0743 + print_text_quit_fully Text0743 ; could be a commented function, or could be placed by mistake from ; someone thinking that the Ronald script ended with more code execution @@ -3917,8 +3657,7 @@ Script_Ronald: ; dc4b (3:5c4b) Script_Clerk1: ; dc64 (3:5c64) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text045a + print_text_quit_fully Text045a FightingClubLobbyAfterDuel: ; dc68 (3:5c68) ld hl, .after_duel_table @@ -3937,109 +3676,65 @@ Script_Man1: ; dc76 (3:5c76) Script_Imakuni: ; dd0d (3:5d0d) start_script - run_command ScriptCommand_SetFlagValue - db EVENT_IMAKUNI_STATE - db IMAKUNI_TALKED - run_command ScriptCommand_JumpIfFlagZero2 - db EVENT_TEMP_TALKED_TO_IMAKUNI - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0467 - tx Text0468 - run_command ScriptCommand_MaxOutFlagValue - db EVENT_TEMP_TALKED_TO_IMAKUNI - run_command ScriptCommand_AskQuestionJump - tx Text0469 - dw .declineDuel - run_command ScriptCommand_PrintTextString - tx Text046a - run_command ScriptCommand_QuitScriptFully - -.declineDuel - run_command ScriptCommand_PrintTextString - tx Text046b - run_command ScriptCommand_StartBattle - db PRIZES_6 - db IMAKUNI_DECK_ID - db MUSIC_IMAKUNI - run_command ScriptCommand_QuitScriptFully + script_set_flag_value EVENT_IMAKUNI_STATE, IMAKUNI_TALKED + jump_if_flag_zero_2 EVENT_TEMP_TALKED_TO_IMAKUNI, NULL + print_variable_text Text0467, Text0468 + max_out_flag_value EVENT_TEMP_TALKED_TO_IMAKUNI + ask_question_jump Text0469, .acceptDuel + print_text_string Text046a + quit_script_fully + +.acceptDuel + print_text_string Text046b + start_battle PRIZES_6, IMAKUNI_DECK_ID, MUSIC_IMAKUNI + quit_script_fully Script_BeatImakuni: ; dd2d (3:5d2d) start_script - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_IMAKUNI_WIN_COUNT - db $07 - dw .giveBoosters - run_command ScriptCommand_IncrementFlagValue - db EVENT_IMAKUNI_WIN_COUNT - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_IMAKUNI_WIN_COUNT - db $03 - dw .threeWins - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_IMAKUNI_WIN_COUNT - db $06 - dw .sixWins + jump_if_flag_equal EVENT_IMAKUNI_WIN_COUNT, $07, .giveBoosters + script_increment_flag_value EVENT_IMAKUNI_WIN_COUNT + jump_if_flag_equal EVENT_IMAKUNI_WIN_COUNT, $03, .threeWins + jump_if_flag_equal EVENT_IMAKUNI_WIN_COUNT, $06, .sixWins .giveBoosters - run_command ScriptCommand_PrintTextString - tx Text046c - run_command ScriptCommand_GiveOneOfEachTrainerBooster - run_command ScriptCommand_Jump - dw .done + print_text_string Text046c + give_one_of_each_trainer_booster + script_jump .done .threeWins - run_command ScriptCommand_PrintTextString - tx Text046d - run_command ScriptCommand_Jump - dw .giveImakuniCard + print_text_string Text046d + script_jump .giveImakuniCard .sixWins - run_command ScriptCommand_PrintTextString - tx Text046e + print_text_string Text046e .giveImakuniCard - run_command ScriptCommand_PrintTextString - tx Text046f - run_command ScriptCommand_GiveCard - db IMAKUNI_CARD - run_command ScriptCommand_ShowCardReceivedScreen - db IMAKUNI_CARD + print_text_string Text046f + give_card IMAKUNI_CARD + show_card_received_screen IMAKUNI_CARD .done - run_command ScriptCommand_PrintTextString - tx Text0470 - run_command ScriptCommand_Jump - dw ScriptJump_ImakuniCommon + print_text_string Text0470 + script_jump ScriptJump_ImakuniCommon Script_LostToImakuni: ; dd5c (3:5d5c) start_script - run_command ScriptCommand_PrintTextString - tx Text0471 + print_text_string Text0471 ScriptJump_ImakuniCommon: ; dd60 (3:5d60) - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_JumpIfPlayerCoordMatches - db 18 - db 4 - dw .ows_dd69 - run_command ScriptCommand_Jump - dw .ows_dd6e + close_text_box + jump_if_player_coords_match 18, 4, .ows_dd69 + script_jump .ows_dd6e .ows_dd69 - run_command ScriptCommand_SetPlayerDirection - db EAST - run_command ScriptCommand_MovePlayer - db WEST - db $01 + set_player_direction EAST + move_player WEST, 1 .ows_dd6e - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_dd78 + move_active_npc NPCMovement_dd78 run_command Func_cdcb - run_command ScriptCommand_MaxOutFlagValue - db EVENT_TEMP_BATTLED_IMAKUNI + max_out_flag_value EVENT_TEMP_BATTLED_IMAKUNI run_command Func_d408 db $09 run_command Func_d41d - run_command ScriptCommand_QuitScriptFully + quit_script_fully NPCMovement_dd78: ; dd78 (3:5d78) db SOUTH @@ -4062,10 +3757,12 @@ Script_Butch: ; dd8d (3:5d8d) Script_Granny1: ; dd9f (3:5d9f) INCROM $dd9f, $dda3 + FightingClubAfterDuel: ; dda3 (3:5da3) ld hl, .after_duel_table call FindEndOfBattleScript ret +; 0xddaa .after_duel_table db NPC_CHRIS @@ -4093,121 +3790,81 @@ FightingClubAfterDuel: ; dda3 (3:5da3) Script_Mitch: ; ddc3 (3:5dc3) start_script - run_command ScriptCommand_TryGivePCPack - db $02 - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_0F - dw Script_Mitch_AlreadyHaveMedal - run_command ScriptCommand_JumpBasedOnFightingClubPupilStatus - dw .first_interaction - dw .three_pupils_remaining - dw .two_pupils_remaining - dw .one_pupil_remaining - dw .all_pupils_defeated + try_give_pc_pack $02 + jump_if_flag_nonzero_2 EVENT_FLAG_0F, Script_Mitch_AlreadyHaveMedal + fight_club_pupil_jump .first_interaction, .three_pupils_remaining, \ + .two_pupils_remaining, .one_pupil_remaining, .all_pupils_defeated .first_interaction - run_command ScriptCommand_PrintTextString - tx Text0477 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_11 - db $01 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_17 - db $01 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_20 - db $01 - run_command ScriptCommand_QuitScriptFully + print_text_string Text0477 + script_set_flag_value EVENT_FLAG_11, $01 + script_set_flag_value EVENT_FLAG_17, $01 + script_set_flag_value EVENT_FLAG_20, $01 + quit_script_fully +; 0xdde2 .three_pupils_remaining - run_command ScriptCommand_PrintTextQuitFully - tx Text0478 + print_text_quit_fully Text0478 +; 0xdde5 .two_pupils_remaining - run_command ScriptCommand_PrintTextQuitFully - tx Text0479 + print_text_quit_fully Text0479 +; 0xdde8 .one_pupil_remaining - run_command ScriptCommand_PrintTextQuitFully - tx Text047a + print_text_quit_fully Text047a +; 0xddeb .all_pupils_defeated - run_command ScriptCommand_PrintTextString - tx Text047b - run_command ScriptCommand_AskQuestionJump - tx Text047c - dw .do_battle - run_command ScriptCommand_PrintTextString - tx Text047d - run_command ScriptCommand_QuitScriptFully + print_text_string Text047b + ask_question_jump Text047c, .do_battle + print_text_string Text047d + quit_script_fully +; 0xddf7 .do_battle - run_command ScriptCommand_PrintTextString - tx Text047e - run_command ScriptCommand_StartBattle - db PRIZES_6 - db FIRST_STRIKE_DECK_ID - db MUSIC_DUEL_THEME_2 - run_command ScriptCommand_QuitScriptFully + print_text_string Text047e + start_battle PRIZES_6, FIRST_STRIKE_DECK_ID, MUSIC_DUEL_THEME_2 + quit_script_fully +; 0xddff Script_BeatMitch: ; ddff (3:5dff) start_script - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_0F - dw Script_Mitch_GiveBoosters - run_command ScriptCommand_PrintTextString - tx Text047f - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_0F - run_command ScriptCommand_TryGiveMedalPCPacks + jump_if_flag_nonzero_2 EVENT_FLAG_0F, Script_Mitch_GiveBoosters + print_text_string Text047f + max_out_flag_value EVENT_FLAG_0F + try_give_medal_pc_packs run_command Func_d125 db $0f run_command Func_d435 db $01 - run_command ScriptCommand_PrintTextString - tx Text0480 - run_command ScriptCommand_GiveBoosterPacks - db BOOSTER_LABORATORY_NEUTRAL - db BOOSTER_LABORATORY_NEUTRAL - db NO_BOOSTER - run_command ScriptCommand_PrintTextString - tx Text0481 - run_command ScriptCommand_QuitScriptFully + print_text_string Text0480 + give_booster_packs BOOSTER_LABORATORY_NEUTRAL, BOOSTER_LABORATORY_NEUTRAL, NO_BOOSTER + print_text_string Text0481 + quit_script_fully +; 0xde19 Script_LoseToMitch: ; de19 (3:5e19) start_script - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_0F - dw Script_Mitch_PrintTrainHarderText - run_command ScriptCommand_PrintTextQuitFully - tx Text0482 - -Script_Mitch_AlreadyHaveMedal: ; de21 (3:5e21) - run_command ScriptCommand_PrintTextString - tx Text0483 - run_command ScriptCommand_AskQuestionJump - tx Text047c - dw .do_battle - run_command ScriptCommand_PrintTextString - tx Text0484 - run_command ScriptCommand_QuitScriptFully + jump_if_flag_nonzero_2 EVENT_FLAG_0F, Script_Mitch_PrintTrainHarderText + print_text_quit_fully Text0482 +; 0xde21 + +Script_Mitch_AlreadyHaveMedal: ; 0xde21 + print_text_string Text0483 + ask_question_jump Text047c, .do_battle + print_text_string Text0484 + quit_script_fully +; 0xde2d .do_battle - run_command ScriptCommand_PrintTextString - tx Text0485 - run_command ScriptCommand_StartBattle - db PRIZES_6 - db FIRST_STRIKE_DECK_ID - db MUSIC_DUEL_THEME_2 - run_command ScriptCommand_QuitScriptFully - -Script_Mitch_GiveBoosters: ; de35 (3:5e35) - run_command ScriptCommand_PrintTextString - tx Text0486 - run_command ScriptCommand_GiveBoosterPacks - db BOOSTER_LABORATORY_NEUTRAL - db BOOSTER_LABORATORY_NEUTRAL - db NO_BOOSTER - run_command ScriptCommand_PrintTextString - tx Text0487 - run_command ScriptCommand_QuitScriptFully - -Script_Mitch_PrintTrainHarderText: ; de40 (3:5e40) - run_command ScriptCommand_PrintTextQuitFully - tx Text0488 + print_text_string Text0485 + start_battle PRIZES_6, FIRST_STRIKE_DECK_ID, MUSIC_DUEL_THEME_2 + quit_script_fully +; 0xde35 + +Script_Mitch_GiveBoosters: + print_text_string Text0486 + give_booster_packs BOOSTER_LABORATORY_NEUTRAL, BOOSTER_LABORATORY_NEUTRAL, NO_BOOSTER + print_text_string Text0487 + quit_script_fully +; 0xde40 + +Script_Mitch_PrintTrainHarderText: + print_text_quit_fully Text0488 ; 0xde43 INCROM $de43, $ded1 @@ -4219,6 +3876,7 @@ RockClubLobbyAfterDuel: ; ded5 (3:5ed5) ld hl, .after_duel_table call FindEndOfBattleScript ret +; 0xdedc .after_duel_table db NPC_CHRIS @@ -4262,10 +3920,12 @@ Script_Gene: ; e03e (3:603e) Script_Clerk3: ; e09e (3:609e) INCROM $e09e, $e0a2 + WaterClubLobbyAfterDuel: ; e0a2 (3:60a2) ld hl, .after_duel_table call FindEndOfBattleScript ret +; 0xe0a9 .after_duel_table db NPC_IMAKUNI @@ -4273,6 +3933,7 @@ WaterClubLobbyAfterDuel: ; e0a2 (3:60a2) dw Script_BeatImakuni dw Script_LostToImakuni db $00 +; 0xe0b0 Preload_ImakuniInWaterClubLobby: ; e0b0 (3:60b0) get_flag_value EVENT_IMAKUNI_STATE @@ -4294,95 +3955,53 @@ Preload_ImakuniInWaterClubLobby: ; e0b0 (3:60b0) Script_Gal1: ; e0cf (3:60cf) start_script - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_12 - db $02 - dw .ows_e10e - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_12 - db $00 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text041d - tx Text041e - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_12 - db $01 - run_command ScriptCommand_AskQuestionJump - tx Text041f - dw .ows_e0eb - run_command ScriptCommand_PrintTextString - tx Text0420 - run_command ScriptCommand_QuitScriptFully + jump_if_flag_equal EVENT_FLAG_12, $02, .ows_e10e + jump_if_flag_equal EVENT_FLAG_12, $00, NULL + print_variable_text Text041d, Text041e + script_set_flag_value EVENT_FLAG_12, $01 + ask_question_jump Text041f, .ows_e0eb + print_text_string Text0420 + quit_script_fully .ows_e0eb - run_command ScriptCommand_CheckIfCardInCollectionOrDecks - db $59 - dw .ows_e0f3 - run_command ScriptCommand_PrintTextString - tx Text0421 - run_command ScriptCommand_QuitScriptFully + jump_if_card_owned LAPRAS, .ows_e0f3 + print_text_string Text0421 + quit_script_fully .ows_e0f3 - run_command ScriptCommand_CheckIfCardInCollection - db $59 - dw .ows_e0fb - run_command ScriptCommand_PrintTextString - tx Text0422 - run_command ScriptCommand_QuitScriptFully + jump_if_card_in_collection LAPRAS, .ows_e0fb + print_text_string Text0422 + quit_script_fully .ows_e0fb - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_12 - db $02 - run_command ScriptCommand_PrintTextString - tx Text0423 + script_set_flag_value EVENT_FLAG_12, $02 + print_text_string Text0423 run_command Func_ccdc tx Text0424 - run_command ScriptCommand_TakeCard - db LAPRAS - run_command ScriptCommand_GiveCard - db ARCANINE1 - run_command ScriptCommand_ShowCardReceivedScreen - db ARCANINE1 - run_command ScriptCommand_PrintTextString - tx Text0425 - run_command ScriptCommand_QuitScriptFully + take_card LAPRAS + give_card ARCANINE1 + show_card_received_screen ARCANINE1 + print_text_string Text0425 + quit_script_fully .ows_e10e - run_command ScriptCommand_PrintTextQuitFully - tx Text0426 + print_text_quit_fully Text0426 Script_Lass1: ; e111 (3:6111) start_script - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_14 - db $01 - dw .ows_e121 - run_command ScriptCommand_PrintTextString - tx Text0427 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_14 - db $01 - run_command ScriptCommand_SetFlagValue - db EVENT_IMAKUNI_STATE - db IMAKUNI_MENTIONED - run_command ScriptCommand_QuitScriptFully + jump_if_flag_equal EVENT_FLAG_14, $01, .ows_e121 + print_text_string Text0427 + script_set_flag_value EVENT_FLAG_14, $01 + script_set_flag_value EVENT_IMAKUNI_STATE, IMAKUNI_MENTIONED + quit_script_fully .ows_e121 - run_command ScriptCommand_JumpIfFlagNotEqual - db EVENT_IMAKUNI_ROOM - db IMAKUNI_WATER_CLUB - dw .ows_e12d - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_TEMP_BATTLED_IMAKUNI - dw .ows_e12d - run_command ScriptCommand_PrintTextQuitFully - tx Text0428 + jump_if_flag_not_equal EVENT_IMAKUNI_ROOM, IMAKUNI_WATER_CLUB, .ows_e12d + jump_if_flag_nonzero_2 EVENT_TEMP_BATTLED_IMAKUNI, .ows_e12d + print_text_quit_fully Text0428 .ows_e12d - run_command ScriptCommand_PrintTextQuitFully - tx Text0429 + print_text_quit_fully Text0429 Preload_Man2InWaterClubLobby: ; e130 (3:6130) get_flag_value EVENT_JOSHUA_STATE @@ -4391,13 +4010,11 @@ Preload_Man2InWaterClubLobby: ; e130 (3:6130) Script_Man2: ; e137 (3:6137) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text042a + print_text_quit_fully Text042a Script_Pappy2: ; e13b (3:613b) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text042b + print_text_quit_fully Text042b WaterClubMovePlayer: ; e13f (3:613f) ld a, [wPlayerYCoord] @@ -4411,7 +4028,7 @@ WaterClubMovePlayer: ; e13f (3:613f) ld bc, Script_NotReadyToSeeAmy jp SetNextNPCAndScript -WaterClubAfterDuel: ; e157 (3:6157) +WaterClubAfterDuel: ;e157 (3:6157) ld hl, .after_duel_table call FindEndOfBattleScript ret @@ -4440,138 +4057,80 @@ WaterClubAfterDuel: ; e157 (3:6157) Script_Sara: ; e177 (3:6177) start_script - run_command ScriptCommand_PrintTextString - tx Text042c - run_command ScriptCommand_AskQuestionJump - tx Text042d - dw .yes_duel - run_command ScriptCommand_PrintTextString - tx Text042e - run_command ScriptCommand_QuitScriptFully + print_text_string Text042c + ask_question_jump Text042d, .yes_duel + print_text_string Text042e + quit_script_fully .yes_duel - run_command ScriptCommand_PrintTextString - tx Text042f - run_command ScriptCommand_StartBattle - db PRIZES_2 - db WATERFRONT_POKEMON_DECK_ID - db MUSIC_DUEL_THEME_1 - run_command ScriptCommand_QuitScriptFully + print_text_string Text042f + start_battle PRIZES_2, WATERFRONT_POKEMON_DECK_ID, MUSIC_DUEL_THEME_1 + quit_script_fully Script_BeatSara: ; e18c (3:618c) start_script - run_command ScriptCommand_MaxOutFlagValue - db EVENT_BEAT_SARA - run_command ScriptCommand_PrintTextString - tx Text0430 - run_command ScriptCommand_GiveBoosterPacks - db BOOSTER_COLOSSEUM_WATER - db BOOSTER_COLOSSEUM_WATER - db NO_BOOSTER - run_command ScriptCommand_PrintTextString - tx Text0431 - run_command ScriptCommand_QuitScriptFully + max_out_flag_value EVENT_BEAT_SARA + print_text_string Text0430 + give_booster_packs BOOSTER_COLOSSEUM_WATER, BOOSTER_COLOSSEUM_WATER, NO_BOOSTER + print_text_string Text0431 + quit_script_fully Script_LostToSara: ; e19a (03:619a) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text0432 + print_text_quit_fully Text0432 Script_Amanda: ; e19e (03:619e) start_script - run_command ScriptCommand_PrintTextString - tx Text0433 - run_command ScriptCommand_AskQuestionJump - tx Text0434 - dw .yes_duel - run_command ScriptCommand_PrintTextString - tx Text0435 - run_command ScriptCommand_QuitScriptFully + print_text_string Text0433 + ask_question_jump Text0434, .yes_duel + print_text_string Text0435 + quit_script_fully .yes_duel - run_command ScriptCommand_PrintTextString - tx Text0436 - run_command ScriptCommand_StartBattle - db PRIZES_3 - db LONELY_FRIENDS_DECK_ID - db MUSIC_DUEL_THEME_1 - run_command ScriptCommand_QuitScriptFully + print_text_string Text0436 + start_battle PRIZES_3, LONELY_FRIENDS_DECK_ID, MUSIC_DUEL_THEME_1 + quit_script_fully Script_BeatAmanda: ; e1b3 (03:61b3) start_script - run_command ScriptCommand_MaxOutFlagValue - db EVENT_BEAT_AMANDA - run_command ScriptCommand_PrintTextString - tx Text0437 - run_command ScriptCommand_GiveBoosterPacks - db BOOSTER_MYSTERY_LIGHTNING_COLORLESS - db BOOSTER_MYSTERY_LIGHTNING_COLORLESS - db NO_BOOSTER - run_command ScriptCommand_PrintTextString - tx Text0438 - run_command ScriptCommand_QuitScriptFully + max_out_flag_value EVENT_BEAT_AMANDA + print_text_string Text0437 + give_booster_packs BOOSTER_MYSTERY_LIGHTNING_COLORLESS, BOOSTER_MYSTERY_LIGHTNING_COLORLESS, NO_BOOSTER + print_text_string Text0438 + quit_script_fully Script_LostToAmanda: ; e1c1 (03:61c1) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text0439 + print_text_quit_fully Text0439 Script_NotReadyToSeeAmy: ; e1c5 (03:61c5) start_script - run_command ScriptCommand_JumpIfPlayerCoordMatches - db $12 - db $08 - dw .ows_e1ec - run_command ScriptCommand_JumpIfPlayerCoordMatches - db $14 - db $08 - dw .ows_e1f2 - run_command ScriptCommand_JumpIfPlayerCoordMatches - db $18 - db $08 - dw .ows_e1f8 + jump_if_player_coords_match $12, $08, .ows_e1ec + jump_if_player_coords_match $14, $08, .ows_e1f2 + jump_if_player_coords_match $18, $08, .ows_e1f8 .ows_e1d5 - run_command ScriptCommand_MovePlayer - db SOUTH - db $04 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e213 - run_command ScriptCommand_PrintTextString - tx Text043a - run_command ScriptCommand_JumpIfPlayerCoordMatches - db $12 - db $0a - dw .ows_e1fe - run_command ScriptCommand_JumpIfPlayerCoordMatches - db $14 - db $0a - dw .ows_e202 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e215 - run_command ScriptCommand_QuitScriptFully + move_player SOUTH, 4 + move_active_npc NPCMovement_e213 + print_text_string Text043a + jump_if_player_coords_match $12, $0a, .ows_e1fe + jump_if_player_coords_match $14, $0a, .ows_e202 + move_active_npc NPCMovement_e215 + quit_script_fully .ows_e1ec - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e206 - run_command ScriptCommand_Jump - dw .ows_e1d5 + move_active_npc NPCMovement_e206 + script_jump .ows_e1d5 .ows_e1f2 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e20b - run_command ScriptCommand_Jump - dw .ows_e1d5 + move_active_npc NPCMovement_e20b + script_jump .ows_e1d5 .ows_e1f8 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e20f - run_command ScriptCommand_Jump - dw .ows_e1d5 + move_active_npc NPCMovement_e20f + script_jump .ows_e1d5 .ows_e1fe - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e218 - run_command ScriptCommand_QuitScriptFully + move_active_npc NPCMovement_e218 + quit_script_fully .ows_e202 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e219 - run_command ScriptCommand_QuitScriptFully + move_active_npc NPCMovement_e219 + quit_script_fully NPCMovement_e206: ; e206 (3:6206) db NORTH @@ -4612,119 +4171,60 @@ NPCMovement_e219: ; e219 (3:6219) Script_Joshua: ; e21c (3:621c) start_script - run_command ScriptCommand_JumpIfFlagZero2 - db EVENT_BEAT_AMANDA - dw .sara_and_amanda_not_beaten - run_command ScriptCommand_JumpIfFlagZero2 - db EVENT_BEAT_SARA - dw .sara_and_amanda_not_beaten - run_command ScriptCommand_Jump - dw .beat_sara_and_amanda + jump_if_flag_zero_2 EVENT_BEAT_AMANDA, .sara_and_amanda_not_beaten + jump_if_flag_zero_2 EVENT_BEAT_SARA, .sara_and_amanda_not_beaten + script_jump .beat_sara_and_amanda .sara_and_amanda_not_beaten - run_command ScriptCommand_SetFlagValue - db EVENT_JOSHUA_STATE - db JOSHUA_TALKED - run_command ScriptCommand_PrintTextString - tx Text043b - run_command ScriptCommand_QuitScriptFully + script_set_flag_value EVENT_JOSHUA_STATE, JOSHUA_TALKED + print_text_string Text043b + quit_script_fully .beat_sara_and_amanda - run_command ScriptCommand_JumpIfFlagNonzero1 - db EVENT_JOSHUA_STATE - dw .already_talked - run_command ScriptCommand_SetFlagValue - db EVENT_JOSHUA_STATE - db JOSHUA_TALKED - run_command ScriptCommand_PrintTextString - tx Text043b - run_command ScriptCommand_PrintTextString - tx Text043c + jump_if_flag_nonzero_1 EVENT_JOSHUA_STATE, .already_talked + script_set_flag_value EVENT_JOSHUA_STATE, JOSHUA_TALKED + print_text_string Text043b + print_text_string Text043c .already_talked - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_JOSHUA_STATE - db JOSHUA_TALKED - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text043d - tx Text043e - run_command ScriptCommand_AskQuestionJump - tx Text043f - dw .startDuel - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_JOSHUA_STATE - db JOSHUA_TALKED - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0440 - tx Text0441 - run_command ScriptCommand_QuitScriptFully + jump_if_flag_equal EVENT_JOSHUA_STATE, JOSHUA_TALKED, NULL + print_variable_text Text043d, Text043e + ask_question_jump Text043f, .startDuel + jump_if_flag_equal EVENT_JOSHUA_STATE, JOSHUA_TALKED, NULL + print_variable_text Text0440, Text0441 + quit_script_fully .startDuel: - run_command ScriptCommand_PrintTextString - tx Text0442 - run_command ScriptCommand_TryGivePCPack - db $04 - run_command ScriptCommand_StartBattle - db PRIZES_4 - db SOUND_OF_THE_WAVES_DECK_ID - db MUSIC_DUEL_THEME_1 - run_command ScriptCommand_QuitScriptFully + print_text_string Text0442 + try_give_pc_pack $04 + start_battle PRIZES_4, SOUND_OF_THE_WAVES_DECK_ID, MUSIC_DUEL_THEME_1 + quit_script_fully Script_LostToJoshua: ; e260 (3:6260) start_script - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_JOSHUA_STATE - db JOSHUA_TALKED - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0443 - tx Text0444 - run_command ScriptCommand_QuitScriptFully + jump_if_flag_equal EVENT_JOSHUA_STATE, JOSHUA_TALKED, NULL + print_variable_text Text0443, Text0444 + quit_script_fully Script_BeatJoshua: ; e26c (3:626c) start_script - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_JOSHUA_STATE - db JOSHUA_TALKED - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0445 - tx Text0446 - run_command ScriptCommand_GiveBoosterPacks - db BOOSTER_MYSTERY_WATER_COLORLESS - db BOOSTER_MYSTERY_WATER_COLORLESS - db NO_BOOSTER - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_JOSHUA_STATE - db JOSHUA_TALKED - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0447 - tx Text0448 - run_command ScriptCommand_JumpIfFlagNotEqual - db EVENT_JOSHUA_STATE - db JOSHUA_BEATEN - dw .firstJoshuaWin - run_command ScriptCommand_QuitScriptFully + jump_if_flag_equal EVENT_JOSHUA_STATE, JOSHUA_TALKED, NULL + print_variable_text Text0445, Text0446 + give_booster_packs BOOSTER_MYSTERY_WATER_COLORLESS, BOOSTER_MYSTERY_WATER_COLORLESS, NO_BOOSTER + jump_if_flag_equal EVENT_JOSHUA_STATE, JOSHUA_TALKED, NULL + print_variable_text Text0447, Text0448 + jump_if_flag_not_equal EVENT_JOSHUA_STATE, JOSHUA_BEATEN, .firstJoshuaWin + quit_script_fully .firstJoshuaWin: - run_command ScriptCommand_SetFlagValue - db EVENT_JOSHUA_STATE - db JOSHUA_BEATEN - run_command ScriptCommand_PrintTextString - tx Text0449 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPCByDirection - dw NPCMovementTable_e2a1 - run_command ScriptCommand_PrintTextString - tx Text044a + script_set_flag_value EVENT_JOSHUA_STATE, JOSHUA_BEATEN + print_text_string Text0449 + close_text_box + move_active_npc_by_direction NPCMovementTable_e2a1 + print_text_string Text044a run_command Func_cfc6 db $00 - run_command ScriptCommand_CloseAdvancedTextBox - run_command ScriptCommand_SetNextNPCandScript - db NPC_AMY - dw Script_MeetAmy - run_command ScriptCommand_EndScriptLoop1 + close_advanced_text_box + set_next_npc_and_script NPC_AMY, Script_MeetAmy + end_script_loop ret NPCMovementTable_e2a1: ; e2a1 (3:62a1) @@ -4763,23 +4263,17 @@ Preload_Amy: ; e2ad (3:62ad) Script_MeetAmy: ; e2d1 (3:62d1) start_script - run_command ScriptCommand_PrintTextString - tx Text044b - run_command ScriptCommand_SetDialogName - db NPC_JOSHUA - run_command ScriptCommand_PrintTextString - tx Text044c - run_command ScriptCommand_SetDialogName - db NPC_AMY - run_command ScriptCommand_PrintTextString - tx Text044d - run_command ScriptCommand_CloseTextBox + print_text_string Text044b + set_dialog_npc NPC_JOSHUA + print_text_string Text044c + set_dialog_npc NPC_AMY + print_text_string Text044d + close_text_box run_command Func_d095 db $09 db $2f db $10 - run_command ScriptCommand_DoFrames - db $20 + do_frames $20 run_command Func_d095 db $04 db $0e @@ -4787,97 +4281,64 @@ Script_MeetAmy: ; e2d1 (3:62d1) run_command Func_d0be db $14 db $04 - run_command ScriptCommand_SetPlayerDirection - db $03 - run_command ScriptCommand_MovePlayer - db WEST - db $01 - run_command ScriptCommand_SetPlayerDirection - db $00 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_MoveArbitraryNPC - db NPC_JOSHUA - dw NPCMovement_e2ab - run_command ScriptCommand_PrintTextString - tx Text044e - run_command ScriptCommand_Jump - dw Script_Amy.askConfirmDuel + set_player_direction WEST + move_player WEST, 1 + set_player_direction NORTH + move_player NORTH, 1 + move_player NORTH, 1 + move_arbitrary_npc NPC_JOSHUA, NPCMovement_e2ab + print_text_string Text044e + script_jump Script_Amy.askConfirmDuel Script_Amy: ; e304 (3:6304) start_script - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_BEAT_AMY - dw ScriptJump_TalkToAmyAgain - run_command ScriptCommand_PrintTextString - tx Text044f + jump_if_flag_nonzero_2 EVENT_BEAT_AMY, ScriptJump_TalkToAmyAgain + print_text_string Text044f .askConfirmDuel - run_command ScriptCommand_AskQuestionJump - tx Text0450 - dw .startDuel + ask_question_jump Text0450, .startDuel .denyDuel - run_command ScriptCommand_PrintTextString - tx Text0451 + print_text_string Text0451 run_command Func_d0d9 db $14 db $04 dw Script_LostToAmy.ows_e34e - run_command ScriptCommand_QuitScriptFully + quit_script_fully .startDuel - run_command ScriptCommand_PrintTextString - tx Text0452 - run_command ScriptCommand_StartBattle - db PRIZES_6 - db GO_GO_RAIN_DANCE_DECK_ID - db MUSIC_DUEL_THEME_2 - run_command ScriptCommand_QuitScriptFully + print_text_string Text0452 + start_battle PRIZES_6, GO_GO_RAIN_DANCE_DECK_ID, MUSIC_DUEL_THEME_2 + quit_script_fully Script_BeatAmy: ; e322 (3:6322) start_script - run_command ScriptCommand_PrintTextString - tx Text0453 - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_BEAT_AMY - dw .beatAmyCommon - run_command ScriptCommand_PrintTextString - tx Text0454 - run_command ScriptCommand_MaxOutFlagValue - db EVENT_BEAT_AMY - run_command ScriptCommand_TryGiveMedalPCPacks + print_text_string Text0453 + jump_if_flag_nonzero_2 EVENT_BEAT_AMY, .beatAmyCommon + print_text_string Text0454 + max_out_flag_value EVENT_BEAT_AMY + try_give_medal_pc_packs run_command Func_d125 db EVENT_BEAT_AMY run_command Func_d435 db $03 - run_command ScriptCommand_PrintTextString - tx Text0455 + print_text_string Text0455 .beatAmyCommon - run_command ScriptCommand_GiveBoosterPacks - db BOOSTER_LABORATORY_WATER - db BOOSTER_LABORATORY_WATER - db NO_BOOSTER - run_command ScriptCommand_PrintTextString - tx Text0456 + give_booster_packs BOOSTER_LABORATORY_WATER, BOOSTER_LABORATORY_WATER, NO_BOOSTER + print_text_string Text0456 run_command Func_d0d9 db $14 db $04 dw Script_LostToAmy.ows_e34e - run_command ScriptCommand_QuitScriptFully + quit_script_fully Script_LostToAmy: ; e344 (3:6344) start_script - run_command ScriptCommand_PrintTextString - tx Text0457 + print_text_string Text0457 run_command Func_d0d9 db $14 db $04 dw .ows_e34e - run_command ScriptCommand_QuitScriptFully + quit_script_fully .ows_e34e run_command Func_d095 @@ -4887,25 +4348,18 @@ Script_LostToAmy: ; e344 (3:6344) run_command Func_d0be db $16 db $04 - run_command ScriptCommand_QuitScriptFully + quit_script_fully ScriptJump_TalkToAmyAgain: ; e356 (3:6356) - run_command ScriptCommand_PrintTextString - tx Text0458 - run_command ScriptCommand_AskQuestionJump - tx Text0450 - dw .startDuel - run_command ScriptCommand_Jump - dw Script_Amy.denyDuel + print_text_string Text0458 + ask_question_jump Text0450, .startDuel + script_jump Script_Amy.denyDuel .startDuel - run_command ScriptCommand_PrintTextString - tx Text0459 - run_command ScriptCommand_StartBattle - db PRIZES_6 - db GO_GO_RAIN_DANCE_DECK_ID - db MUSIC_DUEL_THEME_2 - run_command ScriptCommand_QuitScriptFully + print_text_string Text0459 + start_battle PRIZES_6, GO_GO_RAIN_DANCE_DECK_ID, MUSIC_DUEL_THEME_2 + quit_script_fully +; 0xe369 Script_Clerk4: ; e369 (3:6369) INCROM $e369, $e36d @@ -4914,6 +4368,7 @@ LightningClubLobbyAfterDuel: ; e36d (3:636d) ld hl, .after_duel_table call FindEndOfBattleScript ret +; 0xe374 .after_duel_table db NPC_IMAKUNI @@ -5018,240 +4473,123 @@ GrassClubLobbyAfterDuel: ; e5c4 (3:65c4) Script_Brittany: ; e5d2 (3:65d2) start_script - run_command ScriptCommand_JumpIfFlagLessThan - db EVENT_FLAG_35 - db $01 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text06e0 - tx Text06e1 - run_command ScriptCommand_AskQuestionJump - tx Text06e2 - dw .wantToDuel - run_command ScriptCommand_PrintTextString - tx Text06e3 - run_command ScriptCommand_QuitScriptFully + jump_if_flag_less_than EVENT_FLAG_35, $01, NULL + print_variable_text Text06e0, Text06e1 + ask_question_jump Text06e2, .wantToDuel + print_text_string Text06e3 + quit_script_fully .wantToDuel - run_command ScriptCommand_PrintTextString - tx Text06e4 - run_command ScriptCommand_StartBattle - db PRIZES_4 - db ETCETERA_DECK_ID - db MUSIC_DUEL_THEME_1 - run_command ScriptCommand_QuitScriptFully + print_text_string Text06e4 + start_battle PRIZES_4, ETCETERA_DECK_ID, MUSIC_DUEL_THEME_1 + quit_script_fully Script_BeatBrittany: ; e5ee (3:65ee) start_script - run_command ScriptCommand_PrintTextString - tx Text06e5 - run_command ScriptCommand_GiveBoosterPacks - db BOOSTER_MYSTERY_GRASS_COLORLESS - db BOOSTER_MYSTERY_GRASS_COLORLESS - db NO_BOOSTER - run_command ScriptCommand_JumpIfFlagLessThan - db EVENT_FLAG_35 - db $02 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text06e6 - tx Text06e7 - run_command ScriptCommand_MaxOutFlagValue - db FLAG_BEAT_BRITTANY - run_command ScriptCommand_JumpIfFlagNotLessThan - db EVENT_FLAG_35 - db $02 - dw .finishScript - run_command ScriptCommand_JumpIfFlagZero2 - db EVENT_FLAG_3A - dw .finishScript - run_command ScriptCommand_JumpIfFlagZero2 - db EVENT_FLAG_3B - dw .finishScript - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_35 - db $01 - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_1E - run_command ScriptCommand_PrintTextString - tx Text06e8 + print_text_string Text06e5 + give_booster_packs BOOSTER_MYSTERY_GRASS_COLORLESS, BOOSTER_MYSTERY_GRASS_COLORLESS, NO_BOOSTER + jump_if_flag_less_than EVENT_FLAG_35, $02, NULL + print_variable_text Text06e6, Text06e7 + max_out_flag_value FLAG_BEAT_BRITTANY + jump_if_flag_not_less_than EVENT_FLAG_35, $02, .finishScript + jump_if_flag_zero_2 EVENT_FLAG_3A, .finishScript + jump_if_flag_zero_2 EVENT_FLAG_3B, .finishScript + script_set_flag_value EVENT_FLAG_35, $01 + max_out_flag_value EVENT_FLAG_1E + print_text_string Text06e8 .finishScript - run_command ScriptCommand_QuitScriptFully + quit_script_fully Script_LostToBrittany: ; e618 (3:6618) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text06e9 + print_text_quit_fully Text06e9 Script_e61c: ; e61c (3:661c) - run_command ScriptCommand_PrintTextQuitFully - tx Text06ea + print_text_quit_fully Text06ea Script_Lass2: ; e61f (3:661f) start_script - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_04 - dw Script_e61c - run_command ScriptCommand_JumpIfFlagNotLessThan - db EVENT_FLAG_37 - db $06 - dw Script_e61c - run_command ScriptCommand_JumpIfFlagNotLessThan - db EVENT_FLAG_37 - db $04 - dw .ows_e6a1 - run_command ScriptCommand_JumpIfFlagNotLessThan - db EVENT_FLAG_37 - db $02 - dw .ows_e66a - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_37 - db $00 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text06eb - tx Text06ec - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_37 - db $01 - run_command ScriptCommand_AskQuestionJump - tx Text06ed - dw .ows_e648 - run_command ScriptCommand_PrintTextQuitFully - tx Text06ee + jump_if_flag_nonzero_2 EVENT_FLAG_04, Script_e61c + jump_if_flag_not_less_than EVENT_FLAG_37, $06, Script_e61c + jump_if_flag_not_less_than EVENT_FLAG_37, $04, .ows_e6a1 + jump_if_flag_not_less_than EVENT_FLAG_37, $02, .ows_e66a + jump_if_flag_equal EVENT_FLAG_37, $00, NULL + print_variable_text Text06eb, Text06ec + script_set_flag_value EVENT_FLAG_37, $01 + ask_question_jump Text06ed, .ows_e648 + print_text_quit_fully Text06ee .ows_e648 - run_command ScriptCommand_CheckIfCardInCollectionOrDecks - db $1c - dw .ows_e64f - run_command ScriptCommand_PrintTextQuitFully - tx Text06ef + jump_if_card_owned $1c, .ows_e64f + print_text_quit_fully Text06ef .ows_e64f - run_command ScriptCommand_CheckIfCardInCollection - db $1c - dw .ows_e656 - run_command ScriptCommand_PrintTextQuitFully - tx Text06f0 + jump_if_card_in_collection $1c, .ows_e656 + print_text_quit_fully Text06f0 .ows_e656 - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_04 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_37 - db $02 - run_command ScriptCommand_PrintTextString - tx Text06f1 + max_out_flag_value EVENT_FLAG_04 + script_set_flag_value EVENT_FLAG_37, $02 + print_text_string Text06f1 run_command Func_ccdc tx Text06f2 - run_command ScriptCommand_TakeCard - db ODDISH - run_command ScriptCommand_GiveCard - db VILEPLUME - run_command ScriptCommand_ShowCardReceivedScreen - db VILEPLUME - run_command ScriptCommand_PrintTextQuitFully - tx Text06f3 + take_card ODDISH + give_card VILEPLUME + show_card_received_screen VILEPLUME + print_text_quit_fully Text06f3 .ows_e66a - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_37 - db $02 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text06f4 - tx Text06f5 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_37 - db $03 - run_command ScriptCommand_AskQuestionJump - tx Text06ed - dw .ows_e67f - run_command ScriptCommand_PrintTextQuitFully - tx Text06f6 + jump_if_flag_equal EVENT_FLAG_37, $02, NULL + print_variable_text Text06f4, Text06f5 + script_set_flag_value EVENT_FLAG_37, $03 + ask_question_jump Text06ed, .ows_e67f + print_text_quit_fully Text06f6 .ows_e67f - run_command ScriptCommand_CheckIfCardInCollectionOrDecks - db $ab - dw .ows_e686 - run_command ScriptCommand_PrintTextQuitFully - tx Text06f7 + jump_if_card_owned $ab, .ows_e686 + print_text_quit_fully Text06f7 .ows_e686 - run_command ScriptCommand_CheckIfCardInCollection - db $ab - dw .ows_e68d - run_command ScriptCommand_PrintTextQuitFully - tx Text06f8 + jump_if_card_in_collection $ab, .ows_e68d + print_text_quit_fully Text06f8 .ows_e68d - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_04 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_37 - db $04 - run_command ScriptCommand_PrintTextString - tx Text06f9 + max_out_flag_value EVENT_FLAG_04 + script_set_flag_value EVENT_FLAG_37, $04 + print_text_string Text06f9 run_command Func_ccdc tx Text06fa - run_command ScriptCommand_TakeCard - db CLEFAIRY - run_command ScriptCommand_GiveCard - db PIKACHU3 - run_command ScriptCommand_ShowCardReceivedScreen - db PIKACHU3 - run_command ScriptCommand_PrintTextQuitFully - tx Text06f3 + take_card CLEFAIRY + give_card PIKACHU3 + show_card_received_screen PIKACHU3 + print_text_quit_fully Text06f3 .ows_e6a1 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_37 - db $04 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text06fb - tx Text06fc - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_37 - db $05 - run_command ScriptCommand_AskQuestionJump - tx Text06ed - dw .ows_e6b6 - run_command ScriptCommand_PrintTextQuitFully - tx Text06fd + jump_if_flag_equal EVENT_FLAG_37, $04, NULL + print_variable_text Text06fb, Text06fc + script_set_flag_value EVENT_FLAG_37, $05 + ask_question_jump Text06ed, .ows_e6b6 + print_text_quit_fully Text06fd .ows_e6b6 - run_command ScriptCommand_CheckIfCardInCollectionOrDecks - db $32 - dw .ows_e6bd - run_command ScriptCommand_PrintTextQuitFully - tx Text06fe + jump_if_card_owned CHARIZARD, .ows_e6bd + print_text_quit_fully Text06fe .ows_e6bd - run_command ScriptCommand_CheckIfCardInCollection - db $32 - dw .ows_e6c4 - run_command ScriptCommand_PrintTextQuitFully - tx Text06ff + jump_if_card_in_collection CHARIZARD, .ows_e6c4 + print_text_quit_fully Text06ff .ows_e6c4 - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_04 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_37 - db $06 - run_command ScriptCommand_PrintTextString - tx Text0700 + max_out_flag_value EVENT_FLAG_04 + script_set_flag_value EVENT_FLAG_37, $06 + print_text_string Text0700 run_command Func_ccdc tx Text0701 - run_command ScriptCommand_TakeCard - db CHARIZARD - run_command ScriptCommand_GiveCard - db BLASTOISE - run_command ScriptCommand_ShowCardReceivedScreen - db BLASTOISE - run_command ScriptCommand_PrintTextQuitFully - tx Text06f3 + take_card CHARIZARD + give_card BLASTOISE + show_card_received_screen BLASTOISE + print_text_quit_fully Text06f3 +; 0xe6d8 Script_Granny2: ; e6d8 (3:66d8) INCROM $e6d8, $e6e3 @@ -5321,6 +4659,7 @@ TrySecondRonaldFight: ; e837 (3:6837) ret nz ld bc, ScriptSecondRonaldFight jp SetNextNPCAndScript +; 0xe84c Script_Clerk6: ; e84c (3:684c) INCROM $e84c, $e850 @@ -5330,48 +4669,30 @@ Script_Lad3: ; e850 (3:6850) Script_FirstRonaldEncounter: ; e862 (3:6862) start_script - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_4B - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e894 + max_out_flag_value EVENT_FLAG_4B + move_active_npc NPCMovement_e894 run_command Func_d135 db $00 - run_command ScriptCommand_PrintTextString - tx Text0645 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_PrintTextString - tx Text0646 - run_command ScriptCommand_AskQuestionJumpDefaultYes - dw 0000 - dw .ows_e882 - run_command ScriptCommand_PrintTextString - tx Text0647 - run_command ScriptCommand_Jump - dw .ows_e885 + print_text_string Text0645 + close_text_box + move_player NORTH, 1 + move_player NORTH, 1 + print_text_string Text0646 + ask_question_jump_default_yes NULL, .ows_e882 + print_text_string Text0647 + script_jump .ows_e885 .ows_e882 - run_command ScriptCommand_PrintTextString - tx Text0648 + print_text_string Text0648 .ows_e885 - run_command ScriptCommand_PrintTextString - tx Text0649 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_SetPlayerDirection - db $03 - run_command ScriptCommand_MovePlayer - db EAST - db $04 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e894 + print_text_string Text0649 + close_text_box + set_player_direction WEST + move_player EAST, 4 + move_active_npc NPCMovement_e894 run_command Func_cdcb run_command Func_d41d - run_command ScriptCommand_QuitScriptFully + quit_script_fully NPCMovement_e894: ; e894 (3:6894) db SOUTH @@ -5386,70 +4707,40 @@ NPCMovement_e894: ; e894 (3:6894) Script_FirstRonaldFight: ; e8c0 (3:68c0) start_script - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e905 - run_command ScriptCommand_DoFrames - db $3c - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e90d - run_command ScriptCommand_PrintTextString - tx Text064a - run_command ScriptCommand_JumpIfPlayerCoordMatches - db $08 - db $02 - dw $68d6 - run_command ScriptCommand_SetPlayerDirection - db WEST - run_command ScriptCommand_MovePlayer - db WEST - db $01 - run_command ScriptCommand_SetPlayerDirection - db SOUTH - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_PrintTextString - tx Text064b - run_command ScriptCommand_SetFlagValue - db $4c - db $01 - run_command ScriptCommand_StartBattle - db PRIZES_6 - db IM_RONALD_DECK_ID - db MUSIC_RONALD - run_command ScriptCommand_QuitScriptFully + move_active_npc NPCMovement_e905 + do_frames $3c + move_active_npc NPCMovement_e90d + print_text_string Text064a + jump_if_player_coords_match $08, $02, $68d6 + set_player_direction WEST + move_player WEST, 1 + set_player_direction SOUTH + move_player SOUTH, 1 + move_player SOUTH, 1 + print_text_string Text064b + script_set_flag_value $4c, $01 + start_battle PRIZES_6, IM_RONALD_DECK_ID, MUSIC_RONALD + quit_script_fully Script_BeatFirstRonaldFight: ; e8e9 (3:68e9) start_script - run_command ScriptCommand_PrintTextString - tx Text064c - run_command ScriptCommand_GiveCard - db JIGGLYPUFF1 - run_command ScriptCommand_ShowCardReceivedScreen - db JIGGLYPUFF1 - run_command ScriptCommand_PrintTextString - tx Text064d - run_command ScriptCommand_Jump - dw ScriptJump_FinishedFirstRonaldFight + print_text_string Text064c + give_card JIGGLYPUFF1 + show_card_received_screen JIGGLYPUFF1 + print_text_string Text064d + script_jump ScriptJump_FinishedFirstRonaldFight Script_LostToFirstRonaldFight: ; e8f7 (3:68f7) start_script - run_command ScriptCommand_PrintTextString - tx Text064e - -ScriptJump_FinishedFirstRonaldFight: ; e8fb (3:68fb) - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_4C - db $02 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e90f + print_text_string Text064e + +ScriptJump_FinishedFirstRonaldFight: + script_set_flag_value EVENT_FLAG_4C, $02 + close_text_box + move_active_npc NPCMovement_e90f run_command Func_cdcb run_command Func_d41d - run_command ScriptCommand_QuitScriptFully + quit_script_fully NPCMovement_e905: ; e905 (3:6905) db EAST @@ -5478,78 +4769,52 @@ NPCMovement_e90f: ; e90f (3:690f) ScriptSecondRonaldFight: ; e91e (3:691e) start_script - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e905 - run_command ScriptCommand_DoFrames - db 60 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e90d - run_command ScriptCommand_PrintTextString - tx Text064f - run_command ScriptCommand_JumpIfPlayerCoordMatches - db $08 - db $02 - dw .ows_6934 - run_command ScriptCommand_SetPlayerDirection - db WEST - run_command ScriptCommand_MovePlayer - db WEST - db $01 + move_active_npc NPCMovement_e905 + do_frames 60 + move_active_npc NPCMovement_e90d + print_text_string Text064f + jump_if_player_coords_match $08, $02, .ows_6934 + set_player_direction WEST + move_player WEST, 1 .ows_6934 - run_command ScriptCommand_SetPlayerDirection - db SOUTH - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_PrintTextString - tx Text0650 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_4D - db $01 - run_command ScriptCommand_StartBattle - db PRIZES_6 - db POWERFUL_RONALD_DECK_ID - db MUSIC_RONALD - run_command ScriptCommand_QuitScriptFully + set_player_direction SOUTH + move_player SOUTH, 1 + move_player SOUTH, 1 + print_text_string Text0650 + script_set_flag_value EVENT_FLAG_4D, $01 + start_battle PRIZES_6, POWERFUL_RONALD_DECK_ID, MUSIC_RONALD + quit_script_fully Script_BeatSecondRonaldFight: ; e947 (3:6947) start_script - run_command ScriptCommand_PrintTextString - tx Text0651 - run_command ScriptCommand_GiveCard - db SUPER_ENERGY_RETRIEVAL - run_command ScriptCommand_ShowCardReceivedScreen - db SUPER_ENERGY_RETRIEVAL - run_command ScriptCommand_PrintTextString - tx Text0652 - run_command ScriptCommand_Jump - dw ScriptJump_FinishedSecondRonaldFight + print_text_string Text0651 + give_card SUPER_ENERGY_RETRIEVAL + show_card_received_screen SUPER_ENERGY_RETRIEVAL + print_text_string Text0652 + script_jump ScriptJump_FinishedSecondRonaldFight Script_LostToSecondRonaldFight: ; e955 (3:6955) start_script - run_command ScriptCommand_PrintTextString - tx Text0653 + print_text_string Text0653 ScriptJump_FinishedSecondRonaldFight: ; e959 (3:6959) - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_4D - db $02 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_e90f + script_set_flag_value EVENT_FLAG_4D, $02 + close_text_box + move_active_npc NPCMovement_e90f run_command Func_cdcb run_command Func_d41d - run_command ScriptCommand_QuitScriptFully + quit_script_fully +; 0xe963 + PsychicClubLobbyAfterDuel: ; e963 (3:6963) ld hl, .after_duel_table call FindEndOfBattleScript ret +; 0xe96a .after_duel_table + db NPC_ROBERT db NPC_ROBERT dw $6995 @@ -5585,10 +4850,12 @@ Script_Murray1: ; eadf (3:6adf) Script_Clerk7: ; eb53 (3:6b53) INCROM $eb53, $eb57 -ScienceClubLobbyAfterDuel: ; eb57 (3:6b57) + +ScienceClubLobbyAfterDuel:; eb57 (3:6b57) ld hl, .after_duel_table call FindEndOfBattleScript ret +; 0xeb5e .after_duel_table db NPC_IMAKUNI @@ -5631,6 +4898,7 @@ FireClubLobbyAfterDuel: ; ed49 (3:6d49) ld hl, .after_duel_table call FindEndOfBattleScript ret +; 0xed50 .after_duel_table db NPC_JESSICA @@ -5639,6 +4907,8 @@ FireClubLobbyAfterDuel: ; ed49 (3:6d49) dw $6dce db $00 +; 0xed57 + FireClubPressedA: ; ed57 (3:6d57) ld hl, SlowpokePaintingObjectTable call FindExtraInteractableObjects @@ -5698,28 +4968,23 @@ Script_Lad2: ; ee2c (3:6e2c) Script_ee76: ; ee76 (3:6e76) start_script - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_21 - db $01 - dw .ows_ee7d - run_command ScriptCommand_QuitScriptFully + jump_if_flag_equal EVENT_FLAG_21, $01, .ows_ee7d + quit_script_fully .ows_ee7d - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_21 - db $02 + script_set_flag_value EVENT_FLAG_21, $02 run_command Func_ccdc tx Text06a2 - run_command ScriptCommand_GiveCard - db SLOWPOKE1 - run_command ScriptCommand_ShowCardReceivedScreen - db SLOWPOKE1 - run_command ScriptCommand_QuitScriptFully + give_card SLOWPOKE1 + show_card_received_screen SLOWPOKE1 + quit_script_fully +; 0xee88 Script_Mania: ; ee88 (3:6e88) INCROM $ee88, $ee93 -FireClubAfterDuel: ; ee93 (3:6e93) + +FireClubAfterDuel: ;ee93 (3:6e93) ld hl, .after_duel_table call FindEndOfBattleScript ret @@ -5746,6 +5011,7 @@ FireClubAfterDuel: ; ee93 (3:6e93) dw Script_LoseToKen db $00 +; 0xeeb3 Script_John: ; eeb3 (3:6eb3) INCROM $eeb3, $eed8 @@ -5758,105 +5024,63 @@ Script_Jonathan: ; eefd (3:6efd) Script_Ken: ; ef22 (3:6f22) start_script - run_command ScriptCommand_TryGivePCPack - db $09 - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_23 - dw .have_300_cards - run_command ScriptCommand_CheckRawAmountOfCardsOwned - dw 300 - dw .have_300_cards - run_command ScriptCommand_JumpIfFlagZero1 - db EVENT_FLAG_24 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text06ba - tx Text06bb - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_24 - db $01 - run_command ScriptCommand_QuitScriptFully + try_give_pc_pack $09 + jump_if_flag_nonzero_2 EVENT_FLAG_23, .have_300_cards + jump_if_enough_cards_owned 300, .have_300_cards + jump_if_flag_zero_1 EVENT_FLAG_24, NULL + print_variable_text Text06ba, Text06bb + script_set_flag_value EVENT_FLAG_24, $01 + quit_script_fully .have_300_cards - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_23 - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_0A - dw Script_KenBattle_AlreadyHaveMedal - run_command ScriptCommand_JumpIfFlagZero1 - db EVENT_FLAG_24 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text06bc - tx Text06bd - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_24 - db $01 - run_command ScriptCommand_AskQuestionJump - tx Text06be - dw .do_battle - run_command ScriptCommand_PrintTextString - tx Text06bf - run_command ScriptCommand_QuitScriptFully + max_out_flag_value EVENT_FLAG_23 + jump_if_flag_nonzero_2 EVENT_FLAG_0A, Script_KenBattle_AlreadyHaveMedal + jump_if_flag_zero_1 EVENT_FLAG_24, NULL + print_variable_text Text06bc, Text06bd + script_set_flag_value EVENT_FLAG_24, $01 + ask_question_jump Text06be, .do_battle + print_text_string Text06bf + quit_script_fully .do_battle - run_command ScriptCommand_PrintTextString - tx Text06c0 - run_command ScriptCommand_StartBattle - db PRIZES_6 - db FIRE_CHARGE_DECK_ID - db MUSIC_DUEL_THEME_2 - run_command ScriptCommand_QuitScriptFully + print_text_string Text06c0 + start_battle PRIZES_6, FIRE_CHARGE_DECK_ID, MUSIC_DUEL_THEME_2 + quit_script_fully +; 0xef5e Script_BeatKen: ; ef5e (3:6f5e) start_script - run_command ScriptCommand_PrintTextString - tx Text06c1 - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_0A - dw .give_booster_packs - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_0A - run_command ScriptCommand_TryGiveMedalPCPacks + print_text_string Text06c1 + jump_if_flag_nonzero_2 EVENT_FLAG_0A, .give_booster_packs + max_out_flag_value EVENT_FLAG_0A + try_give_medal_pc_packs run_command Func_d125 db $0a run_command Func_d435 db $08 - run_command ScriptCommand_PrintTextString - tx Text06c2 + print_text_string Text06c2 .give_booster_packs - run_command ScriptCommand_GiveBoosterPacks - db BOOSTER_MYSTERY_NEUTRAL - db BOOSTER_MYSTERY_NEUTRAL - db NO_BOOSTER - run_command ScriptCommand_PrintTextString - tx Text06c3 - run_command ScriptCommand_QuitScriptFully + give_booster_packs BOOSTER_MYSTERY_NEUTRAL, BOOSTER_MYSTERY_NEUTRAL, NO_BOOSTER + print_text_string Text06c3 + quit_script_fully +; 0xef78 + + Script_LoseToKen: ; ef78 (3:6f78) start_script - run_command ScriptCommand_JumpIfFlagZero2 - db EVENT_FLAG_0A - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text06c4 - tx Text06c5 - run_command ScriptCommand_QuitScriptFully + jump_if_flag_zero_2 EVENT_FLAG_0A, NULL + print_variable_text Text06c4, Text06c5 + quit_script_fully +; 0xef83 Script_KenBattle_AlreadyHaveMedal: ; ef83 (3:6f83) - run_command ScriptCommand_PrintTextString - tx Text06c6 - run_command ScriptCommand_AskQuestionJump - tx Text06be - dw .do_battle - run_command ScriptCommand_PrintTextQuitFully - tx Text06bf + print_text_string Text06c6 + ask_question_jump Text06be, .do_battle + print_text_quit_fully Text06bf .do_battle - run_command ScriptCommand_PrintTextString - tx Text06c7 - run_command ScriptCommand_StartBattle - db PRIZES_6 - db FIRE_CHARGE_DECK_ID - db MUSIC_DUEL_THEME_2 - run_command ScriptCommand_QuitScriptFully + print_text_string Text06c7 + start_battle PRIZES_6, FIRE_CHARGE_DECK_ID, MUSIC_DUEL_THEME_2 + quit_script_fully +; 0xef96 Preload_Clerk9: ; ef96 (3:6f96) call TryGiveMedalPCPacks @@ -5937,76 +5161,33 @@ Preload_Clerk9: ; ef96 (3:6f96) Script_Clerk9: ; f025 (3:7025) start_script - run_command ScriptCommand_JumpIfFlagZero1 - db EVENT_FLAG_3F - dw .ows_f066 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_41 - db $07 - dw .ows_f069 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_41 - db $03 - dw .ows_f06f - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_41 - db $02 - dw .ows_f072 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_41 - db $01 - dw .ows_f06c - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_40 - db $07 - dw .ows_f069 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_40 - db $03 - dw .ows_f06f - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_40 - db $02 - dw .ows_f072 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_40 - db $01 - dw .ows_f06c - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_3F - db $07 - dw .ows_f069 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_3F - db $03 - dw .ows_f06f - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_3F - db $02 - dw .ows_f072 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_3F - db $01 - dw .ows_f06c + jump_if_flag_zero_1 EVENT_FLAG_3F, .ows_f066 + jump_if_flag_equal EVENT_FLAG_41, $07, .ows_f069 + jump_if_flag_equal EVENT_FLAG_41, $03, .ows_f06f + jump_if_flag_equal EVENT_FLAG_41, $02, .ows_f072 + jump_if_flag_equal EVENT_FLAG_41, $01, .ows_f06c + jump_if_flag_equal EVENT_FLAG_40, $07, .ows_f069 + jump_if_flag_equal EVENT_FLAG_40, $03, .ows_f06f + jump_if_flag_equal EVENT_FLAG_40, $02, .ows_f072 + jump_if_flag_equal EVENT_FLAG_40, $01, .ows_f06c + jump_if_flag_equal EVENT_FLAG_3F, $07, .ows_f069 + jump_if_flag_equal EVENT_FLAG_3F, $03, .ows_f06f + jump_if_flag_equal EVENT_FLAG_3F, $02, .ows_f072 + jump_if_flag_equal EVENT_FLAG_3F, $01, .ows_f06c .ows_f066 - run_command ScriptCommand_PrintTextQuitFully - tx Text050a + print_text_quit_fully Text050a .ows_f069 - run_command ScriptCommand_PrintTextQuitFully - tx Text050b + print_text_quit_fully Text050b .ows_f06c - run_command ScriptCommand_PrintTextQuitFully - tx Text050c + print_text_quit_fully Text050c .ows_f06f - run_command ScriptCommand_PrintTextQuitFully - tx Text050d + print_text_quit_fully Text050d .ows_f072 - run_command ScriptCommand_PrintTextQuitFully - tx Text050e + print_text_quit_fully Text050e Preload_ChallengeHallNPCs2: ; f075 (3:7075) call Preload_ChallengeHallNPCs1 @@ -6035,33 +5216,27 @@ ChallengeHallLobbyLoadMap: ; f088 (3:7088) Script_Pappy3: ; f09c (3:709c) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text050f + print_text_quit_fully Text050f Script_Gal4: ; f0a0 (3:70a0) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text0510 + print_text_quit_fully Text0510 Script_Champ: ; f0a4 (3:70a4) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text0511 + print_text_quit_fully Text0511 Script_Hood2: ; f0a8 (3:70a8) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text0512 + print_text_quit_fully Text0512 Script_Lass5: ; f0ac (3:70ac) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text0513 + print_text_quit_fully Text0513 Script_Chap5: ; f0b0 (3:70b0) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text0514 + print_text_quit_fully Text0514 Preload_ChallengeHallLobbyRonald1: ; f0b4 (3:70b4) zero_flag_value2 EVENT_FLAG_58 @@ -6179,8 +5354,7 @@ ChallengeHallLoadMap: ; f258 (3:7258) Script_Clerk13: ; f26c (3:726c) start_script - run_command ScriptCommand_PrintTextQuitFully - tx Text0525 + print_text_quit_fully Text0525 Preload_Guide: ; f270 (3:7270) get_flag_value EVENT_FLAG_42 @@ -6196,193 +5370,95 @@ Preload_Guide: ; f270 (3:7270) Script_Guide: ; f283 (3:7283) start_script - run_command ScriptCommand_JumpIfFlagZero2 - db EVENT_FLAG_42 - dw .ows_f28b - run_command ScriptCommand_PrintTextQuitFully - tx Text0526 + jump_if_flag_zero_2 EVENT_FLAG_42, .ows_f28b + print_text_quit_fully Text0526 .ows_f28b - run_command ScriptCommand_JumpIfFlagZero1 - db $3f - dw .ows_f292 - run_command ScriptCommand_PrintTextQuitFully - tx Text0527 + jump_if_flag_zero_1 EVENT_FLAG_3F, .ows_f292 + print_text_quit_fully Text0527 .ows_f292 - run_command ScriptCommand_PrintTextQuitFully - tx Text0528 + print_text_quit_fully Text0528 Script_Clerk12: ; f295 (3:7295) start_script - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_41 - db $03 - dw .ows_f2c4 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_41 - db $02 - dw .ows_f2c1 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_40 - db $03 - dw .ows_f2c4 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_40 - db $02 - dw .ows_f2c1 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_3F - db $03 - dw .ows_f2c4 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_3F - db $02 - dw .ows_f2c1 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $02 - dw .ows_f2cd - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $03 - dw .ows_f2d3 - run_command ScriptCommand_Jump - dw .ows_f2c7 + jump_if_flag_equal EVENT_FLAG_41, $03, .ows_f2c4 + jump_if_flag_equal EVENT_FLAG_41, $02, .ows_f2c1 + jump_if_flag_equal EVENT_FLAG_40, $03, .ows_f2c4 + jump_if_flag_equal EVENT_FLAG_40, $02, .ows_f2c1 + jump_if_flag_equal EVENT_FLAG_3F, $03, .ows_f2c4 + jump_if_flag_equal EVENT_FLAG_3F, $02, .ows_f2c1 + jump_if_flag_equal EVENT_FLAG_44, $02, .ows_f2cd + jump_if_flag_equal EVENT_FLAG_44, $03, .ows_f2d3 + script_jump .ows_f2c7 .ows_f2c1 - run_command ScriptCommand_PrintTextQuitFully - tx Text0529 + print_text_quit_fully Text0529 .ows_f2c4 - run_command ScriptCommand_PrintTextQuitFully - tx Text052a + print_text_quit_fully Text052a .ows_f2c7 - run_command ScriptCommand_PrintTextString - tx Text052b - run_command ScriptCommand_Jump - dw .ows_f2d6 + print_text_string Text052b + script_jump .ows_f2d6 .ows_f2cd - run_command ScriptCommand_PrintTextString - tx Text052c - run_command ScriptCommand_Jump - dw .ows_f2d6 + print_text_string Text052c + script_jump .ows_f2d6 .ows_f2d3 - run_command ScriptCommand_PrintTextString - tx Text052d + print_text_string Text052d .ows_f2d6 - run_command ScriptCommand_PrintTextString - tx Text052e - run_command ScriptCommand_AskQuestionJump - tx Text052f - dw .ows_f2e1 - run_command ScriptCommand_PrintTextQuitFully - tx Text0530 + print_text_string Text052e + ask_question_jump Text052f, .ows_f2e1 + print_text_quit_fully Text0530 .ows_f2e1 - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_59 - run_command ScriptCommand_PrintTextString - tx Text0531 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f349 - run_command ScriptCommand_JumpIfPlayerCoordMatches - db 8 - db 18 - dw .ows_f2fa - run_command ScriptCommand_JumpIfPlayerCoordMatches - db 12 - db 18 - dw .ows_f302 - run_command ScriptCommand_MovePlayer - db NORTH - db $02 - run_command ScriptCommand_Jump - dw .ows_f307 + max_out_flag_value EVENT_FLAG_59 + print_text_string Text0531 + close_text_box + move_active_npc NPCMovement_f349 + jump_if_player_coords_match 8, 18, .ows_f2fa + jump_if_player_coords_match 12, 18, .ows_f302 + move_player NORTH, 2 + script_jump .ows_f307 .ows_f2fa - run_command ScriptCommand_SetPlayerDirection - db EAST - run_command ScriptCommand_MovePlayer - db EAST - db $02 - run_command ScriptCommand_Jump - dw .ows_f307 + set_player_direction EAST + move_player EAST, 2 + script_jump .ows_f307 .ows_f302 - run_command ScriptCommand_SetPlayerDirection - db WEST - run_command ScriptCommand_MovePlayer - db WEST - db $02 + set_player_direction WEST + move_player WEST, 2 .ows_f307 - run_command ScriptCommand_SetPlayerDirection - db NORTH - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_FLAG_43 - dw .ows_f33a - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_43 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_MovePlayer - db NORTH - db $01 - run_command ScriptCommand_SetPlayerDirection - db EAST - run_command ScriptCommand_DoFrames - db 30 - run_command ScriptCommand_SetPlayerDirection - db SOUTH - run_command ScriptCommand_DoFrames - db 20 - run_command ScriptCommand_SetPlayerDirection - db EAST - run_command ScriptCommand_DoFrames - db 20 - run_command ScriptCommand_SetPlayerDirection - db SOUTH - run_command ScriptCommand_DoFrames - db 30 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 + set_player_direction NORTH + move_player NORTH, 1 + move_player NORTH, 1 + move_player NORTH, 1 + move_player NORTH, 1 + move_player NORTH, 1 + jump_if_flag_nonzero_2 EVENT_FLAG_43, .ows_f33a + max_out_flag_value EVENT_FLAG_43 + move_player NORTH, 1 + move_player NORTH, 1 + set_player_direction EAST + do_frames 30 + set_player_direction SOUTH + do_frames 20 + set_player_direction EAST + do_frames 20 + set_player_direction SOUTH + do_frames 30 + move_player SOUTH, 1 + move_player SOUTH, 1 .ows_f33a - run_command ScriptCommand_SetPlayerDirection - db EAST - run_command ScriptCommand_MovePlayer - db EAST - db $01 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f34e - run_command ScriptCommand_CloseAdvancedTextBox - run_command ScriptCommand_SetNextNPCandScript - db $4a - dw Script_f353 - run_command ScriptCommand_EndScriptLoop1 + set_player_direction EAST + move_player EAST, 1 + move_active_npc NPCMovement_f34e + close_advanced_text_box + set_next_npc_and_script $4a, Script_f353 + end_script_loop ret ; f349 @@ -6407,38 +5483,27 @@ Script_Host: ; f352 (3:7352) Script_f353: ; f353 (3:7353) start_script - run_command ScriptCommand_DoFrames - db 20 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f37d - run_command ScriptCommand_DoFrames - db 20 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f390 + do_frames 20 + move_active_npc NPCMovement_f37d + do_frames 20 + move_active_npc NPCMovement_f390 run_command Func_d16b db $00 - run_command ScriptCommand_PrintTextString - tx Text0532 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f37f - run_command ScriptCommand_PrintTextString - tx Text0533 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f388 - run_command ScriptCommand_PrintTextString - tx Text0534 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f38e - run_command ScriptCommand_PrintTextString - tx Text0535 + print_text_string Text0532 + close_text_box + move_active_npc NPCMovement_f37f + print_text_string Text0533 + close_text_box + move_active_npc NPCMovement_f388 + print_text_string Text0534 + close_text_box + move_active_npc NPCMovement_f38e + print_text_string Text0535 run_command Func_cd4f db $04 db $00 db $00 - run_command ScriptCommand_QuitScriptFully + quit_script_fully NPCMovement_f37d: ; f37d (3:737d) db EAST | NO_MOVE @@ -6479,115 +5544,58 @@ NPCMovement_f390: ; f390 (3:7390) LostAtChallengeHall: ; f392 (3:7392) start_script - run_command ScriptCommand_DoFrames - db 20 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f37d - run_command ScriptCommand_DoFrames - db 20 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f390 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_45 - db $02 - dw ScriptJump_f410 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_45 - db $03 - dw ScriptJump_f410.ows_f41a + do_frames 20 + move_active_npc NPCMovement_f37d + do_frames 20 + move_active_npc NPCMovement_f390 + jump_if_flag_equal EVENT_FLAG_45, $02, ScriptJump_f410 + jump_if_flag_equal EVENT_FLAG_45, $03, ScriptJump_f410.ows_f41a run_command Func_d16b db $00 run_command Func_d16b db $01 - run_command ScriptCommand_PrintTextString - tx Text0536 + print_text_string Text0536 .ows_f3ae - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f38b - run_command ScriptCommand_PrintTextString - tx Text0537 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f38e - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $02 - dw .ows_f3ce - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $03 - dw .ows_f3d9 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_3F - db $03 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_48 - db $03 - run_command ScriptCommand_ZeroOutFlagValue - db EVENT_FLAG_51 - run_command ScriptCommand_Jump - dw .ows_f3e2 + close_text_box + move_active_npc NPCMovement_f38b + print_text_string Text0537 + close_text_box + move_active_npc NPCMovement_f38e + jump_if_flag_equal EVENT_FLAG_44, $02, .ows_f3ce + jump_if_flag_equal EVENT_FLAG_44, $03, .ows_f3d9 + script_set_flag_value EVENT_FLAG_3F, $03 + script_set_flag_value EVENT_FLAG_48, $03 + zero_out_flag_value EVENT_FLAG_51 + script_jump .ows_f3e2 .ows_f3ce - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_40 - db $03 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_49 - db $03 - run_command ScriptCommand_ZeroOutFlagValue - db EVENT_FLAG_55 - run_command ScriptCommand_Jump - dw .ows_f3e2 + script_set_flag_value EVENT_FLAG_40, $03 + script_set_flag_value EVENT_FLAG_49, $03 + zero_out_flag_value EVENT_FLAG_55 + script_jump .ows_f3e2 .ows_f3d9 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_41 - db $03 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_4A - db $03 - run_command ScriptCommand_Jump - dw .ows_f3e2 + script_set_flag_value EVENT_FLAG_41, $03 + script_set_flag_value EVENT_FLAG_4A, $03 + script_jump .ows_f3e2 .ows_f3e2 - run_command ScriptCommand_CloseAdvancedTextBox - run_command ScriptCommand_SetNextNPCandScript - db NPC_CLERK12 - dw Script_f3e9 - run_command ScriptCommand_EndScriptLoop1 + close_advanced_text_box + set_next_npc_and_script NPC_CLERK12, Script_f3e9 + end_script_loop ret Script_f3e9: ; f3e9 (3:73e9) start_script - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f40a - run_command ScriptCommand_SetPlayerDirection - db WEST - run_command ScriptCommand_MovePlayer - db WEST - db $01 - run_command ScriptCommand_SetPlayerDirection - db SOUTH - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MovePlayer - db SOUTH - db $01 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f40d - run_command ScriptCommand_QuitScriptFully + move_active_npc NPCMovement_f40a + set_player_direction WEST + move_player WEST, 1 + set_player_direction SOUTH + move_player SOUTH, 1 + move_player SOUTH, 1 + move_player SOUTH, 1 + move_player SOUTH, 1 + move_player SOUTH, 1 + move_player SOUTH, 1 + move_active_npc NPCMovement_f40d + quit_script_fully NPCMovement_f40a: ; f40a (3:740a) db WEST @@ -6604,156 +5612,85 @@ ScriptJump_f410: ; f410 (4:7410) db $00 run_command Func_d16b db $01 - run_command ScriptCommand_PrintTextString - tx Text0538 - run_command ScriptCommand_Jump - dw LostAtChallengeHall.ows_f3ae + print_text_string Text0538 + script_jump LostAtChallengeHall.ows_f3ae .ows_f41a - run_command ScriptCommand_PrintTextString - tx Text0539 - run_command ScriptCommand_SetDialogName - db NPC_RONALD1 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $03 - dw .ows_f42e - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $01 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text053a - tx Text053b + print_text_string Text0539 + set_dialog_npc NPC_RONALD1 + jump_if_flag_equal EVENT_FLAG_44, $03, .ows_f42e + jump_if_flag_equal EVENT_FLAG_44, $01, NULL + print_variable_text Text053a, Text053b .ows_f42e - run_command ScriptCommand_SetDialogName - db NPC_HOST - run_command ScriptCommand_Jump - dw LostAtChallengeHall.ows_f3ae + set_dialog_npc NPC_HOST + script_jump LostAtChallengeHall.ows_f3ae Script_f433: ; f433 (3:7433) start_script - run_command ScriptCommand_DoFrames - db 20 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f37d - run_command ScriptCommand_DoFrames - db 20 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f390 - run_command ScriptCommand_Jump - dw WonAtChallengeHall.ows_f4a4 + do_frames 20 + move_active_npc NPCMovement_f37d + do_frames 20 + move_active_npc NPCMovement_f390 + script_jump WonAtChallengeHall.ows_f4a4 WonAtChallengeHall: ; f441 (3:7441) start_script - run_command ScriptCommand_DoFrames - db 20 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f37d - run_command ScriptCommand_DoFrames - db 20 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f390 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_45 - db $03 - dw ScriptJump_f4db - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_45 - db $02 - dw .ows_f456 + do_frames 20 + move_active_npc NPCMovement_f37d + do_frames 20 + move_active_npc NPCMovement_f390 + jump_if_flag_equal EVENT_FLAG_45, $03, ScriptJump_f4db + jump_if_flag_equal EVENT_FLAG_45, $02, .ows_f456 .ows_f456 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_45 - db $01 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text053c - tx Text053d - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f37f + jump_if_flag_equal EVENT_FLAG_45, $01, NULL + print_variable_text Text053c, Text053d + move_active_npc NPCMovement_f37f run_command Func_d16b db $00 - run_command ScriptCommand_PrintTextString - tx Text053e - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveWramNPC - dw NPCMovement_f4c8 + print_text_string Text053e + close_text_box + move_wram_npc NPCMovement_f4c8 run_command Func_cdd8 - run_command ScriptCommand_PrintTextString - tx Text053f - run_command ScriptCommand_CloseTextBox + print_text_string Text053f + close_text_box run_command Func_d195 run_command Func_cdf5 db $14 db $14 - run_command ScriptCommand_MoveWramNPC - dw NPCMovement_f4d0 + move_wram_npc NPCMovement_f4d0 run_command Func_d16b db $00 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_45 - db $02 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0540 - tx Text0541 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f383 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_45 - db $02 - dw .ows_f4a4 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $03 - dw .ows_f4a1 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_SetDialogName - db $02 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $01 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0542 - tx Text0543 - run_command ScriptCommand_SetDialogName - db NPC_HOST - run_command ScriptCommand_CloseTextBox + jump_if_flag_equal EVENT_FLAG_45, $02, NULL + print_variable_text Text0540, Text0541 + move_active_npc NPCMovement_f383 + jump_if_flag_equal EVENT_FLAG_45, $02, .ows_f4a4 + jump_if_flag_equal EVENT_FLAG_44, $03, .ows_f4a1 + close_text_box + set_dialog_npc $02 + jump_if_flag_equal EVENT_FLAG_44, $01, NULL + print_variable_text Text0542, Text0543 + set_dialog_npc NPC_HOST + close_text_box .ows_f4a1 - run_command ScriptCommand_PrintTextString - tx Text0544 + print_text_string Text0544 .ows_f4a4 - run_command ScriptCommand_ZeroOutFlagValue - db EVENT_FLAG_47 - run_command ScriptCommand_PrintTextString - tx Text0545 - run_command ScriptCommand_AskQuestionJumpDefaultYes - tx Text0546 - dw .ows_f4bd - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_45 - db $02 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text0547 - tx Text0548 + zero_out_flag_value EVENT_FLAG_47 + print_text_string Text0545 + ask_question_jump_default_yes Text0546, .ows_f4bd + jump_if_flag_equal EVENT_FLAG_45, $02, NULL + print_variable_text Text0547, Text0548 run_command Func_cd4f db $04 db $00 db $00 - run_command ScriptCommand_QuitScriptFully + quit_script_fully .ows_f4bd - run_command ScriptCommand_PrintTextString - tx Text0549 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MaxOutFlagValue - db EVENT_FLAG_47 + print_text_string Text0549 + close_text_box + max_out_flag_value EVENT_FLAG_47 run_command Func_d1ad - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_Jump - dw .ows_f4a4 + close_text_box + script_jump .ows_f4a4 NPCMovement_f4c8: ; f4c8 (3:74c8) db EAST @@ -6782,110 +5719,56 @@ NPCMovement_f4d8: ; f4d8 (3:74d8) db $ff ScriptJump_f4db: ; f4db (3:74db) - run_command ScriptCommand_PrintTextString - tx Text054a - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f37f + print_text_string Text054a + move_active_npc NPCMovement_f37f run_command Func_d16b db $00 - run_command ScriptCommand_PrintTextString - tx Text054b - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $03 - dw .ows_f513 - run_command ScriptCommand_SetDialogName - db $02 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $01 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text054c - tx Text054d - run_command ScriptCommand_MoveWramNPC - dw NPCMovement_f4d8 - run_command ScriptCommand_DoFrames - db 40 - run_command ScriptCommand_MoveWramNPC - dw NPCMovement_f34c - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $01 - dw NO_JUMP - run_command ScriptCommand_PrintVariableText - tx Text054e - tx Text054f - run_command ScriptCommand_SetDialogName - db NPC_HOST - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveWramNPC - dw NPCMovement_f4c9 - run_command ScriptCommand_Jump - dw .ows_f516 + print_text_string Text054b + close_text_box + jump_if_flag_equal EVENT_FLAG_44, $03, .ows_f513 + set_dialog_npc $02 + jump_if_flag_equal EVENT_FLAG_44, $01, NULL + print_variable_text Text054c, Text054d + move_wram_npc NPCMovement_f4d8 + do_frames 40 + move_wram_npc NPCMovement_f34c + jump_if_flag_equal EVENT_FLAG_44, $01, NULL + print_variable_text Text054e, Text054f + set_dialog_npc NPC_HOST + close_text_box + move_wram_npc NPCMovement_f4c9 + script_jump .ows_f516 .ows_f513 - run_command ScriptCommand_MoveWramNPC - dw NPCMovement_f4c8 + move_wram_npc NPCMovement_f4c8 .ows_f516 run_command Func_cdd8 - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f383 - run_command ScriptCommand_PrintTextString - tx Text0550 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_MoveActiveNPC - dw NPCMovement_f38b + move_active_npc NPCMovement_f383 + print_text_string Text0550 + close_text_box + move_active_npc NPCMovement_f38b run_command Func_d1b3 - run_command ScriptCommand_PrintTextString - tx Text0551 - run_command ScriptCommand_GiveCard - db $00 - run_command ScriptCommand_ShowCardReceivedScreen - db $00 - run_command ScriptCommand_PrintTextString - tx Text0552 - run_command ScriptCommand_CloseTextBox - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $02 - dw .ows_f540 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_44 - db $03 - dw .ows_f549 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_3F - db $02 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_48 - db $02 - run_command ScriptCommand_Jump - dw .ows_f552 + print_text_string Text0551 + give_card VARIABLE_CARD + show_card_received_screen $00 + print_text_string Text0552 + close_text_box + jump_if_flag_equal EVENT_FLAG_44, $02, .ows_f540 + jump_if_flag_equal EVENT_FLAG_44, $03, .ows_f549 + script_set_flag_value EVENT_FLAG_3F, $02 + script_set_flag_value EVENT_FLAG_48, $02 + script_jump .ows_f552 .ows_f540 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_40 - db $02 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_49 - db $02 - run_command ScriptCommand_Jump - dw .ows_f552 + script_set_flag_value EVENT_FLAG_40, $02 + script_set_flag_value EVENT_FLAG_49, $02 + script_jump .ows_f552 .ows_f549 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_41 - db $02 - run_command ScriptCommand_SetFlagValue - db EVENT_FLAG_4A - db $02 - run_command ScriptCommand_Jump - dw .ows_f552 + script_set_flag_value EVENT_FLAG_41, $02 + script_set_flag_value EVENT_FLAG_4A, $02 + script_jump .ows_f552 .ows_f552 - run_command ScriptCommand_CloseAdvancedTextBox - run_command ScriptCommand_SetNextNPCandScript - db NPC_CLERK12 - dw Script_f3e9 - run_command ScriptCommand_EndScriptLoop1 + close_advanced_text_box + set_next_npc_and_script NPC_CLERK12, Script_f3e9 + end_script_loop ret ; f559 @@ -6960,17 +5843,14 @@ Func_f602: ; f602 (3:7602) Script_f631: ; f631 (3:7631) start_script - run_command ScriptCommand_PrintTextString - tx Text0508 - run_command ScriptCommand_CloseAdvancedTextBox - run_command ScriptCommand_SetNextNPCandScript - db $02 - dw $763c - run_command ScriptCommand_EndScriptLoop1 + print_text_string Text0508 + close_advanced_text_box + set_next_npc_and_script NPC_RONALD1, .ows_f63c + end_script_loop ret -; 0xf63c +.ows_f63c INCROM $f63c, $f71f Script_Courtney: ; f71f (3:771f) @@ -6995,23 +5875,15 @@ HallOfHonorLoadMap: ; fbdb (3:7bdb) Script_fbf1: ; fbf1 (3:7bf1) start_script - run_command ScriptCommand_JumpIfFlagNonzero2 - db EVENT_RECEIVED_LEGENDARY_CARD - dw .ows_fc10 - run_command ScriptCommand_MaxOutFlagValue - db EVENT_RECEIVED_LEGENDARY_CARD + jump_if_flag_nonzero_2 EVENT_RECEIVED_LEGENDARY_CARD, .ows_fc10 + max_out_flag_value EVENT_RECEIVED_LEGENDARY_CARD run_command Func_ccdc tx Text05b8 - run_command ScriptCommand_GiveCard - db ZAPDOS3 - run_command ScriptCommand_GiveCard - db MOLTRES2 - run_command ScriptCommand_GiveCard - db ARTICUNO2 - run_command ScriptCommand_GiveCard - db DRAGONITE1 - run_command ScriptCommand_ShowCardReceivedScreen - db $ff + give_card ZAPDOS3 + give_card MOLTRES2 + give_card ARTICUNO2 + give_card DRAGONITE1 + show_card_received_screen $ff .ows_fc05 run_command Func_d38f db $00 @@ -7023,22 +5895,16 @@ Script_fbf1: ; fbf1 (3:7bf1) run_command Func_d396 db $01 run_command Func_d3b9 - run_command ScriptCommand_QuitScriptFully + quit_script_fully .ows_fc10 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_71 - db $0f - dw .ows_fc20 + jump_if_flag_equal EVENT_FLAG_71, $0f, .ows_fc20 run_command Func_d209 run_command Func_ccdc tx Text05ba - run_command ScriptCommand_GiveCard - db $00 - run_command ScriptCommand_ShowCardReceivedScreen - db $00 - run_command ScriptCommand_Jump - dw .ows_fc05 + give_card VARIABLE_CARD + show_card_received_screen VARIABLE_CARD + script_jump .ows_fc05 .ows_fc20 run_command Func_ccdc @@ -7047,8 +5913,7 @@ Script_fbf1: ; fbf1 (3:7bf1) db $00 run_command Func_ccdc tx Text05bc - run_command ScriptCommand_Jump - dw .ows_fc0a + script_jump .ows_fc0a Func_fc2b: ; fc2b (3:7c2b) ld a, [wDuelResult] @@ -7077,17 +5942,13 @@ PointerTable_fc4c: ; fc4c (3:7c4c) Script_fc52: ; fc52 (3:7c52) start_script - run_command ScriptCommand_PrintTextString - tx Text06c8 - run_command ScriptCommand_AskQuestionJumpDefaultYes - dw $0000 - dw .ows_fc5e - run_command ScriptCommand_PrintTextQuitFully - tx Text06c9 + print_text_string Text06c8 + ask_question_jump_default_yes NULL, .ows_fc5e + print_text_quit_fully Text06c9 .ows_fc5e run_command Func_cd76 - run_command ScriptCommand_QuitScriptFully + quit_script_fully Unknown_fc60: ; fc60 (3:7c60) INCROM $fc60, $fc64 @@ -7116,42 +5977,28 @@ Func_fc7a: ; fc7a (3:7c7a) set_flag_value EVENT_FLAG_74 start_script - run_command ScriptCommand_JumpIfFlagNotEqual - db EVENT_FLAG_74 - db $02 - dw Func_fcad.ows_fcd5 - run_command ScriptCommand_PrintTextString - tx Text06cd + jump_if_flag_not_equal EVENT_FLAG_74, $02, Func_fcad.ows_fcd5 + print_text_string Text06cd run_command Func_d39d db $00 - run_command ScriptCommand_JumpIfFlagNotLessThan - db EVENT_FLAG_72 - db $04 - dw Func_fc7a.ows_fcaa - run_command ScriptCommand_PrintTextString - tx Text06ce - run_command ScriptCommand_AskQuestionJumpDefaultYes - tx Text06cf - dw .ows_fca0 - run_command ScriptCommand_PrintTextString - tx Text06d0 - run_command ScriptCommand_Jump - dw Func_fc7a.ows_fcaa + jump_if_flag_not_less_than EVENT_FLAG_72, $04, Func_fc7a.ows_fcaa + print_text_string Text06ce + ask_question_jump_default_yes Text06cf, .ows_fca0 + print_text_string Text06d0 + script_jump Func_fc7a.ows_fcaa .ows_fca0 run_command Func_d396 db $00 - run_command ScriptCommand_PlaySFX - db $56 + play_sfx SFX_56 run_command Func_ccdc tx Text06d1 run_command Func_d39d db $01 - run_command ScriptCommand_QuitScriptFully + quit_script_fully .ows_fcaa - run_command ScriptCommand_PrintTextQuitFully - tx Text06d2 + print_text_quit_fully Text06d2 Func_fcad: ; fcad (3:7cad) ld a, [wd10e] @@ -7159,47 +6006,28 @@ Func_fcad: ; fcad (3:7cad) set_flag_value EVENT_FLAG_72 start_script - run_command ScriptCommand_PlaySFX - db $56 + play_sfx SFX_56 run_command Func_d396 db $00 - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_72 - db $00 - dw .ows_fccc - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_72 - db $02 - dw .ows_fccf - run_command ScriptCommand_JumpIfFlagEqual - db EVENT_FLAG_72 - db $03 - dw .ows_fcd2 - run_command ScriptCommand_Jump - dw Func_fc7a.ows_fcaa + jump_if_flag_equal EVENT_FLAG_72, $00, .ows_fccc + jump_if_flag_equal EVENT_FLAG_72, $02, .ows_fccf + jump_if_flag_equal EVENT_FLAG_72, $03, .ows_fcd2 + script_jump Func_fc7a.ows_fcaa .ows_fccc - run_command ScriptCommand_PrintTextQuitFully - tx Text06d3 + print_text_quit_fully Text06d3 .ows_fccf - run_command ScriptCommand_PrintTextQuitFully - tx Text06d4 + print_text_quit_fully Text06d4 .ows_fcd2 - run_command ScriptCommand_PrintTextQuitFully - tx Text06d5 + print_text_quit_fully Text06d5 .ows_fcd5 - run_command ScriptCommand_MoveArbitraryNPC - db NPC_GIFT_CENTER_CLERK - dw NPCMovement_fce1 - run_command ScriptCommand_PrintTextString - tx Text06d6 - run_command ScriptCommand_MoveArbitraryNPC - db NPC_GIFT_CENTER_CLERK - dw NPCMovement_fce3 - run_command ScriptCommand_QuitScriptFully + move_arbitrary_npc NPC_GIFT_CENTER_CLERK, NPCMovement_fce1 + print_text_string Text06d6 + move_arbitrary_npc NPC_GIFT_CENTER_CLERK, NPCMovement_fce3 + quit_script_fully NPCMovement_fce1: ; fce1 (3:7ce1) db SOUTH | NO_MOVE diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm index c3f423d..e4db318 100644 --- a/src/engine/bank04.asm +++ b/src/engine/bank04.asm @@ -981,13 +981,13 @@ OverworldScriptTable: ; 1217b (4:617b) dw ScriptCommand_MoveActiveNPCByDirection dw ScriptCommand_CloseTextBox dw ScriptCommand_GiveBoosterPacks - dw ScriptCommand_CheckIfCardInCollectionOrDecks - dw ScriptCommand_CheckIfCardInCollection + dw ScriptCommand_JumpIfCardOwned + dw ScriptCommand_JumpIfCardInCollection dw ScriptCommand_GiveCard dw ScriptCommand_TakeCard dw Func_cf53 dw Func_cf7b - dw ScriptCommand_CheckRawAmountOfCardsOwned + dw ScriptCommand_JumpIfEnoughCardsOwned dw ScriptCommand_JumpBasedOnFightingClubPupilStatus dw Func_cfc6 dw Func_cfd4 @@ -1000,13 +1000,13 @@ OverworldScriptTable: ; 1217b (4:617b) dw ScriptCommand_SetPlayerDirection dw ScriptCommand_MovePlayer dw ScriptCommand_ShowCardReceivedScreen - dw ScriptCommand_SetDialogName - dw ScriptCommand_SetNextNPCandScript + dw ScriptCommand_SetDialogNPC + dw ScriptCommand_SetNextNPCAndScript dw Func_d095 dw Func_d0be dw ScriptCommand_DoFrames dw Func_d0d9 - dw ScriptCommand_JumpIfPlayerCoordMatches + dw ScriptCommand_JumpIfPlayerCoordsMatch dw ScriptCommand_MoveActiveNPC dw ScriptCommand_GiveOneOfEachTrainerBooster dw Func_d103 @@ -1023,9 +1023,9 @@ OverworldScriptTable: ; 1217b (4:617b) dw Func_d1b3 dw ScriptCommand_QuitScriptFully dw Func_d244 - dw ScriptCommand_ShowMultichoiceTextbox_ChooseDeckToDuelAgainst + dw ScriptCommand_ChooseDeckToDuelAgainstMultichoice dw ScriptCommand_OpenDeckMachine - dw ScriptCommand_ShowMultichoiceTextbox_ChooseStarterDeck + dw ScriptCommand_ChooseStarterDeckMultichoice dw ScriptCommand_EnterMap dw ScriptCommand_MoveArbitraryNPC dw Func_d209 diff --git a/src/engine/bank05.asm b/src/engine/bank05.asm index 2b59c96..0de163d 100644 --- a/src/engine/bank05.asm +++ b/src/engine/bank05.asm @@ -4437,8 +4437,8 @@ DetermineAIScoreOfMoveEnergyRequirement: ; 16695 (5:6695) ; this is an identical check as above to test whether this card is active. ; in case it is active, the score gets added 10 more points, ; in addition to the 20 points already added above. -; what was probably intended was to add 20 points in case this card -; is active and only 10 in case it is benched. +; what was probably intended was to add 20 points +; plus 10 in case it is the Arena card. ldh a, [hTempPlayAreaLocation_ff9d] or a jr nz, .check_evolution diff --git a/src/engine/bank08.asm b/src/engine/bank08.asm index d674a9c..cfcc178 100644 --- a/src/engine/bank08.asm +++ b/src/engine/bank08.asm @@ -6798,6 +6798,14 @@ HandleAIShift: ; 22476 (8:6476) push bc call GetCardIDFromDeckIndex call GetCardType + ; in case this is a Mysterious Fossil or Clefairy Doll card, + ; AI might read the type of the card incorrectly here. + ; uncomment the following lines to account for this + ; cp TYPE_TRAINER + ; jr nz, .not_trainer + ; pop bc + ; jr .loop_play_area +; .not_trainer call TranslateColorToWR pop bc and b diff --git a/src/engine/effect_functions.asm b/src/engine/effect_functions.asm index 92a1f3d..b381661 100644 --- a/src/engine/effect_functions.asm +++ b/src/engine/effect_functions.asm @@ -297,7 +297,7 @@ SetDefiniteDamage: ; 2c166 (b:4166) ; overwrites wAIMinDamage and wAIMaxDamage ; with value in wDamage. -SetMinMaxDamageSameAsDamage: ; 2c174 (b:4174) +SetDefiniteAIDamage: ; 2c174 (b:4174) ld a, [wDamage] ld [wAIMinDamage], a ld [wAIMaxDamage], a @@ -1431,7 +1431,12 @@ DrawSymbolOnPlayAreaCursor: ; 2c6cc (b:46cc) ret ; 0x2c6d9 - INCROM $2c6d9, $2c6e0 +; possibly unreferenced +Func_2c6d9: ; 2c6d9 (b:46d9) + ldtx hl, IncompleteText + call DrawWideTextBox_WaitForInput + ret +; 0x2c6e0 PlayAreaSelectionMenuParameters: ; 2c6e0 (b:46e0) db 0, 0 ; cursor x, cursor y @@ -1911,7 +1916,7 @@ Thrash_ModifierEffect: ; 2c973 (b:4973) call AddToDamage ret -Thrash_LowRecoilEffect: ; 2c982 (b:4982) +Thrash_RecoilEffect: ; 2c982 (b:4982) ldh a, [hTemp_ffa0] or a ret nz @@ -2954,7 +2959,7 @@ HydroPumpEffect: ; 2cf48 (b:4f48) KinglerFlail_AIEffect: ; 2cf4e (b:4f4e) call KinglerFlail_HPCheck - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2cf54 KinglerFlail_HPCheck: ; 2cf54 (b:4f54) @@ -3074,7 +3079,7 @@ KrabbyCallForFamily_PutInPlayAreaEffect: ; 2cfca (b:4fca) MagikarpFlail_AIEffect: ; 2cfff (b:4fff) call MagikarpFlail_HPCheck - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2d005 MagikarpFlail_HPCheck: ; 2d005 (b:5005) @@ -3780,7 +3785,7 @@ FlamesOfRage_DiscardEffect: ; 2d3de (b:53de) FlamesOfRage_AIEffect: ; 2d3e9 (b:53e9) call FlamesOfRage_DamageBoostEffect - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2d3ef FlamesOfRage_DamageBoostEffect: ; 2d3ef (b:53ef) @@ -4244,7 +4249,7 @@ EnergyBurnCheck_Unreferenced: ; 2d620 (b:5620) FlareonRage_AIEffect: ; 2d638 (b:5638) call FlareonRage_DamageBoostEffect - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2d63e FlareonRage_DamageBoostEffect: ; 2d63e (b:563e) @@ -5249,7 +5254,7 @@ InvisibleWallEffect: ; 2db77 (b:5b77) MrMimeMeditate_AIEffect: ; 2db79 (b:5b79) call MrMimeMeditate_DamageBoostEffect - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2db7f MrMimeMeditate_DamageBoostEffect: ; 2db7f (b:5b7f) @@ -5641,7 +5646,7 @@ NeutralizingShieldEffect: ; 2dd79 (b:5d79) Psychic_AIEffect: ; 2dd7b (b:5d7b) call Psychic_DamageBoostEffect - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2dd81 Psychic_DamageBoostEffect: ; 2dd81 (b:5d81) @@ -6101,7 +6106,7 @@ JynxDoubleslap_MultiplierEffect: ; 2dfcf (b:5fcf) JynxMeditate_AIEffect: ; 2dff2 (b:5ff2) call JynxMeditate_DamageBoostEffect - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2dfec JynxMeditate_DamageBoostEffect: ; 2dfec (b:5fec) @@ -6274,7 +6279,7 @@ SnivelEffect: ; 2e0cb (b:60cb) CuboneRage_AIEffect: ; 2e0d1 (b:60d1) call CuboneRage_DamageBoostEffect - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2e0d7 CuboneRage_DamageBoostEffect: ; 2e0d7 (b:60d7) @@ -6423,7 +6428,7 @@ MarowakCallForFamily_PutInPlayAreaEffect: ; 2e194 (b:6194) KarateChop_AIEffect: ; 2e1b4 (b:61b4) call KarateChop_DamageSubtractionEffect - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2e1ba KarateChop_DamageSubtractionEffect: ; 2e1ba (b:61ba) @@ -8242,7 +8247,7 @@ Rampage_AIEffect: ; 2eb96 (b:6b96) ld e, PLAY_AREA_ARENA call GetCardDamageAndMaxHP call AddToDamage - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2eba1 Rampage_Confusion50PercentEffect: ; 2eba1 (b:6ba1) @@ -8282,7 +8287,7 @@ RetreatAidEffect: ; 2ebd7 (b:6bd7) DodrioRage_AIEffect: ; 2ebd9 (b:6bd9) call DodrioRage_DamageBoostEffect - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2ebdf DodrioRage_DamageBoostEffect: ; 2ebdf (b:6bdf) @@ -8900,7 +8905,7 @@ ChanseyDoubleEdgeEffect: ; 2eefb (b:6efb) SuperFang_AIEffect: ; 2ef01 (b:6f01) call SuperFang_HalfHPEffect - jp SetMinMaxDamageSameAsDamage + jp SetDefiniteAIDamage ; 0x2ef07 SuperFang_HalfHPEffect: ; 2ef07 (b:6f07) @@ -9037,7 +9042,37 @@ Dragonite1Slam_MultiplierEffect: ; 2efa4 (b:6fa4) ret ; 0x2efbc - INCROM $2efbc, $2efe0 +; possibly unreferenced +Func_2efbc: ; 2efbc (b:6fbc) + ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA + call GetTurnDuelistVariable + ld c, a + ld l, DUELVARS_ARENA_CARD_HP + ld de, wce76 +.asm_2efc7 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .asm_2efc7 + ret +; 0x2efce + +; possibly unreferenced +Func_2efce: ; 2efce (b:6fce) + ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA + call GetTurnDuelistVariable + ld c, a + ld l, DUELVARS_ARENA_CARD_HP + ld de, wce76 +.asm_2efd9 + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_2efd9 + ret +; 0x2efe0 CatPunchEffect: ; 2efe0 (b:6fe0) call SwapTurn @@ -11388,7 +11423,8 @@ DevolutionSpray_DevolutionEffect: ; 2fc99 (b:7c99) ret ; 0x2fcd0 -Func_2fcd0: ; 2fcd0 (b:7cd0) +; returns carry if neither duelist has any energy cards attached +SuperEnergyRemoval_EnergyCheck: ; 2fcd0 (b:7cd0) call CheckIfThereAreAnyEnergyCardsAttached ldtx hl, NoEnergyCardsAttachedToPokemonInYourPlayAreaText ret c @@ -11399,7 +11435,7 @@ Func_2fcd0: ; 2fcd0 (b:7cd0) ret ; 0x2fce4 -Func_2fce4: ; 2fce4 (b:7ce4) +SuperEnergyRemoval_PlayerSelection: ; 2fce4 (b:7ce4) ; handle selection of Energy to discard in own Play Area ldtx hl, ChoosePokemonInYourAreaThenPokemonInYourOppText call DrawWideTextBox_WaitForInput @@ -11434,18 +11470,21 @@ Func_2fce4: ; 2fce4 (b:7ce4) ; store this Pokemon's Play Area location ldh a, [hTempPlayAreaLocation_ff9d] ldh [hPlayAreaEffectTarget], a - +; store which energy card to discard from it bank1call CreateArenaOrBenchEnergyCardList ldh a, [hTempPlayAreaLocation_ff9d] bank1call DisplayEnergyDiscardScreen ld a, 2 ld [wcbfa], a -.asm_2fd2a + +.loop_discard_energy_selection bank1call HandleEnergyDiscardMenuInput - jr nc, .asm_2fd4a + jr nc, .energy_selected + ; B pressed ld a, 5 call AskWhetherToQuitSelectingCards - jr nc, .asm_2fd69 + jr nc, .done ; finish operation + ; player selected to continue selection ld a, [wcbfb] push af ldh a, [hTempPlayAreaLocation_ff9d] @@ -11454,8 +11493,10 @@ Func_2fce4: ; 2fce4 (b:7ce4) ld [wcbfa], a pop af ld [wcbfb], a - jr .asm_2fd2a -.asm_2fd4a + jr .loop_discard_energy_selection + +.energy_selected +; store energy cards to discard from opponent call GetNextPositionInTempList_TrainerEffects ldh a, [hTempCardIndex_ff98] ld [hl], a @@ -11463,14 +11504,15 @@ Func_2fce4: ; 2fce4 (b:7ce4) ld hl, wcbfb inc [hl] ldh a, [hCurSelectionItem] - cp $05 - jr nc, .asm_2fd69 + cp 5 + jr nc, .done ; no more energy cards to select ld a, [wDuelTempList] cp $ff - jr z, .asm_2fd69 + jr z, .done ; no more energy cards to select bank1call DisplayEnergyDiscardMenu - jr .asm_2fd2a -.asm_2fd69 + jr .loop_discard_energy_selection + +.done call GetNextPositionInTempList_TrainerEffects ld [hl], $ff call SwapTurn @@ -11478,7 +11520,130 @@ Func_2fce4: ; 2fce4 (b:7ce4) ret ; 0x2fd73 - INCROM $2fd73, $2fe25 +SuperEnergyRemoval_DiscardEffect: ; 2fd73 (b:7d73) + ld hl, hTempList + 1 + +; discard energy card of own Play Area + ld a, [hli] + call PutCardInDiscardPile + +; iterate and discard opponent's energy cards + inc hl + call SwapTurn +.loop + ld a, [hli] + cp $ff + jr z, .done_discard + call PutCardInDiscardPile + jr .loop + +.done_discard +; if it's Player's turn, return... + call SwapTurn + call IsPlayerTurn + ret c +; ...otherwise show Play Area of affected Pokemon +; in opponent's Play Area + ldh a, [hTemp_ffa0] + call Func_2c10b +; in player's Play Area + xor a + ld [wDuelDisplayedScreen], a + call SwapTurn + ldh a, [hPlayAreaEffectTarget] + call Func_2c10b + call SwapTurn + ret +; 0x2fda4 + +; return carry if not enough cards in hand to +; discard for Super Energy Retrieval effect +; or if the Discard Pile has no basic Energy cards +SuperEnergyRetrieval_HandEnergyCheck: ; 2fda4 (b:7da4) + ld a, DUELVARS_NUMBER_OF_CARDS_IN_HAND + call GetTurnDuelistVariable + ldtx hl, NotEnoughCardsInHandText + cp 3 + ret c + call CreateEnergyCardListFromDiscardPile_OnlyBasic + ldtx hl, ThereAreNoBasicEnergyCardsInDiscardPileText + ret +; 0x2fdb6 + +SuperEnergyRetrieval_PlayerHandSelection: ; 2fdb6 (b:7db6) + call HandlePlayerSelection2HandCardsToDiscard + ret +; 0x2fdba + +SuperEnergyRetrieval_PlayerDiscardPileSelection: ; 2fdba (b:7dba) + ldtx hl, ChooseUpTo4FromDiscardPileText + call DrawWideTextBox_WaitForInput + call CreateEnergyCardListFromDiscardPile_OnlyBasic + +.loop_discard_pile_selection + bank1call InitAndDrawCardListScreenLayout + ldtx hl, PleaseSelectCardText + ldtx de, PlayerDiscardPileText + bank1call SetCardListHeaderText + bank1call DisplayCardList + jr nc, .store_selected_card + ; B pressed + ld a, 6 + call AskWhetherToQuitSelectingCards + jr c, .loop_discard_pile_selection ; player selected to continue + jr .done + +.store_selected_card + ldh a, [hTempCardIndex_ff98] + call GetTurnDuelistVariable + call GetNextPositionInTempList_TrainerEffects + ldh a, [hTempCardIndex_ff98] + ld [hl], a ; store selected energy card + call RemoveCardFromDuelTempList + jr c, .done + ; this shouldn't happen + ldh a, [hCurSelectionItem] + cp 6 + jr c, .loop_discard_pile_selection + +.done +; insert terminating byte + call GetNextPositionInTempList_TrainerEffects + ld [hl], $ff + or a + ret +; 0x2fdfa + +SuperEnergyRetrieval_DiscardAndAddToHandEffect: ; 2fdfa (b:7dfa) +; discard 2 cards selected from the hand + ld hl, hTemp_ffa0 + ld a, [hli] + call RemoveCardFromHand + call PutCardInDiscardPile + ld a, [hli] + call RemoveCardFromHand + call PutCardInDiscardPile + +; put selected cards in hand + ld de, wDuelTempList +.loop + ld a, [hli] + ld [de], a + inc de + cp $ff + jr z, .done + call MoveDiscardPileCardToHand + call AddCardToHand + jr .loop + +.done +; if Player played the card, exit + call IsPlayerTurn + ret c +; if not, show card list selected by Opponent + bank1call Func_4b38 + ret +; 0x2fe25 ; outputs in hl the next position ; in hTempList to place a new card, @@ -11551,7 +11716,43 @@ HandlePlayerSelection2HandCards: ; 2fe3a (b:7e3a) ret ; 0x2fe6e - INCROM $2fe6e, $2fea9 +; return carry if non-turn duelist has no benched Pokemon +GustOfWind_BenchCheck: ; 2fe6e (b:7e6e) + ld a, DUELVARS_NUMBER_OF_POKEMON_IN_PLAY_AREA + call GetNonTurnDuelistVariable + ldtx hl, EffectNoPokemonOnTheBenchText + cp 2 + ret +; 0x2fe79 + +GustOfWind_PlayerSelection: ; 2fe79 (b:7e79) + ldtx hl, ChooseAPokemonToSwitchWithActivePokemonText + call DrawWideTextBox_WaitForInput + call SwapTurn + bank1call HasAlivePokemonInBench + bank1call OpenPlayAreaScreenForSelection + ldh a, [hTempPlayAreaLocation_ff9d] + ldh [hTemp_ffa0], a + call SwapTurn + ret +; 0x2fe90 + +GustOfWind_SwitchEffect: ; 2fe90 (b:7e90) +; play whirlwind animation + ld a, $8d + call Func_2fea9 + +; switch Arena card + call SwapTurn + ldh a, [hTemp_ffa0] + ld e, a + call SwapArenaWithBenchPokemon + call SwapTurn + call ClearDamageReductionSubstatus2 + xor a + ld [wDuelDisplayedScreen], a + ret +; 0x2fea9 ; input: ; a = move animation to play diff --git a/src/engine/home.asm b/src/engine/home.asm index a0cc5cb..18a79f4 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -5302,7 +5302,7 @@ CopyOpponentName: ; 1c8e (0:1c8e) jp CopyText ; return, in hl, the total amount of cards owned anywhere, including duplicates -GetRawAmountOfCardsOwned: ; 1caa (0:1caa) +GetAmountOfCardsOwned: ; 1caa (0:1caa) push de push bc call EnableSRAM diff --git a/src/macros/audio.asm b/src/macros/audio.asm index 0c13596..4bc6d91 100644 --- a/src/macros/audio.asm +++ b/src/macros/audio.asm @@ -94,8 +94,8 @@ tie: MACRO db $d9 ENDM -musicdc: MACRO - db $dc, \1 +stereo_panning: MACRO + db $dc, (\1 << 4) | \2 ENDM MainLoop: MACRO @@ -129,7 +129,7 @@ music_ret: MACRO db $e3 ENDM -musice4: MACRO +frequency_offset: MACRO db $e4, \1 ENDM @@ -145,11 +145,11 @@ wave: MACRO db $e7, \1 ENDM -musice8: MACRO +cutoff: MACRO db $e8, \1 ENDM -musice9: MACRO +echo: MACRO db $e9, \1 ENDM @@ -162,12 +162,12 @@ vibrato_delay: MACRO ENDM ; unused -;musicec: MACRO +;pitch_offset: MACRO ; db $ec, \1 ;ENDM ; unused -;musiced: MACRO +;adjust_pitch_offset: MACRO ; db $ed, \1 ;ENDM diff --git a/src/macros/scripts.asm b/src/macros/scripts.asm index 738285f..6836b4d 100644..100755 --- a/src/macros/scripts.asm +++ b/src/macros/scripts.asm @@ -4,117 +4,507 @@ run_command: MACRO db \1_index ENDM -; TODO: create macros for overworld scripts after their usage and arguments are figured out. -; For example (current ScriptCommand_GiveBoosterPacks_index): + const_def + const ScriptCommand_EndScriptLoop1_index ; $00 + const ScriptCommand_CloseAdvancedTextBox_index ; $01 + const ScriptCommand_PrintTextString_index ; $02 + const Func_ccdc_index ; $03 + const ScriptCommand_AskQuestionJump_index ; $04 + const ScriptCommand_StartBattle_index ; $05 + const ScriptCommand_PrintVariableText_index ; $06 + const Func_cda8_index ; $07 + const ScriptCommand_PrintTextQuitFully_index ; $08 + const Func_cdcb_index ; $09 + const ScriptCommand_MoveActiveNPCByDirection_index ; $0a + const ScriptCommand_CloseTextBox_index ; $0b + const ScriptCommand_GiveBoosterPacks_index ; $0c + const ScriptCommand_JumpIfCardOwned_index ; $0d + const ScriptCommand_JumpIfCardInCollection_index ; $0e + const ScriptCommand_GiveCard_index ; $0f + const ScriptCommand_TakeCard_index ; $10 + const Func_cf53_index ; $11 + const Func_cf7b_index ; $12 + const ScriptCommand_JumpIfEnoughCardsOwned_index ; $13 + const ScriptCommand_JumpBasedOnFightingClubPupilStatus_index ; $14 + const Func_cfc6_index ; $15 + const Func_cfd4_index ; $16 + const Func_d00b_index ; $17 + const Func_d025_index ; $18 + const Func_d032_index ; $19 + const Func_d03f_index ; $1a + const ScriptCommand_Jump_index ; $1b + const ScriptCommand_TryGiveMedalPCPacks_index ; $1c + const ScriptCommand_SetPlayerDirection_index ; $1d + const ScriptCommand_MovePlayer_index ; $1e + const ScriptCommand_ShowCardReceivedScreen_index ; $1f + const ScriptCommand_SetDialogNPC_index ; $20 + const ScriptCommand_SetNextNPCAndScript_index ; $21 + const Func_d095_index ; $22 + const Func_d0be_index ; $23 + const ScriptCommand_DoFrames_index ; $24 + const Func_d0d9_index ; $25 + const ScriptCommand_JumpIfPlayerCoordsMatch_index ; $26 + const ScriptCommand_MoveActiveNPC_index ; $27 + const ScriptCommand_GiveOneOfEachTrainerBooster_index ; $28 + const Func_d103_index ; $29 + const Func_d125_index ; $2a + const Func_d135_index ; $2b + const Func_d16b_index ; $2c + const Func_cd4f_index ; $2d + const Func_cd94_index ; $2e + const ScriptCommand_MoveWramNPC_index ; $2f + const Func_cdd8_index ; $30 + const Func_cdf5_index ; $31 + const Func_d195_index ; $32 + const Func_d1ad_index ; $33 + const Func_d1b3_index ; $34 + const ScriptCommand_QuitScriptFully_index ; $35 + const Func_d244_index ; $36 + const ScriptCommand_ChooseDeckToDuelAgainstMultichoice_index ; $37 + const ScriptCommand_OpenDeckMachine_index ; $38 + const ScriptCommand_ChooseStarterDeckMultichoice_index ; $39 + const ScriptCommand_EnterMap_index ; $3a + const ScriptCommand_MoveArbitraryNPC_index ; $3b + const Func_d209_index ; $3c + const Func_d38f_index ; $3d + const Func_d396_index ; $3e + const Func_cd76_index ; $3f + const Func_d39d_index ; $40 + const Func_d3b9_index ; $41 + const ScriptCommand_TryGivePCPack_index ; $42 + const ScriptCommand_nop_index ; $43 + const Func_d3d4_index ; $44 + const Func_d3e0_index ; $45 + const Func_d3fe_index ; $46 + const Func_d408_index ; $47 + const Func_d40f_index ; $48 + const ScriptCommand_PlaySFX_index ; $49 + const ScriptCommand_PauseSong_index ; $4a + const ScriptCommand_ResumeSong_index ; $4b + const Func_d41d_index ; $4c + const ScriptCommand_WaitForSongToFinish_index ; $4d + const Func_d435_index ; $4e + const ScriptCommand_AskQuestionJumpDefaultYes_index ; $4f + const ScriptCommand_ShowSamNormalMultichoice_index ; $50 + const ScriptCommand_ShowSamTutorialMultichoice_index ; $51 + const Func_d43d_index ; $52 + const ScriptCommand_EndScriptLoop2_index ; $53 + const ScriptCommand_EndScriptLoop3_index ; $54 + const ScriptCommand_EndScriptLoop4_index ; $55 + const ScriptCommand_EndScriptLoop5_index ; $56 + const ScriptCommand_EndScriptLoop6_index ; $57 + const ScriptCommand_SetFlagValue_index ; $58 + const ScriptCommand_JumpIfFlagZero1_index ; $59 + const ScriptCommand_JumpIfFlagNonzero1_index ; $5a + const ScriptCommand_JumpIfFlagEqual_index ; $5b + const ScriptCommand_JumpIfFlagNotEqual_index ; $5c + const ScriptCommand_JumpIfFlagNotLessThan_index ; $5d + const ScriptCommand_JumpIfFlagLessThan_index ; $5e + const ScriptCommand_MaxOutFlagValue_index ; $5f + const ScriptCommand_ZeroOutFlagValue_index ; $60 + const ScriptCommand_JumpIfFlagNonzero2_index ; $61 + const ScriptCommand_JumpIfFlagZero2_index ; $62 + const ScriptCommand_IncrementFlagValue_index ; $63 + const ScriptCommand_EndScriptLoop7_index ; $64 + const ScriptCommand_EndScriptLoop8_index ; $65 + const ScriptCommand_EndScriptLoop9_index ; $66 + const ScriptCommand_EndScriptLoop10_index ; $67 + +; Script Macros + +; Stops the current script and returns control flow back to assembly +end_script_loop: MACRO + run_command ScriptCommand_EndScriptLoop1 +ENDM + +; Closes current dialog window +close_advanced_text_box: MACRO + run_command ScriptCommand_CloseAdvancedTextBox +ENDM + +; Opens a new dialog window and displays the given text +print_text_string: MACRO + run_command ScriptCommand_PrintTextString + tx \1 ; Text Pointer +ENDM + +; Displays text and allows players to choose yes or no. Will jump on yes. +; if first argument is 0000 (NULL), will overwrite last text with yes/no. +ask_question_jump: MACRO + run_command ScriptCommand_AskQuestionJump +IF ISCONST(\1) + dw \1 ; NULL +ELSE + tx \1 ; Text Pointer +ENDC + dw \2 ; Jump Location +ENDM + +; Begins a battle with the NPC currently being spoken to +start_battle: MACRO + run_command ScriptCommand_StartBattle + db \1 ; Prize Amount (ex PRIZES_2) + db \2 ; Deck ID (ex SAMS_PRACTICE_DECK_ID) + db \3 ; Duel Music (ex MUSIC_DUEL_THEME_1) +ENDM + +; Prints the first or second text depending on if wScriptControlByte is nonzero or zero respectively +print_variable_text: MACRO + run_command ScriptCommand_PrintVariableText + tx \1 ; Text Pointer + tx \2 ; Text Pointer +ENDM + +; Displays text then fully quits out of scripting system (Does NOT return to RST20) +print_text_quit_fully: MACRO + run_command ScriptCommand_PrintTextQuitFully + tx \1 ; Text Pointer +ENDM + +; Moves the current NPC depending on their current direction +; Argument points to a table of 4 NPCMovements chosen based on direction value +move_active_npc_by_direction: MACRO + run_command ScriptCommand_MoveActiveNPCByDirection + dw \1 ; Movement Table +ENDM + +; Closes the textbox currently on the screen +close_text_box: MACRO + run_command ScriptCommand_CloseTextBox +ENDM + +; Gives the player up to 3 booster packs. Arguments can be replaced by NO_BOOSTER +give_booster_packs: MACRO + run_command ScriptCommand_GiveBoosterPacks + db \1 ; booster pack (ex BOOSTER_LABORATORY_NEUTRAL) + db \2 ; booster pack + db \3 ; booster pack +ENDM + +; Jumps to a given script position if the player owns a card anywhere +jump_if_card_owned: MACRO + run_command ScriptCommand_JumpIfCardOwned + db \1 ; card ID (ex LAPRAS) + dw \2 ; script label +ENDM + +; Jumps to a given script position if the player has a card specifically in their collection +jump_if_card_in_collection: MACRO + run_command ScriptCommand_JumpIfCardInCollection + db \1 ; card ID (ex LAPRAS) + dw \2 ; script label +ENDM + +; Gives the player a card straight to their collection. +; Does not show the card received screen. For that see show_card_received_screen +give_card: MACRO + run_command ScriptCommand_GiveCard + db \1 ; card ID (ex LAPRAS) +ENDM + +; Removes a card from the player's collection, usually to trade +take_card: MACRO + run_command ScriptCommand_TakeCard + db \1 ; card ID (ex LAPRAS) +ENDM + +; Jumps to a given script position if the player owns enough cards +jump_if_enough_cards_owned: MACRO + run_command ScriptCommand_JumpIfEnoughCardsOwned + dw \1 ; amount of cards needed + dw \2 ; script label +ENDM + +; Jumps to a script position depending on how far in the fight club pupil quest you are +fight_club_pupil_jump: MACRO + run_command ScriptCommand_JumpBasedOnFightingClubPupilStatus + dw \1 ; Script Label (First Interaction) + dw \2 ; Script Label (Three Pupils Remaining) + dw \3 ; Script Label (Two Pupils Remaining) + dw \4 ; Script Label (One Pupil Remaining) + dw \5 ; Script Label (All Pupils Defeated) +ENDM + +; Jumps to a given script position +script_jump: MACRO + run_command ScriptCommand_Jump + dw \1 ; Script Label +ENDM + +; Attempts to send Dr. Mason's PC Packs to the player +try_give_medal_pc_packs: MACRO + run_command ScriptCommand_TryGiveMedalPCPacks +ENDM + +; Causes the player to face the specified direction +set_player_direction: MACRO + run_command ScriptCommand_SetPlayerDirection + db \1 ; Direction (ex NORTH) +ENDM + +; Moves the player +move_player: MACRO + run_command ScriptCommand_MovePlayer + db \1 ; Direction (ex NORTH) + db \2 ; Speed +ENDM + +; Shows a fullscreen image of a card and says the player has received it +show_card_received_screen: MACRO + run_command ScriptCommand_ShowCardReceivedScreen + db \1 ; Card received (ex LAPRAS) +ENDM + +; Sets the active NPC +set_dialog_npc: MACRO + run_command ScriptCommand_SetDialogNPC + db \1 ; NPC (ex NPC_DRMASON) +ENDM + +; Sets the active NPC and script. Not immediately executed. +set_next_npc_and_script: MACRO + run_command ScriptCommand_SetNextNPCAndScript + db \1 ; NPC (ex NPC_DRMASON) + dw \2 ; Script Label +ENDM + +; Waits a number of frames +do_frames: MACRO + run_command ScriptCommand_DoFrames + db \1 ; Number of frames to wait +ENDM + +; Jumps to a script position if the player's X and Y match the given values +jump_if_player_coords_match: MACRO + run_command ScriptCommand_JumpIfPlayerCoordsMatch + db \1 ; X Coord + db \2 ; Y Coord + dw \3 ; Script Label +ENDM + +; Moves the active NPC using an NPCMovement +move_active_npc: MACRO + run_command ScriptCommand_MoveActiveNPC + dw \1 ; NPCMovement (ex NPCMovement_d880) +ENDM + +; Gives the player one of each booster pack with a trainer focus +give_one_of_each_trainer_booster: MACRO + run_command ScriptCommand_GiveOneOfEachTrainerBooster +ENDM + +; Moves the NPC in wTempNPC using an NPCMovement +move_wram_npc: MACRO + run_command ScriptCommand_MoveWramNPC + dw \1 ; NPCMovement (ex NPCMovement_d880) +ENDM + +; Closes Advanced TextBoxes then Ends Script Loop +quit_script_fully: MACRO + run_command ScriptCommand_QuitScriptFully +ENDM + +choose_deck_to_duel_against_multichoice: MACRO + run_command ScriptCommand_ChooseDeckToDuelAgainstMultichoice +ENDM + +; Opens the deck machine +open_deck_machine: MACRO + run_command ScriptCommand_OpenDeckMachine + db \1 ; Deck Machine Type? +ENDM + +choose_starter_deck_multichoice: MACRO + run_command ScriptCommand_ChooseStarterDeckMultichoice +ENDM + +; Enters a given map screen +enter_map: MACRO + run_command ScriptCommand_EnterMap + db \1 ; Unused + db \2 ; Room (ex MASON_LABORATORY) + db \3 ; Player X + db \4 ; Player Y + db \5 ; Player Direction +ENDM + +; Moves any NPC using an NPCMovement +move_arbitrary_npc: MACRO + run_command ScriptCommand_MoveArbitraryNPC + db \1 ; NPC (ex NPC_JOSHUA) + dw \2 ; NPCMovement (NPCMovement_e2ab) +ENDM + +; Tries to give the player a specific PC Pack from Dr. Mason +try_give_pc_pack: MACRO + run_command ScriptCommand_TryGivePCPack + db \1 ; PC Pack Index +ENDM + +; Nothing. +script_nop: MACRO + run_command ScriptCommand_nop +ENDM + +; Plays a sound effect +play_sfx: MACRO + run_command ScriptCommand_PlaySFX + db \1 ; Sound Effect (ex SFX_56) +ENDM + +; Pauses the current song +pause_song: MACRO + run_command ScriptCommand_PauseSong +ENDM + +; Resumes the current song +resume_song: MACRO + run_command ScriptCommand_ResumeSong +ENDM + +; Waits for the current song to finish +wait_for_song_to_finish: MACRO + run_command ScriptCommand_WaitForSongToFinish +ENDM + +; Asks the player a question then jumps +ask_question_jump_default_yes: MACRO + run_command ScriptCommand_AskQuestionJumpDefaultYes +IF ISCONST(\1) + dw \1 ; NULL +ELSE + tx \1 ; Text Pointer +ENDC + dw \2 ; Script Label +ENDM + +show_sam_normal_multichoice: MACRO + run_command ScriptCommand_ShowSamNormalMultichoice +ENDM + +show_sam_tutorial_multichoice: MACRO + run_command ScriptCommand_ShowSamTutorialMultichoice +ENDM + +end_script_loop_2: MACRO + run_command ScriptCommand_EndScriptLoop2 +ENDM + +end_script_loop_3: MACRO + run_command ScriptCommand_EndScriptLoop3 +ENDM + +end_script_loop_4: MACRO + run_command ScriptCommand_EndScriptLoop4 +ENDM + +end_script_loop_5: MACRO + run_command ScriptCommand_EndScriptLoop5 +ENDM + +end_script_loop_6: MACRO + run_command ScriptCommand_EndScriptLoop6 +ENDM + +; Sets a flag's value +script_set_flag_value: MACRO + run_command ScriptCommand_SetFlagValue + db \1 ; flag (ex EVENT_FLAG_11) + db \2 ; new value +ENDM + +; Jumps to a script position if a given flag is zero +jump_if_flag_zero_1: MACRO + run_command ScriptCommand_JumpIfFlagZero1 + db \1 ; flag (ex EVENT_FLAG_11) + dw \2 ; Script Label +ENDM + +; Jumps to a script position if a given flag is nonzero +jump_if_flag_nonzero_1: MACRO + run_command ScriptCommand_JumpIfFlagNonzero1 + db \1 ; flag (ex EVENT_FLAG_11) + dw \2 ; Script Label +ENDM + +; Jumps to a script position if a flag matches given value +jump_if_flag_equal: MACRO + run_command ScriptCommand_JumpIfFlagEqual + db \1 ; flag (ex EVENT_FLAG_11) + db \2 ; value + dw \3 ; Script Label +ENDM + +; Jumps to a script position if a flag does not match a given value +jump_if_flag_not_equal: MACRO + run_command ScriptCommand_JumpIfFlagNotEqual + db \1 ; flag (ex EVENT_FLAG_11) + db \2 ; value + dw \3 ; Script Label +ENDM + +; Jump to a script position if a flag is not less than a given value +jump_if_flag_not_less_than: MACRO + run_command ScriptCommand_JumpIfFlagNotLessThan + db \1 ; flag (ex EVENT_FLAG_11) + db \2 ; value + dw \3 ; Script Label +ENDM + +; Jump to a script position if a flag is less than a given value +jump_if_flag_less_than: MACRO + run_command ScriptCommand_JumpIfFlagLessThan + db \1 ; flag (ex EVENT_FLAG_11) + db \2 ; value + dw \3 ; Script Label +ENDM + +; Sets a flag to its maximum possible value +max_out_flag_value: MACRO + run_command ScriptCommand_MaxOutFlagValue + db \1 ; flag (ex EVENT_FLAG_11) +ENDM + +; Sets a flags value to zero +zero_out_flag_value: MACRO + run_command ScriptCommand_ZeroOutFlagValue + db \1 ; flag (ex EVENT_FLAG_11) +ENDM + +; Jumps to a script position if a flag is zero +jump_if_flag_zero_2: MACRO + run_command ScriptCommand_JumpIfFlagZero2 + db \1 ; flag (ex EVENT_FLAG_11) + dw \2 ; Script Label +ENDM + +; Jumps to a script position if a flag is nonzero +jump_if_flag_nonzero_2: MACRO + run_command ScriptCommand_JumpIfFlagNonzero2 + db \1 ; flag (ex EVENT_FLAG_11) + dw \2 ; Script Label +ENDM + +; Increments given flags value (truncates the new value) +script_increment_flag_value: MACRO + run_command ScriptCommand_IncrementFlagValue + db \1 ; flag (ex EVENT_FLAG_11) +ENDM + +end_script_loop_7: MACRO + run_command ScriptCommand_EndScriptLoop7 +ENDM + +end_script_loop_8: MACRO + run_command ScriptCommand_EndScriptLoop8 +ENDM + +end_script_loop_9: MACRO + run_command ScriptCommand_EndScriptLoop9 +ENDM + +end_script_loop_10: MACRO + run_command ScriptCommand_EndScriptLoop10 +ENDM -; const SCRIPT_GIVE_BOOSTER_PACKS ; $0c -;give_booster_packs: MACRO -; db SCRIPT_GIVE_BOOSTER_PACKS -; db \1, \2, \3 -;ENDM - const_def - const ScriptCommand_EndScriptLoop1_index ; $00 - const ScriptCommand_CloseAdvancedTextBox_index ; $01 - const ScriptCommand_PrintTextString_index ; $02 - const Func_ccdc_index ; $03 - const ScriptCommand_AskQuestionJump_index ; $04 - const ScriptCommand_StartBattle_index ; $05 - const ScriptCommand_PrintVariableText_index ; $06 - const Func_cda8_index ; $07 - const ScriptCommand_PrintTextQuitFully_index ; $08 - const Func_cdcb_index ; $09 - const ScriptCommand_MoveActiveNPCByDirection_index ; $0a - const ScriptCommand_CloseTextBox_index ; $0b - const ScriptCommand_GiveBoosterPacks_index ; $0c - const ScriptCommand_CheckIfCardInCollectionOrDecks_index ; $0d - const ScriptCommand_CheckIfCardInCollection_index ; $0e - const ScriptCommand_GiveCard_index ; $0f - const ScriptCommand_TakeCard_index ; $10 - const Func_cf53_index ; $11 - const Func_cf7b_index ; $12 - const ScriptCommand_CheckRawAmountOfCardsOwned_index ; $13 - const ScriptCommand_JumpBasedOnFightingClubPupilStatus_index ; $14 - const Func_cfc6_index ; $15 - const Func_cfd4_index ; $16 - const Func_d00b_index ; $17 - const Func_d025_index ; $18 - const Func_d032_index ; $19 - const Func_d03f_index ; $1a - const ScriptCommand_Jump_index ; $1b - const ScriptCommand_TryGiveMedalPCPacks_index ; $1c - const ScriptCommand_SetPlayerDirection_index ; $1d - const ScriptCommand_MovePlayer_index ; $1e - const ScriptCommand_ShowCardReceivedScreen_index ; $1f - const ScriptCommand_SetDialogName_index ; $20 - const ScriptCommand_SetNextNPCandScript_index ; $21 - const Func_d095_index ; $22 - const Func_d0be_index ; $23 - const ScriptCommand_DoFrames_index ; $24 - const Func_d0d9_index ; $25 - const ScriptCommand_JumpIfPlayerCoordMatches_index ; $26 - const ScriptCommand_MoveActiveNPC_index ; $27 - const ScriptCommand_GiveOneOfEachTrainerBooster_index ; $28 - const Func_d103_index ; $29 - const Func_d125_index ; $2a - const Func_d135_index ; $2b - const Func_d16b_index ; $2c - const Func_cd4f_index ; $2d - const Func_cd94_index ; $2e - const ScriptCommand_MoveWramNPC_index ; $2f - const Func_cdd8_index ; $30 - const Func_cdf5_index ; $31 - const Func_d195_index ; $32 - const Func_d1ad_index ; $33 - const Func_d1b3_index ; $34 - const ScriptCommand_QuitScriptFully_index ; $35 - const Func_d244_index ; $36 - const ScriptCommand_ShowMultichoiceTextbox_ChooseDeckToDuelAgainst_index ; $37 - const ScriptCommand_OpenDeckMachine_index ; $38 - const ScriptCommand_ShowMultichoiceTextbox_ChooseStarterDeck_index ; $39 - const ScriptCommand_EnterMap_index ; $3a - const ScriptCommand_MoveArbitraryNPC_index ; $3b - const Func_d209_index ; $3c - const Func_d38f_index ; $3d - const Func_d396_index ; $3e - const Func_cd76_index ; $3f - const Func_d39d_index ; $40 - const Func_d3b9_index ; $41 - const ScriptCommand_TryGivePCPack_index ; $42 - const ScriptCommand_nop_index ; $43 - const Func_d3d4_index ; $44 - const Func_d3e0_index ; $45 - const Func_d3fe_index ; $46 - const Func_d408_index ; $47 - const Func_d40f_index ; $48 - const ScriptCommand_PlaySFX_index ; $49 - const ScriptCommand_PauseSong_index ; $4a - const ScriptCommand_ResumeSong_index ; $4b - const Func_d41d_index ; $4c - const ScriptCommand_WaitForSongToFinish_index ; $4d - const Func_d435_index ; $4e - const ScriptCommand_AskQuestionJumpDefaultYes_index ; $4f - const ScriptCommand_ShowSamNormalMultichoice_index ; $50 - const ScriptCommand_ShowSamTutorialMultichoice_index ; $51 - const Func_d43d_index ; $52 - const ScriptCommand_EndScriptLoop2_index ; $53 - const ScriptCommand_EndScriptLoop3_index ; $54 - const ScriptCommand_EndScriptLoop4_index ; $55 - const ScriptCommand_EndScriptLoop5_index ; $56 - const ScriptCommand_EndScriptLoop6_index ; $57 - const ScriptCommand_SetFlagValue_index ; $58 - const ScriptCommand_JumpIfFlagZero1_index ; $59 - const ScriptCommand_JumpIfFlagNonzero1_index ; $5a - const ScriptCommand_JumpIfFlagEqual_index ; $5b - const ScriptCommand_JumpIfFlagNotEqual_index ; $5c - const ScriptCommand_JumpIfFlagNotLessThan_index ; $5d - const ScriptCommand_JumpIfFlagLessThan_index ; $5e - const ScriptCommand_MaxOutFlagValue_index ; $5f - const ScriptCommand_ZeroOutFlagValue_index ; $60 - const ScriptCommand_JumpIfFlagNonzero2_index ; $61 - const ScriptCommand_JumpIfFlagZero2_index ; $62 - const ScriptCommand_IncrementFlagValue_index ; $63 - const ScriptCommand_EndScriptLoop7_index ; $64 - const ScriptCommand_EndScriptLoop8_index ; $65 - const ScriptCommand_EndScriptLoop9_index ; $66 - const ScriptCommand_EndScriptLoop10_index ; $67 diff --git a/src/text/text2.asm b/src/text/text2.asm index 43a8ba5..fc603ee 100644 --- a/src/text/text2.asm +++ b/src/text/text2.asm @@ -626,12 +626,12 @@ ChoosePokemonInYourAreaThenPokemonInYourOppText: ; 398e8 (e:58e8) line "a Pokémon in your opponent's." done -Text0169: ; 3992b (e:592b) +ChooseUpTo4FromDiscardPileText: ; 3992b (e:592b) text "Choose up to 4" line "from the Discard Pile." done -Text016a: ; 39952 (e:5952) +ChooseAPokemonToSwitchWithActivePokemonText: ; 39952 (e:5952) text "Choose a Pokémon to switch" line "with the Active Pokémon." done diff --git a/src/text/text_offsets.asm b/src/text/text_offsets.asm index 23a7ddf..b793894 100644 --- a/src/text/text_offsets.asm +++ b/src/text/text_offsets.asm @@ -362,8 +362,8 @@ TextOffsets:: ; 34000 (d:4000) textpointer ChooseBasicPokemonToPlaceOnBenchText ; 0x0166 textpointer ChooseEvolutionCardAndPressAButtonToDevolveText ; 0x0167 textpointer ChoosePokemonInYourAreaThenPokemonInYourOppText ; 0x0168 - textpointer Text0169 ; 0x0169 - textpointer Text016a ; 0x016a + textpointer ChooseUpTo4FromDiscardPileText ; 0x0169 + textpointer ChooseAPokemonToSwitchWithActivePokemonText ; 0x016a textpointer PokemonAndAllAttachedCardsWereReturnedToDeckText ; 0x016b textpointer PokemonWasReturnedFromArenaToHandText ; 0x016c textpointer PokemonWasReturnedFromBenchToHandText ; 0x016d diff --git a/src/wram.asm b/src/wram.asm index 8912533..30ea0e3 100644 --- a/src/wram.asm +++ b/src/wram.asm @@ -2702,10 +2702,12 @@ wCurSongBank:: ; dd81 wCurSfxID:: ; dd82 ds $1 -wdd83:: ; dd83 +; priority value of current sfx (0 if nothing is playing) +wSfxPriority:: ; dd83 ds $1 -wMusicDC:: ; dd84 +; 8-bit output enable mask for left/right output for each channel +wMusicStereoPanning:: ; dd84 ds $1 wdd85:: ; dd85 @@ -2789,16 +2791,19 @@ wddba:: ; ddba wddbb:: ; ddbb ds $4 -wMusicE8:: ; ddbf +; the delay (1-8) before a note is cut off early (0 is disabled) +wMusicCutoff:: ; ddbf ds $4 wddc3:: ; ddc3 ds $4 -wMusicE9:: ; ddc7 +; the volume to apply after a cutoff +wMusicEcho:: ; ddc7 ds $4 -wMusicEC:: ; ddcb +; the pitch offset to apply to each note (see Music1_Pitches) +wMusicPitchOffset:: ; ddcb ds $4 wMusicSpeed:: ; ddcf @@ -2822,7 +2827,8 @@ wdde3:: ; dde3 wMusicVolume:: ; dde7 ds $3 -wMusicE4:: ; ddea +; the frequency offset to apply to each note +wMusicFrequencyOffset:: ; ddea ds $3 wdded:: ; dded @@ -2901,7 +2907,7 @@ wCurSongIDBackup:: ; de55 wCurSongBankBackup:: ; de56 ds $1 -wMusicDCBackup:: ; de57 +wMusicStereoPanningBackup:: ; de57 ds $1 wMusicDuty1Backup:: ; de58 @@ -2943,16 +2949,16 @@ wde80:: ; de80 wde84:: ; de84 ds $4 -wMusicE8Backup:: ; de88 +wMusicCutoffBackup:: ; de88 ds $4 wde8c:: ; de8c ds $4 -wMusicE9Backup:: ; de90 +wMusicEchoBackup:: ; de90 ds $4 -wMusicECBackup:: ; de94 +wMusicPitchOffsetBackup:: ; de94 ds $4 wMusicSpeedBackup:: ; de98 @@ -2967,7 +2973,7 @@ wMusicVibratoDelayBackup:: ; dea0 wMusicVolumeBackup:: ; dea4 ds $3 -wMusicE4Backup:: ; dea7 +wMusicFrequencyOffsetBackup:: ; dea7 ds $3 wdeaa:: ; deaa diff --git a/tools/.gitignore b/tools/.gitignore index 93050b9..8016fb6 100644 --- a/tools/.gitignore +++ b/tools/.gitignore @@ -1,2 +1,4 @@ scan_includes gfx + +*.exe diff --git a/tools/script_extractor.py b/tools/script_extractor.py index d8ebc06..8869c66 100644..100755 --- a/tools/script_extractor.py +++ b/tools/script_extractor.py @@ -55,43 +55,78 @@ def extractMovement(game_data, loc, errQuit): def decodeLine(scriptList, game_data, loc, ignore_broken, locList): currLine = scriptList[game_data[loc]] - ret = "\trun_command " + currLine[0] + "\n" + macroMode = False + if currLine[3] != "": # this seems like a bad way to handle macros, but the least bad I wanna do rn + macroMode = True + ret = "\t" + currLine[3] + " " + else: + ret = "\trun_command " + currLine[0] + "\n" loc+=1 quit = currLine[2] for c in currLine[1]: if c == "b": - ret += "\tdb $" + format(game_data[loc],"02x") + "\n" + if macroMode: + ret += "$" + format(game_data[loc],"02x") + ", " + else: + ret += "\tdb $" + format(game_data[loc],"02x") + "\n" loc += 1 elif c == "i": - ret += "\tdb " + str(game_data[loc]) + "\n" + if macroMode: + ret += str(game_data[loc]) + ", " + else: + ret += "\tdb " + str(game_data[loc]) + "\n" loc += 1 elif c == "w": - ret += "\tdw $" + format((game_data[loc] + (game_data[loc+1]<<8)),"04x") + "\n" + if macroMode: + ret += "$" + format((game_data[loc] + (game_data[loc+1]<<8)),"04x") + ", " + else: + ret += "\tdw $" + format((game_data[loc] + (game_data[loc+1]<<8)),"04x") + "\n" loc += 2 elif c == "j": wordLoc = (game_data[loc] + (game_data[loc+1]<<8)) if wordLoc == 0000: - ret += "\tdw NO_JUMP\n" + if macroMode: + ret += "NO_JUMP, " + else: + ret += "\tdw NO_JUMP\n" else: - ret += "\tdw .ows_" + format(wordLoc+0x8000,"04x") + "\n" + if macroMode: + ret += ".ows_" + format(wordLoc+0x8000,"04x") + ", " + else: + ret += "\tdw .ows_" + format(wordLoc+0x8000,"04x") + "\n" locList.append(wordLoc) loc += 2 elif c == "t": addr = (game_data[loc] + (game_data[loc+1]<<8)) if addr == 0: - ret += "\tdw $0000\n" + if macroMode: + ret += "$0000, " + else: + ret += "\tdw $0000\n" else: - ret += "\ttx Text" + format(addr,"04x") + "\n" + if macroMode: + ret += "Text" + format(addr,"04x") + ", " + else: + ret += "\ttx Text" + format(addr,"04x") + "\n" loc += 2 elif c == "f": - ret += "\tdb EVENT_FLAG_" + format(game_data[loc],"02X") + "\n" + if macroMode: + ret += "EVENT_FLAG_" + format(game_data[loc],"02X") + ", " + else: + ret += "\tdb EVENT_FLAG_" + format(game_data[loc],"02X") + "\n" loc += 1 elif c == "d": - ret += "\tdb " + dir_list[game_data[loc]] + "\n" + if macroMode: + ret += dir_list[game_data[loc]] + ", " + else: + ret += "\tdb " + dir_list[game_data[loc]] + "\n" loc += 1 elif c == "m": wordLoc = (game_data[loc] + (game_data[loc+1]<<8)) - ret += "\tdw NPCMovement_" + format(wordLoc + 0x8000, "04x") + "\n" + if macroMode: + ret += "NPCMovement_" + format(wordLoc + 0x8000, "04x") + ", " + else: + ret += "\tdw NPCMovement_" + format(wordLoc + 0x8000, "04x") + "\n" loc += 2 elif c == "q": print("haven't updated data for this yet") @@ -99,6 +134,9 @@ def decodeLine(scriptList, game_data, loc, ignore_broken, locList): quit = QUIT_DEBUG else: print("UNACCEPTED CHARACTER: " + c) + # if in macro mode, remove the extra `, ` from the end + if ret[-2:] == ", ": + ret = ret[:-1] return (loc, ret, quit) def main(): @@ -175,110 +213,110 @@ def printScript(game_data, loc, auto, ignore_broken, scriptList, \ def createList(): # this is a func just so all this can go at the bottom # name, arg list, is an ender return [ - ("ScriptCommand_EndScriptLoop1", "", QUIT_CONTINUE_CODE), - ("ScriptCommand_CloseAdvancedTextBox", "", DO_NOT_QUIT), - ("ScriptCommand_PrintTextString", "t", DO_NOT_QUIT), - ("Func_ccdc", "t", DO_NOT_QUIT), - ("ScriptCommand_AskQuestionJump", "tj", DO_NOT_QUIT), # more complex behavior too (jumping) - ("ScriptCommand_StartBattle", "bbb", DO_NOT_QUIT), - ("ScriptCommand_PrintVariableText", "tt", DO_NOT_QUIT), - ("Func_cda8", "bbbb", DO_NOT_QUIT), - ("ScriptCommand_PrintTextQuitFully", "t", QUIT_SPECIAL), - ("Func_cdcb", "", DO_NOT_QUIT), - ("ScriptCommand_MoveActiveNPCByDirection", "w", DO_NOT_QUIT), - ("ScriptCommand_CloseTextBox", "", DO_NOT_QUIT), - ("ScriptCommand_GiveBoosterPacks", "bbb", DO_NOT_QUIT), - ("ScriptCommand_CheckIfCardInCollectionOrDecks", "bj", DO_NOT_QUIT), # more complex behavior too (jumping) - ("ScriptCommand_CheckIfCardInCollection", "bj", DO_NOT_QUIT), - ("ScriptCommand_GiveCard", "b", DO_NOT_QUIT), - ("ScriptCommand_TakeCard", "b", DO_NOT_QUIT), - ("Func_cf53", "w", DO_NOT_QUIT), # more complex behavior too (jumping) - ("Func_cf7b", "", DO_NOT_QUIT), - ("ScriptCommand_CheckRawAmountOfCardsOwned", "bbbb", DO_NOT_QUIT), # more complex behavior too (jumping + ??) - ("ScriptCommand_JumpBasedOnFightingClubPupilStatus", "w", DO_NOT_QUIT), # only jumps? still needs args to do that though - ("Func_cfc6", "b", DO_NOT_QUIT), - ("Func_cfd4", "", DO_NOT_QUIT), - ("Func_d00b", "", DO_NOT_QUIT), # includes something with random and extra data - ("Func_d025", "w", DO_NOT_QUIT), # possibly only jumps, still needs args - ("Func_d032", "w", DO_NOT_QUIT), # see above - ("Func_d03f", "", DO_NOT_QUIT), - ("ScriptCommand_Jump", "j", QUIT_JUMP), # jumps to d - ("ScriptCommand_TryGiveMedalPCPacks", "", DO_NOT_QUIT), - ("ScriptCommand_SetPlayerDirection", "d", DO_NOT_QUIT), - ("ScriptCommand_MovePlayer", "db", DO_NOT_QUIT), - ("ScriptCommand_ShowCardReceivedScreen", "b", DO_NOT_QUIT), - ("ScriptCommand_SetDialogName", "b", DO_NOT_QUIT), - ("ScriptCommand_SetNextNPCandScript", "bj", DO_NOT_QUIT), - ("Func_d095", "bbb", DO_NOT_QUIT), - ("Func_d0be", "bb", DO_NOT_QUIT), - ("ScriptCommand_DoFrames", "i", DO_NOT_QUIT), - ("Func_d0d9", "bbw", DO_NOT_QUIT), # jumps but still needs args - ("ScriptCommand_JumpIfPlayerCoordMatches", "iij", DO_NOT_QUIT), # jumps but still needs args - ("ScriptCommand_MoveActiveNPC", "m", DO_NOT_QUIT), - ("ScriptCommand_GiveOneOfEachTrainerBooster", "", DO_NOT_QUIT), - ("Func_d103", "q", DO_NOT_QUIT), - ("Func_d125", "b", DO_NOT_QUIT), - ("Func_d135", "b", DO_NOT_QUIT), - ("Func_d16b", "b", DO_NOT_QUIT), - ("Func_cd4f", "bbb", DO_NOT_QUIT), - ("Func_cd94", "q", DO_NOT_QUIT), - ("ScriptCommand_MoveWramNPC", "m", DO_NOT_QUIT), - ("Func_cdd8", "", DO_NOT_QUIT), - ("Func_cdf5", "bb", DO_NOT_QUIT), - ("Func_d195", "", DO_NOT_QUIT), - ("Func_d1ad", "", DO_NOT_QUIT), - ("Func_d1b3", "", DO_NOT_QUIT), - ("ScriptCommand_QuitScriptFully", "", QUIT_SPECIAL), - ("Func_d244", "q", DO_NOT_QUIT), - ("ScriptCommand_ShowMultichoiceTextbox_ChooseDeckToDuelAgainst", "q", DO_NOT_QUIT), - ("ScriptCommand_OpenDeckMachine", "b", DO_NOT_QUIT), - ("ScriptCommand_ShowMultichoiceTextbox_ChooseStarterDeck", "q", DO_NOT_QUIT), - ("ScriptCommand_EnterMap", "bbood", DO_NOT_QUIT), - ("ScriptCommand_MoveArbitraryNPC", "bm", DO_NOT_QUIT), - ("Func_d209", "", DO_NOT_QUIT), - ("Func_d38f", "b", DO_NOT_QUIT), - ("Func_d396", "b", DO_NOT_QUIT), - ("Func_cd76", "", DO_NOT_QUIT), - ("Func_d39d", "b", DO_NOT_QUIT), - ("Func_d3b9", "", DO_NOT_QUIT), - ("ScriptCommand_TryGivePCPack", "b", DO_NOT_QUIT), - ("ScriptCommand_nop", "", DO_NOT_QUIT), - ("Func_d3d4", "q", DO_NOT_QUIT), - ("Func_d3e0", "", DO_NOT_QUIT), - ("Func_d3fe", "q", DO_NOT_QUIT), - ("Func_d408", "b", DO_NOT_QUIT), - ("Func_d40f", "q", DO_NOT_QUIT), - ("ScriptCommand_PlaySFX", "b", DO_NOT_QUIT), - ("ScriptCommand_PauseSong", "q", DO_NOT_QUIT), - ("ScriptCommand_ResumeSong", "q", DO_NOT_QUIT), - ("Func_d41d", "", DO_NOT_QUIT), - ("ScriptCommand_WaitForSongToFinish", "q", DO_NOT_QUIT), - ("Func_d435", "b", DO_NOT_QUIT), - ("ScriptCommand_AskQuestionJumpDefaultYes", "tj", DO_NOT_QUIT), - ("ScriptCommand_ShowSamNormalMultichoice", "q", DO_NOT_QUIT), - ("ScriptCommand_ShowSamTutorialMultichoice", "", DO_NOT_QUIT), - ("Func_d43d", "", DO_NOT_QUIT), - ("ScriptCommand_EndScriptLoop2", "q", QUIT_CONTINUE_CODE), - ("ScriptCommand_EndScriptLoop3", "q", QUIT_CONTINUE_CODE), - ("ScriptCommand_EndScriptLoop4", "q", QUIT_CONTINUE_CODE), - ("ScriptCommand_EndScriptLoop5", "q", QUIT_CONTINUE_CODE), - ("ScriptCommand_EndScriptLoop6", "q", QUIT_CONTINUE_CODE), - ("ScriptCommand_SetFlagValue", "fb", DO_NOT_QUIT), - ("ScriptCommand_JumpIfFlagZero1", "fj", DO_NOT_QUIT), - ("ScriptCommand_JumpIfFlagNonzero1", "q", DO_NOT_QUIT), - ("ScriptCommand_JumpIfFlagEqual", "fbj", DO_NOT_QUIT), # also capable of jumping - ("ScriptCommand_JumpIfFlagNotEqual", "fbj", DO_NOT_QUIT), # jumps - ("ScriptCommand_JumpIfFlagNotLessThan", "fbj", DO_NOT_QUIT), - ("ScriptCommand_JumpIfFlagLessThan", "fbj", DO_NOT_QUIT), - ("ScriptCommand_MaxOutFlagValue", "f", DO_NOT_QUIT), - ("ScriptCommand_ZeroOutFlagValue", "f", DO_NOT_QUIT), - ("ScriptCommand_JumpIfFlagNonzero2", "fj", DO_NOT_QUIT), - ("ScriptCommand_JumpIfFlagZero2", "fj", DO_NOT_QUIT), - ("ScriptCommand_IncrementFlagValue", "f", DO_NOT_QUIT), - ("ScriptCommand_EndScriptLoop7", "q", QUIT_CONTINUE_CODE), - ("ScriptCommand_EndScriptLoop8", "q", QUIT_CONTINUE_CODE), - ("ScriptCommand_EndScriptLoop9", "q", QUIT_CONTINUE_CODE), - ("ScriptCommand_EndScriptLoop10", "q", QUIT_CONTINUE_CODE) + ("ScriptCommand_EndScriptLoop1", "", QUIT_CONTINUE_CODE,"end_script_loop"), + ("ScriptCommand_CloseAdvancedTextBox", "", DO_NOT_QUIT,"close_advanced_text_box"), + ("ScriptCommand_PrintTextString", "t", DO_NOT_QUIT,"print_text_string"), + ("Func_ccdc", "t", DO_NOT_QUIT,""), + ("ScriptCommand_AskQuestionJump", "tj", DO_NOT_QUIT,"ask_question_jump"), # more complex behavior too (jumping) + ("ScriptCommand_StartBattle", "bbb", DO_NOT_QUIT,"start_battle"), + ("ScriptCommand_PrintVariableText", "tt", DO_NOT_QUIT,"print_variable_text"), + ("Func_cda8", "bbbb", DO_NOT_QUIT,""), + ("ScriptCommand_PrintTextQuitFully", "t", QUIT_SPECIAL,"print_text_quit_fully"), + ("Func_cdcb", "", DO_NOT_QUIT,""), + ("ScriptCommand_MoveActiveNPCByDirection", "w", DO_NOT_QUIT,"move_active_npc_by_direction"), + ("ScriptCommand_CloseTextBox", "", DO_NOT_QUIT,"close_text_box"), + ("ScriptCommand_GiveBoosterPacks", "bbb", DO_NOT_QUIT,"give_booster_packs"), + ("ScriptCommand_JumpIfCardOwned", "bj", DO_NOT_QUIT,"jump_if_card_owned"), + ("ScriptCommand_JumpIfCardInCollection", "bj", DO_NOT_QUIT,"jump_if_card_in_collection"), + ("ScriptCommand_GiveCard", "b", DO_NOT_QUIT,"give_card"), + ("ScriptCommand_TakeCard", "b", DO_NOT_QUIT,"take_card"), + ("Func_cf53", "w", DO_NOT_QUIT,""), # more complex behavior too (jumping) + ("Func_cf7b", "", DO_NOT_QUIT,""), + ("ScriptCommand_JumpIfEnoughCardsOwned", "wj", DO_NOT_QUIT,"jump_if_enough_cards_owned"), + ("ScriptCommand_JumpBasedOnFightingClubPupilStatus", "jjjjj", DO_NOT_QUIT,"fight_club_pupil_jump"), + ("Func_cfc6", "b", DO_NOT_QUIT,""), + ("Func_cfd4", "", DO_NOT_QUIT,""), + ("Func_d00b", "", DO_NOT_QUIT,""), # includes something with random and extra data + ("Func_d025", "w", DO_NOT_QUIT,""), # possibly only jumps, still needs args + ("Func_d032", "w", DO_NOT_QUIT,""), # see above + ("Func_d03f", "", DO_NOT_QUIT,""), + ("ScriptCommand_Jump", "j", QUIT_JUMP,"script_jump"), + ("ScriptCommand_TryGiveMedalPCPacks", "", DO_NOT_QUIT,"try_give_medal_pc_packs"), + ("ScriptCommand_SetPlayerDirection", "d", DO_NOT_QUIT,"set_player_direction"), + ("ScriptCommand_MovePlayer", "di", DO_NOT_QUIT,"move_player"), + ("ScriptCommand_ShowCardReceivedScreen", "b", DO_NOT_QUIT,"show_card_received_screen"), + ("ScriptCommand_SetDialogNPC", "b", DO_NOT_QUIT,"set_dialog_npc"), + ("ScriptCommand_SetNextNPCAndScript", "bj", DO_NOT_QUIT,"set_next_npc_and_script"), + ("Func_d095", "bbb", DO_NOT_QUIT,""), + ("Func_d0be", "bb", DO_NOT_QUIT,""), + ("ScriptCommand_DoFrames", "i", DO_NOT_QUIT,"do_frames"), + ("Func_d0d9", "bbw", DO_NOT_QUIT,""), # jumps but still needs args + ("ScriptCommand_JumpIfPlayerCoordsMatch", "iij", DO_NOT_QUIT,"jump_if_player_coords_match"), # jumps but still needs args + ("ScriptCommand_MoveActiveNPC", "m", DO_NOT_QUIT,"move_active_npc"), + ("ScriptCommand_GiveOneOfEachTrainerBooster", "", DO_NOT_QUIT,"give_one_of_each_trainer_booster"), + ("Func_d103", "q", DO_NOT_QUIT,""), + ("Func_d125", "b", DO_NOT_QUIT,""), + ("Func_d135", "b", DO_NOT_QUIT,""), + ("Func_d16b", "b", DO_NOT_QUIT,""), + ("Func_cd4f", "bbb", DO_NOT_QUIT,""), + ("Func_cd94", "q", DO_NOT_QUIT,""), + ("ScriptCommand_MoveWramNPC", "m", DO_NOT_QUIT,"move_wram_npc"), + ("Func_cdd8", "", DO_NOT_QUIT,""), + ("Func_cdf5", "bb", DO_NOT_QUIT,""), + ("Func_d195", "", DO_NOT_QUIT,""), + ("Func_d1ad", "", DO_NOT_QUIT,""), + ("Func_d1b3", "", DO_NOT_QUIT,""), + ("ScriptCommand_QuitScriptFully", "", QUIT_SPECIAL,"quit_script_fully"), + ("Func_d244", "q", DO_NOT_QUIT,""), + ("ScriptCommand_ChooseDeckToDuelAgainstMultichoice", "", DO_NOT_QUIT,"choose_deck_to_duel_against_multichoice"), + ("ScriptCommand_OpenDeckMachine", "b", DO_NOT_QUIT,"open_deck_machine"), + ("ScriptCommand_ChooseStarterDeckMultichoice", "", DO_NOT_QUIT,""), + ("ScriptCommand_EnterMap", "bbood", DO_NOT_QUIT,"enter_map"), + ("ScriptCommand_MoveArbitraryNPC", "bm", DO_NOT_QUIT,"move_arbitrary_npc"), + ("Func_d209", "", DO_NOT_QUIT,""), + ("Func_d38f", "b", DO_NOT_QUIT,""), + ("Func_d396", "b", DO_NOT_QUIT,""), + ("Func_cd76", "", DO_NOT_QUIT,""), + ("Func_d39d", "b", DO_NOT_QUIT,""), + ("Func_d3b9", "", DO_NOT_QUIT,""), + ("ScriptCommand_TryGivePCPack", "b", DO_NOT_QUIT,"try_give_pc_pack"), + ("ScriptCommand_nop", "", DO_NOT_QUIT,"script_nop"), + ("Func_d3d4", "q", DO_NOT_QUIT,""), + ("Func_d3e0", "", DO_NOT_QUIT,""), + ("Func_d3fe", "q", DO_NOT_QUIT,""), + ("Func_d408", "b", DO_NOT_QUIT,""), + ("Func_d40f", "q", DO_NOT_QUIT,""), + ("ScriptCommand_PlaySFX", "b", DO_NOT_QUIT,"play_sfx"), + ("ScriptCommand_PauseSong", "", DO_NOT_QUIT,"pause_song"), + ("ScriptCommand_ResumeSong", "", DO_NOT_QUIT,"resume_song"), + ("Func_d41d", "", DO_NOT_QUIT,""), + ("ScriptCommand_WaitForSongToFinish", "", DO_NOT_QUIT,"wait_for_song_to_finish"), + ("Func_d435", "b", DO_NOT_QUIT,""), + ("ScriptCommand_AskQuestionJumpDefaultYes", "tj", DO_NOT_QUIT,"ask_question_jump_default_yes"), + ("ScriptCommand_ShowSamNormalMultichoice", "", DO_NOT_QUIT,"show_sam_normal_multichoice"), + ("ScriptCommand_ShowSamTutorialMultichoice", "", DO_NOT_QUIT,"show_sam_tutorial_multichoice"), + ("Func_d43d", "", DO_NOT_QUIT,""), + ("ScriptCommand_EndScriptLoop2", "", QUIT_CONTINUE_CODE,"end_script_loop_2"), + ("ScriptCommand_EndScriptLoop3", "", QUIT_CONTINUE_CODE,"end_script_loop_3"), + ("ScriptCommand_EndScriptLoop4", "", QUIT_CONTINUE_CODE,"end_script_loop_4"), + ("ScriptCommand_EndScriptLoop5", "", QUIT_CONTINUE_CODE,"end_script_loop_5"), + ("ScriptCommand_EndScriptLoop6", "", QUIT_CONTINUE_CODE,"end_script_loop_6"), + ("ScriptCommand_SetFlagValue", "fb", DO_NOT_QUIT,"script_set_flag_value"), + ("ScriptCommand_JumpIfFlagZero1", "fj", DO_NOT_QUIT,"jump_if_flag_zero_1"), + ("ScriptCommand_JumpIfFlagNonzero1", "fj", DO_NOT_QUIT,"jump_if_flag_nonzero_1"), + ("ScriptCommand_JumpIfFlagEqual", "fbj", DO_NOT_QUIT,"jump_if_flag_equal"), + ("ScriptCommand_JumpIfFlagNotEqual", "fbj", DO_NOT_QUIT,"jump_if_flag_not_equal"), + ("ScriptCommand_JumpIfFlagNotLessThan", "fbj", DO_NOT_QUIT,"jump_if_flag_not_less_than"), + ("ScriptCommand_JumpIfFlagLessThan", "fbj", DO_NOT_QUIT,"jump_if_flag_less_than"), + ("ScriptCommand_MaxOutFlagValue", "f", DO_NOT_QUIT,"max_out_flag_value"), + ("ScriptCommand_ZeroOutFlagValue", "f", DO_NOT_QUIT,"zero_out_flag_value"), + ("ScriptCommand_JumpIfFlagNonzero2", "fj", DO_NOT_QUIT,"jump_if_flag_nonzero_2"), + ("ScriptCommand_JumpIfFlagZero2", "fj", DO_NOT_QUIT,"jump_if_flag_zero_2"), + ("ScriptCommand_IncrementFlagValue", "f", DO_NOT_QUIT,"increment_flag_value"), + ("ScriptCommand_EndScriptLoop7", "q", QUIT_CONTINUE_CODE,"end_script_loop_7"), + ("ScriptCommand_EndScriptLoop8", "q", QUIT_CONTINUE_CODE,"end_script_loop_8"), + ("ScriptCommand_EndScriptLoop9", "q", QUIT_CONTINUE_CODE,"end_script_loop_9"), + ("ScriptCommand_EndScriptLoop10", "q", QUIT_CONTINUE_CODE,"end_script_loop_10") ] main() |