summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bugs_and_glitches.md403
-rw-r--r--src/audio/music/boosterpack.asm14
-rw-r--r--src/audio/music/cardpop.asm24
-rw-r--r--src/audio/music/challengehall.asm34
-rw-r--r--src/audio/music/club1.asm180
-rw-r--r--src/audio/music/club2.asm48
-rw-r--r--src/audio/music/club3.asm174
-rw-r--r--src/audio/music/credits.asm218
-rw-r--r--src/audio/music/deckmachine.asm70
-rw-r--r--src/audio/music/dueltheme1.asm262
-rw-r--r--src/audio/music/dueltheme2.asm156
-rw-r--r--src/audio/music/dueltheme3.asm128
-rw-r--r--src/audio/music/hallofhonor.asm106
-rw-r--r--src/audio/music/imakuni.asm14
-rw-r--r--src/audio/music/matchdraw.asm (renamed from src/audio/music/darkdiddly.asm)20
-rw-r--r--src/audio/music/matchloss.asm26
-rw-r--r--src/audio/music/matchstart1.asm4
-rw-r--r--src/audio/music/matchstart2.asm10
-rw-r--r--src/audio/music/matchstart3.asm10
-rw-r--r--src/audio/music/matchvictory.asm14
-rw-r--r--src/audio/music/medal.asm26
-rw-r--r--src/audio/music/overworld.asm460
-rw-r--r--src/audio/music/pausemenu.asm90
-rw-r--r--src/audio/music/pcmainmenu.asm96
-rw-r--r--src/audio/music/pokemondome.asm30
-rw-r--r--src/audio/music/ronald.asm154
-rw-r--r--src/audio/music/titlescreen.asm130
-rw-r--r--src/audio/music1.asm283
-rw-r--r--src/audio/music1_headers.asm12
-rw-r--r--src/audio/music2.asm281
-rw-r--r--src/audio/music2_headers.asm4
-rw-r--r--src/audio/sfx.asm2
-rw-r--r--src/constants/duel_constants.asm14
-rw-r--r--src/constants/music_constants.asm2
-rw-r--r--src/constants/script_constants.asm4
-rw-r--r--src/data/effect_commands.asm22
-rw-r--r--src/engine/bank01.asm2
-rwxr-xr-x[-rw-r--r--]src/engine/bank03.asm3108
-rw-r--r--src/engine/bank04.asm16
-rw-r--r--src/engine/bank05.asm4
-rw-r--r--src/engine/bank08.asm8
-rw-r--r--src/engine/effect_functions.asm263
-rw-r--r--src/engine/home.asm2
-rw-r--r--src/macros/audio.asm14
-rwxr-xr-x[-rw-r--r--]src/macros/scripts.asm614
-rw-r--r--src/text/text2.asm4
-rw-r--r--src/text/text_offsets.asm4
-rw-r--r--src/wram.asm28
-rw-r--r--tools/.gitignore2
-rwxr-xr-x[-rw-r--r--]tools/script_extractor.py268
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()