summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/play_battle_music.asm4
-rw-r--r--audio/pokedex_rating_sfx.asm2
-rw-r--r--constants.asm1
-rw-r--r--constants/audio_constants.asm26
-rwxr-xr-xconstants/map_data_constants.asm5
-rw-r--r--constants/map_object_constants.asm14
-rw-r--r--constants/music_constants.asm2
-rw-r--r--constants/sprite_data_constants.asm6
-rwxr-xr-xdata/tilesets/tileset_headers.asm8
-rwxr-xr-xengine/battle/core.asm2
-rw-r--r--engine/events/hidden_objects/bills_house_pc.asm2
-rw-r--r--engine/events/hidden_objects/safari_game.asm2
-rwxr-xr-xengine/items/item_effects.asm4
-rwxr-xr-xengine/link/cable_club.asm4
-rwxr-xr-xengine/movie/credits.asm2
-rwxr-xr-xengine/movie/evolution.asm4
-rwxr-xr-xengine/movie/oak_speech/oak_speech.asm8
-rwxr-xr-xengine/overworld/elevator.asm4
-rwxr-xr-xengine/overworld/healing_machine.asm4
-rw-r--r--home.asm4
-rw-r--r--home/overworld.asm2
-rw-r--r--macros.asm16
-rwxr-xr-xmacros/asm_macros.asm192
-rwxr-xr-xmacros/code.asm9
-rw-r--r--macros/coords.asm65
-rwxr-xr-xmacros/data.asm62
-rw-r--r--macros/enum.asm43
-rw-r--r--macros/farcall.asm37
-rw-r--r--macros/predef.asm49
-rwxr-xr-xmacros/scripts/audio.asm (renamed from macros/audio_macros.asm)28
-rwxr-xr-xmacros/scripts/events.asm (renamed from macros/event_macros.asm)90
-rw-r--r--[-rwxr-xr-x]macros/scripts/maps.asm (renamed from macros/data_macros.asm)95
-rwxr-xr-xmacros/scripts/text.asm (renamed from macros/text_macros.asm)2
-rwxr-xr-xscripts/CeruleanCity.asm4
-rwxr-xr-xscripts/OaksLab.asm4
-rwxr-xr-xscripts/PalletTown.asm4
-rwxr-xr-xscripts/PewterPokecenter.asm3
-rwxr-xr-xscripts/PokemonTower2F.asm4
-rwxr-xr-xscripts/Route22.asm10
-rwxr-xr-xscripts/SSAnne2F.asm4
-rwxr-xr-xscripts/SSAnneCaptainsRoom.asm2
-rwxr-xr-xscripts/SilphCo7F.asm4
-rwxr-xr-xscripts/VermilionDock.asm2
43 files changed, 450 insertions, 389 deletions
diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm
index 35dd19ad..f8bfcd19 100644
--- a/audio/play_battle_music.asm
+++ b/audio/play_battle_music.asm
@@ -2,9 +2,9 @@ PlayBattleMusic::
xor a
ld [wAudioFadeOutControl], a
ld [wLowHealthAlarm], a
- dec a
+ dec a ; SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
- call PlaySound ; stop music
+ call PlaySound
call DelayFrame
ld c, BANK(Music_GymLeaderBattle)
ld a, [wGymLeaderNo]
diff --git a/audio/pokedex_rating_sfx.asm b/audio/pokedex_rating_sfx.asm
index a218d5e6..f3aace8a 100644
--- a/audio/pokedex_rating_sfx.asm
+++ b/audio/pokedex_rating_sfx.asm
@@ -10,7 +10,7 @@ PlayPokedexRatingSfx::
jr .getSfxPointer
.gotSfxPointer
push bc
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySoundWaitForCurrent
pop bc
diff --git a/constants.asm b/constants.asm
index 996458a4..cd306680 100644
--- a/constants.asm
+++ b/constants.asm
@@ -29,6 +29,7 @@ INCLUDE "constants/palette_constants.asm"
INCLUDE "constants/list_constants.asm"
INCLUDE "constants/map_constants.asm"
INCLUDE "constants/map_data_constants.asm"
+INCLUDE "constants/map_object_constants.asm"
INCLUDE "constants/hide_show_constants.asm"
INCLUDE "constants/credits_constants.asm"
INCLUDE "constants/audio_constants.asm"
diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm
index bb2bb7f2..38719f92 100644
--- a/constants/audio_constants.asm
+++ b/constants/audio_constants.asm
@@ -1,3 +1,29 @@
+; pitch
+ const_def
+ const C_ ; 0
+ const C# ; 1
+ const D_ ; 2
+ const D# ; 3
+ const E_ ; 4
+ const F_ ; 5
+ const F# ; 6
+ const G_ ; 7
+ const G# ; 8
+ const A_ ; 9
+ const A# ; A
+ const B_ ; B
+
+; channel
+ const_def
+ const Ch1 ; 0
+ const Ch2 ; 1
+ const Ch3 ; 2
+ const Ch4 ; 3
+ const Ch5 ; 4
+ const Ch6 ; 5
+ const Ch7 ; 6
+ const Ch8 ; 7
+
; HW sound channel register base addresses
HW_CH1_BASE EQU (rNR10 % $100)
HW_CH2_BASE EQU ((rNR21 % $100) - 1)
diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm
index 154c4163..4b98bdb3 100755
--- a/constants/map_data_constants.asm
+++ b/constants/map_data_constants.asm
@@ -7,3 +7,8 @@ EAST EQU 1
WEST EQU 2
SOUTH EQU 4
NORTH EQU 8
+
+; tileset environments
+INDOOR EQU 0
+CAVE EQU 1
+OUTDOOR EQU 2
diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm
new file mode 100644
index 00000000..f5fc952b
--- /dev/null
+++ b/constants/map_object_constants.asm
@@ -0,0 +1,14 @@
+; different kinds of people events
+ITEM EQU $80
+TRAINER EQU $40
+
+WALK EQU $FE
+STAY EQU $FF
+
+DOWN EQU $D0
+UP EQU $D1
+LEFT EQU $D2
+RIGHT EQU $D3
+NONE EQU $FF
+
+BOULDER_MOVEMENT_BYTE_2 EQU $10
diff --git a/constants/music_constants.asm b/constants/music_constants.asm
index 9f726fb7..7bbe5c62 100644
--- a/constants/music_constants.asm
+++ b/constants/music_constants.asm
@@ -238,3 +238,5 @@ MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE"
music_const SFX_SLOTS_NEW_SPIN, SFX_Slots_New_Spin
music_const SFX_SHOOTING_STAR, SFX_Shooting_Star
MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR"
+
+SFX_STOP_ALL_MUSIC EQU $ff
diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm
index d5788cb1..48a34446 100644
--- a/constants/sprite_data_constants.asm
+++ b/constants/sprite_data_constants.asm
@@ -1,9 +1,3 @@
-; different kinds of people events
-ITEM EQU $80
-TRAINER EQU $40
-
-BOULDER_MOVEMENT_BYTE_2 EQU $10
-
; sprite facing directions
SPRITE_FACING_DOWN EQU $00
SPRITE_FACING_UP EQU $04
diff --git a/data/tilesets/tileset_headers.asm b/data/tilesets/tileset_headers.asm
index d8e0d9b4..8f825330 100755
--- a/data/tilesets/tileset_headers.asm
+++ b/data/tilesets/tileset_headers.asm
@@ -1,3 +1,11 @@
+tileset: MACRO
+ db BANK(\2) ; BANK(GFX)
+ dw \1, \2, \3 ; Block, GFX, Coll
+ db \4, \5, \6 ; counter tiles
+ db \7 ; grass tile
+ db \8 ; permission (indoor, cave, outdoor)
+ENDM
+
Tilesets:
tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR
tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR
diff --git a/engine/battle/core.asm b/engine/battle/core.asm
index 86c3f5e5..647436ff 100755
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -958,7 +958,7 @@ TrainerDefeatedText:
PlayBattleVictoryMusic:
push af
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySoundWaitForCurrent
ld c, BANK(Music_DefeatedTrainer)
diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm
index 1ffb6954..836aace0 100644
--- a/engine/events/hidden_objects/bills_house_pc.asm
+++ b/engine/events/hidden_objects/bills_house_pc.asm
@@ -52,7 +52,7 @@ BillsHouseInitiatedText::
TX_FAR _BillsHouseInitiatedText
TX_BLINK
TX_ASM
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld c, 16
diff --git a/engine/events/hidden_objects/safari_game.asm b/engine/events/hidden_objects/safari_game.asm
index 785bab7f..68fc943f 100644
--- a/engine/events/hidden_objects/safari_game.asm
+++ b/engine/events/hidden_objects/safari_game.asm
@@ -27,7 +27,7 @@ SafariZoneGameOver:
call EnableAutoTextBoxDrawing
xor a
ld [wAudioFadeOutControl], a
- dec a
+ dec a ; SFX_STOP_ALL_MUSIC
call PlaySound
ld c, BANK(SFX_Safari_Zone_PA)
ld a, SFX_SAFARI_ZONE_PA
diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm
index e1723118..1214a3f8 100755
--- a/engine/items/item_effects.asm
+++ b/engine/items/item_effects.asm
@@ -1844,8 +1844,8 @@ PlayedFluteHadEffectText:
and a
jr nz, .done
; play out-of-battle pokeflute music
- ld a, $ff
- call PlaySound ; turn off music
+ ld a, SFX_STOP_ALL_MUSIC
+ call PlaySound
ld a, SFX_POKEFLUTE
ld c, BANK(SFX_Pokeflute)
call PlayMusic
diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm
index 141ed396..8aadf1e5 100755
--- a/engine/link/cable_club.asm
+++ b/engine/link/cable_club.asm
@@ -139,7 +139,7 @@ CableClub_DoBattleOrTradeAgain:
call Serial_ExchangeBytes
ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK)
ld [rIE], a
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
call PlaySound
ld a, [hSerialConnectionStatus]
cp USING_INTERNAL_CLOCK
@@ -261,7 +261,7 @@ CableClub_DoBattleOrTradeAgain:
ld [wUnusedCF8D + 1], a
xor a
ld [wTradeCenterPointerTableIndex], a
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
call PlaySound
ld a, [hSerialConnectionStatus]
cp USING_INTERNAL_CLOCK
diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm
index f6900602..dd735df6 100755
--- a/engine/movie/credits.asm
+++ b/engine/movie/credits.asm
@@ -21,7 +21,7 @@ HallOfFamePC:
ld a, %11000000
ld [rBGP], a
call EnableLCD
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
call PlaySoundWaitForCurrent
ld c, BANK(Music_Credits)
ld a, MUSIC_CREDITS
diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm
index 731735c5..af2ed13b 100755
--- a/engine/movie/evolution.asm
+++ b/engine/movie/evolution.asm
@@ -9,7 +9,7 @@ EvolveMon:
xor a
ld [wLowHealthAlarm], a
ld [wChannelSoundIDs + Ch5], a
- dec a
+ dec a ; SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld a, $1
@@ -67,7 +67,7 @@ EvolveMon:
ld a, [wEvoNewSpecies]
.done
ld [wWholeScreenPaletteMonSpecies], a
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld a, [wWholeScreenPaletteMonSpecies]
diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm
index b1acfb65..fdcb4778 100755
--- a/engine/movie/oak_speech/oak_speech.asm
+++ b/engine/movie/oak_speech/oak_speech.asm
@@ -32,8 +32,8 @@ SetDefaultNames:
jp CopyData
OakSpeech:
- ld a, $FF
- call PlaySound ; stop music
+ ld a, SFX_STOP_ALL_MUSIC
+ call PlaySound
ld a, BANK(Music_Routes2)
ld c, a
ld a, MUSIC_ROUTES2
@@ -133,9 +133,9 @@ OakSpeech:
ld [wAudioSavedROMBank], a
ld a, 10
ld [wAudioFadeOutControl], a
- ld a, $FF
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
- call PlaySound ; stop music
+ call PlaySound
pop af
ld [H_LOADEDROMBANK], a
ld [MBC1RomBank], a
diff --git a/engine/overworld/elevator.asm b/engine/overworld/elevator.asm
index d36e2f2c..05ca08c9 100755
--- a/engine/overworld/elevator.asm
+++ b/engine/overworld/elevator.asm
@@ -4,7 +4,7 @@ ShakeElevator::
ld de, SCREEN_HEIGHT * $20
call ShakeElevatorRedrawRow
call Delay3
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
call PlaySound
ld a, [hSCY]
ld d, a
@@ -27,7 +27,7 @@ ShakeElevator::
jr nz, .shakeLoop
ld a, d
ld [hSCY], a
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
call PlaySound
ld c, BANK(SFX_Safari_Zone_PA)
ld a, SFX_SAFARI_ZONE_PA
diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm
index 510f963b..836af44d 100755
--- a/engine/overworld/healing_machine.asm
+++ b/engine/overworld/healing_machine.asm
@@ -17,7 +17,7 @@ AnimateHealingMachine:
call CopyHealingMachineOAM
ld a, 4
ld [wAudioFadeOutControl], a
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
.waitLoop
@@ -38,7 +38,7 @@ AnimateHealingMachine:
cp BANK(Audio3_UpdateMusic)
ld [wAudioSavedROMBank], a
jr nz, .next
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld a, BANK(Music_PkmnHealed)
diff --git a/home.asm b/home.asm
index bb581454..07cb6c0e 100644
--- a/home.asm
+++ b/home.asm
@@ -939,7 +939,7 @@ FadeOutAudio::
ld b, a
xor a
ld [wAudioFadeOutControl], a
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld a, [wAudioSavedROMBank]
@@ -2506,7 +2506,7 @@ PlayTrainerMusic::
ret nz
xor a
ld [wAudioFadeOutControl], a
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
call PlaySound
ld a, BANK(Music_MeetEvilTrainer)
ld [wAudioROMBank], a
diff --git a/home/overworld.asm b/home/overworld.asm
index 460ce11e..cc8c498c 100644
--- a/home/overworld.asm
+++ b/home/overworld.asm
@@ -772,7 +772,7 @@ HandleBlackOut::
StopMusic::
ld [wAudioFadeOutControl], a
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
.wait
diff --git a/macros.asm b/macros.asm
index b779ec5f..a092d25c 100644
--- a/macros.asm
+++ b/macros.asm
@@ -1,5 +1,11 @@
-INCLUDE "macros/asm_macros.asm"
-INCLUDE "macros/data_macros.asm"
-INCLUDE "macros/text_macros.asm"
-INCLUDE "macros/audio_macros.asm"
-INCLUDE "macros/event_macros.asm"
+INCLUDE "macros/enum.asm"
+INCLUDE "macros/predef.asm"
+INCLUDE "macros/farcall.asm"
+INCLUDE "macros/data.asm"
+INCLUDE "macros/code.asm"
+INCLUDE "macros/coords.asm"
+
+INCLUDE "macros/scripts/audio.asm"
+INCLUDE "macros/scripts/maps.asm"
+INCLUDE "macros/scripts/events.asm"
+INCLUDE "macros/scripts/text.asm"
diff --git a/macros/asm_macros.asm b/macros/asm_macros.asm
deleted file mode 100755
index d3f00b0c..00000000
--- a/macros/asm_macros.asm
+++ /dev/null
@@ -1,192 +0,0 @@
-
-lb: MACRO ; r, hi, lo
- ld \1, ((\2) & $ff) << 8 + ((\3) & $ff)
-ENDM
-
-homecall: MACRO
- ld a, [H_LOADEDROMBANK]
- push af
- ld a, BANK(\1)
- ld [H_LOADEDROMBANK], a
- ld [MBC1RomBank], a
- call \1
- pop af
- ld [H_LOADEDROMBANK], a
- ld [MBC1RomBank], a
-ENDM
-
-farcall EQUS "callba"
-
-callba: MACRO
- ld b, BANK(\1)
- ld hl, \1
- call Bankswitch
-ENDM
-
-callab: MACRO
- ld hl, \1
- ld b, BANK(\1)
- call Bankswitch
-ENDM
-
-jpba: MACRO
- ld b, BANK(\1)
- ld hl, \1
- jp Bankswitch
-ENDM
-
-jpab: MACRO
- ld hl, \1
- ld b, BANK(\1)
- jp Bankswitch
-ENDM
-
-validateCoords: MACRO
- IF \1 >= SCREEN_WIDTH
- fail "x coord out of range"
- ENDC
- IF \2 >= SCREEN_HEIGHT
- fail "y coord out of range"
- ENDC
-ENDM
-
-;\1 = r
-;\2 = X
-;\3 = Y
-;\4 = which tilemap (optional)
-coord: MACRO
- validateCoords \2, \3
- IF _NARG >= 4
- ld \1, \4 + SCREEN_WIDTH * \3 + \2
- ELSE
- ld \1, wTileMap + SCREEN_WIDTH * \3 + \2
- ENDC
-ENDM
-
-;\1 = X
-;\2 = Y
-;\3 = which tilemap (optional)
-aCoord: MACRO
- validateCoords \1, \2
- IF _NARG >= 3
- ld a, [\3 + SCREEN_WIDTH * \2 + \1]
- ELSE
- ld a, [wTileMap + SCREEN_WIDTH * \2 + \1]
- ENDC
-ENDM
-
-;\1 = X
-;\2 = Y
-;\3 = which tilemap (optional)
-Coorda: MACRO
- validateCoords \1, \2
- IF _NARG >= 3
- ld [\3 + SCREEN_WIDTH * \2 + \1], a
- ELSE
- ld [wTileMap + SCREEN_WIDTH * \2 + \1], a
- ENDC
-ENDM
-
-;\1 = X
-;\2 = Y
-;\3 = which tilemap (optional)
-dwCoord: MACRO
- validateCoords \1, \2
- IF _NARG >= 3
- dw \3 + SCREEN_WIDTH * \2 + \1
- ELSE
- dw wTileMap + SCREEN_WIDTH * \2 + \1
- ENDC
-ENDM
-
-;\1 = r
-;\2 = X
-;\3 = Y
-;\4 = map width
-overworldMapCoord: MACRO
- ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2)))
-ENDM
-
-; macro for two nibbles
-dn: MACRO
- db (\1 << 4 | \2)
-ENDM
-
-; macro for putting a byte then a word
-dbw: MACRO
- db \1
- dw \2
-ENDM
-
-dba: MACRO
- dbw BANK(\1), \1
-ENDM
-
-dwb: MACRO
- dw \1
- db \2
-ENDM
-
-dab: MACRO
- dwb \1, BANK(\1)
-ENDM
-
-dbbw: MACRO
- db \1, \2
- dw \3
-ENDM
-
-; Predef macro.
-predef_const: MACRO
- const \1PredefID
-ENDM
-
-add_predef: MACRO
-\1Predef::
- db BANK(\1)
- dw \1
-ENDM
-
-predef_id: MACRO
- ld a, (\1Predef - PredefPointers) / 3
-ENDM
-
-predef: MACRO
- predef_id \1
- call Predef
-ENDM
-
-predef_jump: MACRO
- predef_id \1
- jp Predef
-ENDM
-
-tx_pre_const: MACRO
- const \1_id
-ENDM
-
-add_tx_pre: MACRO
-\1_id:: dw \1
-ENDM
-
-db_tx_pre: MACRO
- db (\1_id - TextPredefs) / 2 + 1
-ENDM
-
-tx_pre_id: MACRO
- ld a, (\1_id - TextPredefs) / 2 + 1
-ENDM
-
-tx_pre: MACRO
- tx_pre_id \1
- call PrintPredefTextID
-ENDM
-
-tx_pre_jump: MACRO
- tx_pre_id \1
- jp PrintPredefTextID
-ENDM
-
-ldPal: MACRO
- ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5
-ENDM
diff --git a/macros/code.asm b/macros/code.asm
new file mode 100755
index 00000000..8b7d6184
--- /dev/null
+++ b/macros/code.asm
@@ -0,0 +1,9 @@
+; Syntactic sugar macros
+
+lb: MACRO ; r, hi, lo
+ ld \1, ((\2) & $ff) << 8 + ((\3) & $ff)
+ENDM
+
+ldPal: MACRO
+ ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5
+ENDM
diff --git a/macros/coords.asm b/macros/coords.asm
new file mode 100644
index 00000000..302260d7
--- /dev/null
+++ b/macros/coords.asm
@@ -0,0 +1,65 @@
+validateCoords: MACRO
+ IF \1 >= SCREEN_WIDTH
+ fail "x coord out of range"
+ ENDC
+ IF \2 >= SCREEN_HEIGHT
+ fail "y coord out of range"
+ ENDC
+ENDM
+
+;\1 = r
+;\2 = X
+;\3 = Y
+;\4 = which tilemap (optional)
+coord: MACRO
+ validateCoords \2, \3
+ IF _NARG >= 4
+ ld \1, \4 + SCREEN_WIDTH * \3 + \2
+ ELSE
+ ld \1, wTileMap + SCREEN_WIDTH * \3 + \2
+ ENDC
+ENDM
+
+;\1 = X
+;\2 = Y
+;\3 = which tilemap (optional)
+aCoord: MACRO
+ validateCoords \1, \2
+ IF _NARG >= 3
+ ld a, [\3 + SCREEN_WIDTH * \2 + \1]
+ ELSE
+ ld a, [wTileMap + SCREEN_WIDTH * \2 + \1]
+ ENDC
+ENDM
+
+;\1 = X
+;\2 = Y
+;\3 = which tilemap (optional)
+Coorda: MACRO
+ validateCoords \1, \2
+ IF _NARG >= 3
+ ld [\3 + SCREEN_WIDTH * \2 + \1], a
+ ELSE
+ ld [wTileMap + SCREEN_WIDTH * \2 + \1], a
+ ENDC
+ENDM
+
+;\1 = X
+;\2 = Y
+;\3 = which tilemap (optional)
+dwCoord: MACRO
+ validateCoords \1, \2
+ IF _NARG >= 3
+ dw \3 + SCREEN_WIDTH * \2 + \1
+ ELSE
+ dw wTileMap + SCREEN_WIDTH * \2 + \1
+ ENDC
+ENDM
+
+;\1 = r
+;\2 = X
+;\3 = Y
+;\4 = map width
+overworldMapCoord: MACRO
+ ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2)))
+ENDM
diff --git a/macros/data.asm b/macros/data.asm
new file mode 100755
index 00000000..54d1d561
--- /dev/null
+++ b/macros/data.asm
@@ -0,0 +1,62 @@
+; Value macros
+
+percent EQUS "* $ff / 100"
+
+bcd2: MACRO
+ dn ((\1) / 1000) % 10, ((\1) / 100) % 10
+ dn ((\1) / 10) % 10, (\1) % 10
+ENDM
+
+bcd3: MACRO
+ dn ((\1) / 100000) % 10, ((\1) / 10000) % 10
+ dn ((\1) / 1000) % 10, ((\1) / 100) % 10
+ dn ((\1) / 10) % 10, (\1) % 10
+ENDM
+
+coins equs "bcd2"
+money equs "bcd3"
+
+RGB: MACRO
+ dw (\3 << 10 | \2 << 5 | \1)
+ENDM
+
+tmlearn: MACRO
+x = 0
+ REPT _NARG
+IF \1 != 0
+x = x | (1 << ((\1 - 1) % 8))
+ENDC
+ SHIFT
+ ENDR
+ db x
+ENDM
+
+
+; Constant data (db, dw, dl) macros
+
+dn: MACRO ; nybbles
+ db (\1 << 4 | \2)
+ENDM
+
+dbw: MACRO
+ db \1
+ dw \2
+ENDM
+
+dba: MACRO
+ dbw BANK(\1), \1
+ENDM
+
+dwb: MACRO
+ dw \1
+ db \2
+ENDM
+
+dab: MACRO
+ dwb \1, BANK(\1)
+ENDM
+
+dbbw: MACRO
+ db \1, \2
+ dw \3
+ENDM
diff --git a/macros/enum.asm b/macros/enum.asm
new file mode 100644
index 00000000..8fe5b534
--- /dev/null
+++ b/macros/enum.asm
@@ -0,0 +1,43 @@
+; Enumerate variables
+
+enum_start: MACRO
+if _NARG >= 1
+__enum__ = \1
+else
+__enum__ = 0
+endc
+if _NARG >= 2
+__enumdir__ = \2
+else
+__enumdir__ = 1
+endc
+ENDM
+
+enum: MACRO
+\1 EQU __enum__
+__enum__ = __enum__ + __enumdir__
+ENDM
+
+enum_set: MACRO
+__enum__ = \1
+ENDM
+
+; Enumerate constants
+
+const_def: MACRO
+if _NARG >= 1
+const_value = \1
+else
+const_value = 0
+endc
+ENDM
+
+const: MACRO
+\1 EQU const_value
+const_value = const_value + 1
+ENDM
+
+shift_const: MACRO
+\1 EQU (1 << const_value)
+const_value = const_value + 1
+ENDM
diff --git a/macros/farcall.asm b/macros/farcall.asm
new file mode 100644
index 00000000..fc208e3d
--- /dev/null
+++ b/macros/farcall.asm
@@ -0,0 +1,37 @@
+farcall EQUS "callba"
+
+callba: MACRO
+ ld b, BANK(\1)
+ ld hl, \1
+ call Bankswitch
+ENDM
+
+callab: MACRO
+ ld hl, \1
+ ld b, BANK(\1)
+ call Bankswitch
+ENDM
+
+jpba: MACRO
+ ld b, BANK(\1)
+ ld hl, \1
+ jp Bankswitch
+ENDM
+
+jpab: MACRO
+ ld hl, \1
+ ld b, BANK(\1)
+ jp Bankswitch
+ENDM
+
+homecall: MACRO
+ ld a, [H_LOADEDROMBANK]
+ push af
+ ld a, BANK(\1)
+ ld [H_LOADEDROMBANK], a
+ ld [MBC1RomBank], a
+ call \1
+ pop af
+ ld [H_LOADEDROMBANK], a
+ ld [MBC1RomBank], a
+ENDM
diff --git a/macros/predef.asm b/macros/predef.asm
new file mode 100644
index 00000000..fda42004
--- /dev/null
+++ b/macros/predef.asm
@@ -0,0 +1,49 @@
+predef_const: MACRO
+ const \1PredefID
+ENDM
+
+add_predef: MACRO
+\1Predef::
+ db BANK(\1)
+ dw \1
+ENDM
+
+predef_id: MACRO
+ ld a, (\1Predef - PredefPointers) / 3
+ENDM
+
+predef: MACRO
+ predef_id \1
+ call Predef
+ENDM
+
+predef_jump: MACRO
+ predef_id \1
+ jp Predef
+ENDM
+
+tx_pre_const: MACRO
+ const \1_id
+ENDM
+
+add_tx_pre: MACRO
+\1_id:: dw \1
+ENDM
+
+db_tx_pre: MACRO
+ db (\1_id - TextPredefs) / 2 + 1
+ENDM
+
+tx_pre_id: MACRO
+ ld a, (\1_id - TextPredefs) / 2 + 1
+ENDM
+
+tx_pre: MACRO
+ tx_pre_id \1
+ call PrintPredefTextID
+ENDM
+
+tx_pre_jump: MACRO
+ tx_pre_id \1
+ jp PrintPredefTextID
+ENDM
diff --git a/macros/audio_macros.asm b/macros/scripts/audio.asm
index 95b9ecbc..8a250c63 100755
--- a/macros/audio_macros.asm
+++ b/macros/scripts/audio.asm
@@ -1,18 +1,3 @@
-
-StopAllMusic: MACRO
- ld a, $ff
- call PlaySound
-ENDM
-
-Ch1 EQU 0
-Ch2 EQU 1
-Ch3 EQU 2
-Ch4 EQU 3
-Ch5 EQU 4
-Ch6 EQU 5
-Ch7 EQU 6
-Ch8 EQU 7
-
audio_header: MACRO
db (_NARG - 2) << 6 | \2
dw \1_\2
@@ -73,19 +58,6 @@ noise_note: MACRO
db \4
ENDM
-C_ EQU $0
-C# EQU $1
-D_ EQU $2
-D# EQU $3
-E_ EQU $4
-F_ EQU $5
-F# EQU $6
-G_ EQU $7
-G# EQU $8
-A_ EQU $9
-A# EQU $A
-B_ EQU $B
-
; arguments: pitch, length [1, 16]
note: MACRO
db (\1 << 4) | (\2 - 1)
diff --git a/macros/event_macros.asm b/macros/scripts/events.asm
index 20027209..9be354e3 100755
--- a/macros/event_macros.asm
+++ b/macros/scripts/events.asm
@@ -15,7 +15,8 @@ event_byte = ((\1) / 8)
ELSE
bit (\1) % 8, a
ENDC
- ENDM
+ENDM
+
;\1 = event index
CheckEventReuseA: MACRO
@@ -25,7 +26,8 @@ event_byte = ((\1) / 8)
ENDC
bit (\1) % 8, a
- ENDM
+ENDM
+
;\1 = event index
;\2 = event index of the last event used before the branch
@@ -37,7 +39,8 @@ event_byte = ((\1) / 8)
ENDC
bit (\1) % 8, a
- ENDM
+ENDM
+
;\1 = reg
;\2 = event index
@@ -48,21 +51,24 @@ EventFlagBit: MACRO
ELSE
ld \1, (\2) % 8
ENDC
- ENDM
+ENDM
+
;\1 = reg
;\2 = event index
EventFlagAddress: MACRO
event_byte = ((\2) / 8)
ld \1, wEventFlags + event_byte
- ENDM
+ENDM
+
;\1 = event index
CheckEventHL: MACRO
event_byte = ((\1) / 8)
ld hl, wEventFlags + event_byte
bit (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
CheckEventReuseHL: MACRO
@@ -72,14 +78,16 @@ event_byte = ((\1) / 8)
ENDC
bit (\1) % 8, [hl]
- ENDM
+ENDM
+
; dangerous, only use when HL is guaranteed to be the desired value
;\1 = event index
CheckEventForceReuseHL: MACRO
event_byte = ((\1) / 8)
bit (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
;\2 = event index of the last event used before the branch
@@ -91,7 +99,8 @@ event_byte = ((\1) / 8)
ENDC
bit (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
CheckAndSetEvent: MACRO
@@ -99,7 +108,8 @@ event_byte = ((\1) / 8)
ld hl, wEventFlags + event_byte
bit (\1) % 8, [hl]
set (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
CheckAndResetEvent: MACRO
@@ -107,7 +117,8 @@ event_byte = ((\1) / 8)
ld hl, wEventFlags + event_byte
bit (\1) % 8, [hl]
res (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
CheckAndSetEventA: MACRO
@@ -115,7 +126,8 @@ CheckAndSetEventA: MACRO
bit (\1) % 8, a
set (\1) % 8, a
ld [wEventFlags + ((\1) / 8)], a
- ENDM
+ENDM
+
;\1 = event index
CheckAndResetEventA: MACRO
@@ -123,14 +135,16 @@ CheckAndResetEventA: MACRO
bit (\1) % 8, a
res (\1) % 8, a
ld [wEventFlags + ((\1) / 8)], a
- ENDM
+ENDM
+
;\1 = event index
SetEvent: MACRO
event_byte = ((\1) / 8)
ld hl, wEventFlags + event_byte
set (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
SetEventReuseHL: MACRO
@@ -140,7 +154,8 @@ event_byte = ((\1) / 8)
ENDC
set (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
;\2 = event index of the last event used before the branch
@@ -152,14 +167,16 @@ event_byte = ((\1) / 8)
ENDC
set (\1) % 8, [hl]
- ENDM
+ENDM
+
; dangerous, only use when HL is guaranteed to be the desired value
;\1 = event index
SetEventForceReuseHL: MACRO
event_byte = ((\1) / 8)
set (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
;\2 = event index
@@ -170,14 +187,16 @@ SetEvents: MACRO
SetEventReuseHL \2
shift
endr
- ENDM
+ENDM
+
;\1 = event index
ResetEvent: MACRO
event_byte = ((\1) / 8)
ld hl, wEventFlags + event_byte
res (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
ResetEventReuseHL: MACRO
@@ -187,7 +206,8 @@ event_byte = ((\1) / 8)
ENDC
res (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
;\2 = event index of the last event used before the branch
@@ -199,14 +219,16 @@ event_byte = ((\1) / 8)
ENDC
res (\1) % 8, [hl]
- ENDM
+ENDM
+
; dangerous, only use when HL is guaranteed to be the desired value
;\1 = event index
ResetEventForceReuseHL: MACRO
event_byte = ((\1) / 8)
res (\1) % 8, [hl]
- ENDM
+ENDM
+
;\1 = event index
;\2 = event index
@@ -217,7 +239,8 @@ ResetEvents: MACRO
ResetEventReuseHL \2
shift
endr
- ENDM
+ENDM
+
;\1 = event index
;\2 = number of bytes away from the base address (optional, for matching the ROM)
@@ -227,7 +250,8 @@ dbEventFlagBit: MACRO
ELSE
db ((\1) % 8)
ENDC
- ENDM
+ENDM
+
;\1 = event index
;\2 = number of bytes away from the base address (optional, for matching the ROM)
@@ -237,7 +261,8 @@ dwEventFlagAddress: MACRO
ELSE
dw wEventFlags + ((\1) / 8)
ENDC
- ENDM
+ENDM
+
;\1 = start
;\2 = end
@@ -297,7 +322,8 @@ event_fill_count = event_fill_count + 1
ENDC
ENDC
ENDC
- ENDM
+ENDM
+
;\1 = start
;\2 = end
@@ -362,7 +388,8 @@ event_fill_count = event_fill_count + 1
ENDC
ENDC
ENDC
- ENDM
+ENDM
+
; returns whether both events are set in Z flag
; This is counter-intuitive because the other event checks set the Z flag when
@@ -400,7 +427,8 @@ event_byte = ((\1) / 8)
pop bc
ENDC
ENDC
- ENDM
+ENDM
+
; returns the complement of whether either event is set in Z flag
;\1 = event index 1
@@ -429,7 +457,8 @@ CheckEitherEventSet: MACRO
pop bc
ENDC
ENDC
- ENDM
+ENDM
+
; for handling fixed event bits when events are inserted/removed
;\1 = event index
@@ -438,4 +467,5 @@ AdjustEventBit: MACRO
IF ((\1) % 8) != (\2)
add ((\1) % 8) - (\2)
ENDC
- ENDM
+ENDM
+
diff --git a/macros/data_macros.asm b/macros/scripts/maps.asm
index 794b75f7..a30561b9 100755..100644
--- a/macros/data_macros.asm
+++ b/macros/scripts/maps.asm
@@ -1,39 +1,6 @@
-
-; Constant enumeration is useful for monsters, items, moves, etc.
-const_def: MACRO
-if _NARG >= 1
-const_value = \1
-else
-const_value = 0
-endc
-ENDM
-
-const: MACRO
-\1 EQU const_value
-const_value = const_value + 1
-ENDM
-
-; data format macros
-
-percent EQUS "* $ff / 100"
-
-bcd2: MACRO
- dn ((\1) / 1000) % 10, ((\1) / 100) % 10
- dn ((\1) / 10) % 10, (\1) % 10
-ENDM
-
-bcd3: MACRO
- dn ((\1) / 100000) % 10, ((\1) / 10000) % 10
- dn ((\1) / 1000) % 10, ((\1) / 100) % 10
- dn ((\1) / 10) % 10, (\1) % 10
-ENDM
-
-coins equs "bcd2"
-money equs "bcd3"
-
-;\1 = Map Width
-;\2 = Rows above (Y-blocks)
-;\3 = X movement (X-blocks)
+;\1 map width
+;\2 Rows above (Y-blocks)
+;\3 X movement (X-blocks)
EVENT_DISP: MACRO
dw (wOverworldMap + 7 + (\1) + ((\1) + 6) * ((\2) >> 1) + ((\3) >> 1)) ; Ev.Disp
db \2,\3 ;Y,X
@@ -67,32 +34,6 @@ IMAP: MACRO ; imap mapid_less_than,x-coordinate,y-coordinate,textpointer
dw \4
ENDM
-; tilesets' headers macro
-tileset: MACRO
- db BANK(\2) ; BANK(GFX)
- dw \1, \2, \3 ; Block, GFX, Coll
- db \4, \5, \6 ; counter tiles
- db \7 ; grass tile
- db \8 ; permission (indoor, cave, outdoor)
-ENDM
-
-INDOOR EQU 0
-CAVE EQU 1
-OUTDOOR EQU 2
-
-RGB: MACRO
- dw (\3 << 10 | \2 << 5 | \1)
-ENDM
-
-WALK EQU $FE
-STAY EQU $FF
-
-DOWN EQU $D0
-UP EQU $D1
-LEFT EQU $D2
-RIGHT EQU $D3
-NONE EQU $FF
-
;\1 sprite id
;\2 x position
;\3 y position
@@ -144,11 +85,11 @@ warp_to: MACRO
EVENT_DISP \3, \2, \1
ENDM
+;\1 map name
+;\2 map id
+;\3 tileset
+;\4 connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
map_header: MACRO
-;\1: map name
-;\2: map id
-;\3: tileset
-;\4: connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
CURRENT_MAP_WIDTH = \2_WIDTH
CURRENT_MAP_HEIGHT = \2_HEIGHT
CURRENT_MAP_OBJECT EQUS "\1_Object"
@@ -161,6 +102,7 @@ CURRENT_MAP_OBJECT EQUS "\1_Object"
db \4
ENDM
+; Comes after map_header and connection macros
end_map_header: MACRO
dw CURRENT_MAP_OBJECT
PURGE CURRENT_MAP_WIDTH
@@ -169,12 +111,12 @@ PURGE CURRENT_MAP_OBJECT
ENDM
; Connections go in order: north, south, west, east
+;\1 direction
+;\2 map name
+;\3 map id
+;\4 offset of the target map relative to the current map
+; (x offset for east/west, y offset for north/south)
connection: MACRO
-;\1: direction
-;\2: map name
-;\3: map id
-;\4: offset of the target map relative to the current map
-; (x offset for east/west, y offset for north/south)
; Calculate tile offsets for source (current) and target maps
_src = 0
@@ -240,14 +182,3 @@ endc
db _y, _x
dw wOverworldMap + _win
ENDM
-
-tmlearn: MACRO
-x = 0
- REPT _NARG
-IF \1 != 0
-x = x | (1 << ((\1 - 1) % 8))
-ENDC
- SHIFT
- ENDR
- db x
-ENDM
diff --git a/macros/text_macros.asm b/macros/scripts/text.asm
index 21e02634..732a22d4 100755
--- a/macros/text_macros.asm
+++ b/macros/scripts/text.asm
@@ -1,5 +1,3 @@
-
-; text macros
text EQUS "db $00," ; Start writing text.
next EQUS "db $4e," ; Move a line down.
line EQUS "db $4f," ; Start writing at the bottom line.
diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm
index 117ec4da..94ec2496 100755
--- a/scripts/CeruleanCity.asm
+++ b/scripts/CeruleanCity.asm
@@ -64,7 +64,7 @@ CeruleanCityScript0:
ld a, [wWalkBikeSurfState]
and a
jr z, .asm_19512
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
.asm_19512
@@ -171,7 +171,7 @@ CeruleanCityScript2:
ld a, $1
ld [hSpriteIndexOrTextID], a
call DisplayTextID
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
callba Music_RivalAlternateStart
diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm
index 11abdf65..79de99ff 100755
--- a/scripts/OaksLab.asm
+++ b/scripts/OaksLab.asm
@@ -510,7 +510,7 @@ OaksLabScript15:
xor a
ld [hJoyHeld], a
call EnableAutoTextBoxDrawing
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
callba Music_RivalAlternateStart
@@ -611,7 +611,7 @@ OaksLabScript16:
xor a ; NPC_MOVEMENT_DOWN
call FillMemory
ld [hl], $ff
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
callba Music_RivalAlternateStart
diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm
index 5ad7d40f..4c6ab015 100755
--- a/scripts/PalletTown.asm
+++ b/scripts/PalletTown.asm
@@ -27,8 +27,8 @@ PalletTownScript0:
ld [hJoyHeld], a
ld a, PLAYER_DIR_DOWN
ld [wPlayerMovingDirection], a
- ld a, $FF
- call PlaySound ; stop music
+ ld a, SFX_STOP_ALL_MUSIC
+ call PlaySound
ld a, BANK(Music_MeetProfOak)
ld c, a
ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music
diff --git a/scripts/PewterPokecenter.asm b/scripts/PewterPokecenter.asm
index 22d2fb6b..be933fee 100755
--- a/scripts/PewterPokecenter.asm
+++ b/scripts/PewterPokecenter.asm
@@ -21,7 +21,8 @@ PewterJigglypuffText:
ld [wDoNotWaitForButtonPressAfterDisplayingText], a
ld hl, .Text
call PrintText
- StopAllMusic
+ ld a, SFX_STOP_ALL_MUSIC
+ call PlaySound
ld c, 32
call DelayFrames
ld hl, JigglypuffFacingDirections
diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm
index 81f4c0b3..94916e37 100755
--- a/scripts/PokemonTower2F.asm
+++ b/scripts/PokemonTower2F.asm
@@ -22,7 +22,7 @@ PokemonTower2Script0:
ld hl, CoordsData_6055e
call ArePlayerCoordsInArray
ret nc
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld c, BANK(Music_MeetRival)
@@ -76,7 +76,7 @@ PokemonTower2Script1:
ld a, $1
ld [H_SPRITEINDEX], a
call MoveSprite
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
callba Music_RivalAlternateStart
diff --git a/scripts/Route22.asm b/scripts/Route22.asm
index 7226e509..1fd7e09a 100755
--- a/scripts/Route22.asm
+++ b/scripts/Route22.asm
@@ -88,7 +88,7 @@ Route22Script0:
ld a, [wWalkBikeSurfState]
and a
jr z, .asm_50f4e
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
.asm_50f4e
@@ -167,7 +167,7 @@ Route22Script2:
ld a, $1
ld [hSpriteIndexOrTextID], a
call DisplayTextID
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
callba Music_RivalAlternateStart
@@ -241,11 +241,11 @@ Route22Script_5104e:
ld a, [wWalkBikeSurfState]
and a
jr z, .skipYVisibilityTesta
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
.skipYVisibilityTesta
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
callba Music_RivalAlternateTempo
@@ -326,7 +326,7 @@ Route22Script5:
ld a, $2
ld [hSpriteIndexOrTextID], a
call DisplayTextID
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
callba Music_RivalAlternateStartAndTempo
diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm
index ba900748..2795d1d1 100755
--- a/scripts/SSAnne2F.asm
+++ b/scripts/SSAnne2F.asm
@@ -24,7 +24,7 @@ SSAnne2Script0:
ld hl, CoordsData_61411
call ArePlayerCoordsInArray
ret nc
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld c, BANK(Music_MeetRival)
@@ -145,7 +145,7 @@ SSAnne2Script2:
ld a, $2
ld [H_SPRITEINDEX], a
call MoveSprite
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
callba Music_RivalAlternateStart
diff --git a/scripts/SSAnneCaptainsRoom.asm b/scripts/SSAnneCaptainsRoom.asm
index de0272e4..5723c32d 100755
--- a/scripts/SSAnneCaptainsRoom.asm
+++ b/scripts/SSAnneCaptainsRoom.asm
@@ -48,7 +48,7 @@ SSAnne7RubText:
cp BANK(Audio3_UpdateMusic)
ld [wAudioSavedROMBank], a
jr nz, .asm_61908
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld a, Bank(Music_PkmnHealed)
diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm
index e7594663..84a94c92 100755
--- a/scripts/SilphCo7F.asm
+++ b/scripts/SilphCo7F.asm
@@ -130,7 +130,7 @@ SilphCo7Script0:
ld [wJoyIgnore], a
ld a, PLAYER_DIR_DOWN
ld [wPlayerMovingDirection], a
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld c, BANK(Music_MeetRival)
@@ -219,7 +219,7 @@ SilphCo7Script4:
ld a, $f
ld [hSpriteIndexOrTextID], a
call DisplayTextID
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
callba Music_RivalAlternateStart
diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm
index 65b66c52..cc237f8e 100755
--- a/scripts/VermilionDock.asm
+++ b/scripts/VermilionDock.asm
@@ -38,7 +38,7 @@ VermilionDock_Script:
VermilionDock_1db9b:
SetEventForceReuseHL EVENT_SS_ANNE_LEFT
- ld a, $ff
+ ld a, SFX_STOP_ALL_MUSIC
ld [wJoyIgnore], a
ld [wNewSoundID], a
call PlaySound