Essentials Series/Sound and Music: Difference between revisions

m (Seil moved page Sound and Music to Essentials Series/Sound and Music without leaving a redirect)
 
(5 intermediate revisions by 3 users not shown)
Line 1:
{{EssentialsSeriesBox}}
This page is part of the Essential Series modding tutorials. It covers everything about sounds: exporting and importing the game's sound and music using [[Industrial Park (Level Editor)|Industrial Park]], using [[JAW]] data, music [[../Links/|events]] and asset types such as [[SFX]] and [[SDFX]].
 
== Sound Files ==
Line 49:
 
== PlayMusic Event ==
If you want a music track to play, you can send the PlayMusic [[../Links/|event]] to any [[../Dispatchers/|dispatcher]] with the number of the song on the first argument (the game always uses a dispatcher called MUSIC_DISP, and so can you if you wish, but it's not necessary). Note that this cannot be done on ScenePrepare, as you have to wait at least one frame before PlayMusic actually works. An alternative way is to make a [[../Timers/|timer]] that runs on ScenePrepare and expires in 0.1 seconds before sending PlayMusic to a dispatcher on Expired. These are the possible values for the argument:
 
* 00 - Bikini Bototm
=== Battle for Bikini Bottom ===
* 01 - Jellyfish Fields
Here is a table of which argument will play which song, as well as whether it exists in the game. If a song does not exist, it will silence the music instead unless you add it.
* 02 - Downtown Bikini Bottom
{| class="wikitable"
* 03 - Goo Lagoon
|-
* 04 - Poseidome
! Argument !! SNDS asset (MNU5.hip) !! Exists?
* 05 - Rock Bottom
|-
* 06 - Mermalair
| 0 || music_00_hb_44 || <span style="color:#007F00">Yes</span>
* 07 - Silence (Sand Mountain has no unique track!)
|-
* 08 - Industrial Park
| 1 || music_01_jf_44 || <span style="color:#007F00">Yes</span>
* 09 - Kelp Forest
|-
* 10 - Flying Dutchman Graveyard
| 2 || music_02_bb_44 || <span style="color:#007F00">Yes</span>
* 11 - SpongeBob's Dream
|-
* 12 - Chum Bucket Lab
| 3 || music_03_gl_44 || <span style="color:#007F00">Yes</span>
* 13 - Title Screen
|-
* 15 - Slide
| 4 || music_04_b1_44 || <span style="color:#007F00">Yes</span>
* 16 - Ambush
|-
| 5 || music_05_rb_44 || <span style="color:#007F00">Yes</span>
|-
| 6 || music_06_bc_44 || <span style="color:#007F00">Yes</span>
|-
| 7 || music_07_sm_44 || <span style="color:#FF0000">No</span>
|-
| 8 || music_08_b2_44 || <span style="color:#007F00">Yes</span>
|-
| 9 || music_09_kf_44 || <span style="color:#007F00">Yes</span>
|-
| 10 || music_10_gy_44 || <span style="color:#007F00">Yes</span>
|-
| 11 || music_11_db_44 || <span style="color:#007F00">Yes</span>
|-
| 12 || music_12_b3_44 || <span style="color:#007F00">Yes</span>
|-
| 13 || music_13_mnu3_44 || <span style="color:#007F00">Yes</span>
|-
| 14 || music_14_mnu4_44 || <span style="color:#FF0000">No</span>
|-
| 15 || music_15_slide_44 || <span style="color:#007F00">Yes</span>
|-
| 16 || music_16_ambush_44 || <span style="color:#007F00">Yes</span>
|-
| 17 || music_17_subboss_44 || <span style="color:#FF0000">No</span>
|-
| 18 || music_18_skatepark_44 || <span style="color:#FF0000">No</span>
|-
| 21 || music_21_Calliope1 || <span style="color:#007F00">Yes</span>
|-
| 22 || music_22_Calliope2 || <span style="color:#007F00">Yes</span>
|-
| 23 || music_23_Calliope3 || <span style="color:#007F00">Yes</span>
|}
 
=== Scooby-Doo: Night Of 100 Frights ===
{| class="wikitable"
! Argument !! SNDS asset (boot.hip)
|-
| 0 || Black Knight-L
|-
| 1 || Redbeard-L
|-
| 2 || Green Ghost-L
|-
| 3 || Mastermind temp-L
|-
| 4 || Scooby 03 loop-L
|-
| 5 || Scooby 04 loop-L
|-
| 6 || Scooby 05 loop-L
|-
| 7 || Scooby 06 loop-L
|-
| 8 || Scooby 07 loop-L
|-
| 9 || Scooby 08 loop-L
|-
| 10 || Scooby 09 loop-L
|-
| 11 || Scooby 10 loop-L
|-
| 12 || Scooby 11 loop-L
|-
| 13 || Scooby 12 loop-L
|-
| 14 || action loop 01-L
|-
| 15 || action loop 02-L
|-
| 16 || action loop 03-L
|-
| 17 || action loop 04-L
|-
| 18 || action loop 05-L
|-
| 19 || action loop 06-L
|-
| 20 || action loop 07-L
|-
| 21 || Cinematic Nemesis 1-L
|-
| 22 || Cinematic Nemesis 2-L
|-
| 23 || Cinematic Nemesis 3-L
|-
| 24
| Cinematic Mood 1-L
|-
| 25 || Cinematic Mood 2-L
|-
| 26 || Cinematic Mood 3-L
|-
| 27 || Cinematic Generic 1-L
|-
| 28 || Cinematic Silly-L
|-
| 29 || Cinematic Van-L
|-
| 30 || Comedic Duo loop-L
|-
| 31 || Mystery loop-L
|-
| 32 || Jeopardy loop-L
|-
| 33 || theramin 01
|-
| 34 || theramin 02
|-
| 35 || theramin 03
|-
| 36 || theramin 04
|-
| 37 || theramin 05
|-
| 38 || theramin 06
|-
| 39 || theramin 07
|-
| 40 || theramin 08
|-
| 41 || theramin 09
|-
| 42 || theramin 10
|-
| 43 || theramin 11
|-
| 44 || theramin 12
|}
 
== Sound Effects (Scooby and BFBB) ==
Line 73 ⟶ 204:
There are two SFX templates in Industrial Park:
 
* SFX_OnEvent is meant for sounds which play when an [[../Links/|event]] is triggered. The position and radius values do not matter for this asset, as the SFX will play when you sent the Play event to it from another asset.
* SFX_OnRadius for sounds which play when you are inside the radius of the SFX trigger. The sound will start playing at a lower volume when the player is in the outer radius and will be in maximum volume when the player is in the inner radius. Both radiuses and the position are editable. Note that this already comes with a ScenePrepare => Play event in the SFX. You can remove it and use the Play event later in your level to make the SFX only active later, if you want to.
 
Line 85 ⟶ 216:
 
=== SFX as Custom Music ===
SFX assets can be used to play custom music in your stage, if you wish to add new music without replacing one of the existing music tracks (they are SNDS assets located in MNU4MNU5.HIP). This process is a bit hacky and not very intuitive, so this is how it's done:
 
# Follow the process detailed [[#Importing|above]] to import your song as a new [[SNDS]] asset in your level's HOP. You probably want to make sure it's a looping sound.
# Place a SFX_OnEvent template. Set the SNDS asset ID of your song as the Sound_AssetID. The ''Flags09'' property should be set to '''C0'''.
# Place a [[../Timers/|Timer]] template. Set the time to 0.1. Add two links to it:
## ScenePrepare => Run, with the timer itself as the target asset.
## Expired => PlayMusic, with any [[../Dispatchers/|dispatcher]] as the target asset and 7 as the value of the first argument. You can place a new Dispatcher template just for this if you'd like.
# The previous step will make it so no song will play in the level (7 is actually the value for the Sand Mountain song, which doesn't exist in the game).
# Now, the game should play your custom song instead of the original stage's.
Line 102 ⟶ 233:
# Place a SDFX template. In the asset data editor, set the SoundGroup_AssetID to the SGRP you want to use. You can move the SDFX to the position where you want the sound to play.
 
For the sound to start playing, you must send the Play [[../Links/|event]] to the SDFX. You can add a ScenePrepare => Play link to the SDFX itself if you want it to start playing already at level start.
 
If you want, you can attach the sound to an [[Asset#Entity Assets|entity]] (such as a [[../Platforms/|platform]] or a [[../Boulders/|boulder]]) instead of using the SDFX's actual position. To do this, set the Emitter_AssetID in the SDFX to the entity's asset ID, and the SoundEffectFlags field to 4.
 
You can also take a look at other SDFX and SGRP assets already present in the game. Not all settings of these assets are known, but you can copy them from existing assets to see what effect that has on them.
 
[[Category:Modding]] [[Category:Tutorials]]
2,081

edits