Difference between revisions of "Modding:Audio"
7automaton (talk | contribs) (Removed WIP notice) |
7automaton (talk | contribs) (Added new "editing existing sounds" section; renamed adding custom sounds section) |
||
Line 235: | Line 235: | ||
</dd> | </dd> | ||
− | ===Adding | + | ===Adding custom sounds=== |
Game audio is split up into components: | Game audio is split up into components: | ||
Line 284: | Line 284: | ||
Game1.playSound("myNewSound"); | Game1.playSound("myNewSound"); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | ===Editing existing sounds=== | ||
+ | |||
+ | TODO | ||
==Track list== | ==Track list== |
Revision as of 02:50, 22 October 2021
← Index
Article Stub
This article is marked as a stub for the following reason:
|
This page explains how to use and edit audio/music in Stardew Valley 1.5.5 and onwards. This is an advanced guide for modders.
Managing audio in Custom Music content packs
What is Custom Music?
Custom Music is a content framework for changing and adding music and sounds, without writing or changing game files or code. You use it by creating a content pack (basically a folder) with a couple of JSON files (basically text).
Soundbank files
All audio content is stored within Content/XACT in the form of soundbanks, which store all of the game's sounds and music. The two soundbank files available are Wave Bank(1.4).xwb and Wave Bank.xwb.
If desired, audio files can be extracted and browsed with an XWB extractor:
Tool name | Platforms supported | Features | Notes |
---|---|---|---|
unxwb | Windows, macOS | Extracts an XWB soundbank into .wav files and hex codes. | A straightforward open and extract utility. |
VGMStream plugin for foobar2000 sound player | Windows | Views XWB soundbanks with integer codes and many in-game codes included in filenames. | Very convenient file browser. (For some reason, it increments audio IDs by 1, and each audio cue is looped.) |
XACTTool | Windows | Extracts an XWB soundbank into .wav files and integer codes. Can also manipulate soundbanks. | Command-line only. |
See the full track list below.
Changing existing music and sounds
Intro to JSON
You'll notice a lot of files with .json at the end of the name when creating mods for Stardew Valley. That means they're formatted as JSON, which is just a way of writing text that's readable to code. If you haven't used JSON before, reading An Introduction to JSON first will be very helpful to understand what the files are doing.
Create an example mod
To get a basic content pack up and running:
- Install SMAPI and Custom Music.
- If desired, extract the soundbank to browse through and listen to the in-game sounds.
- Create a SMAPI content pack per step 3 of the general Create a Content Pack page.
- Create a content.json file in the same folder with this content:
- Launch the game.
{
"Music" : [
]
}
If you did everything correctly so far, you should see the new mod under "Loaded X content packs" in the SMAPI console. (If not, review the above steps or ask for help.)
Audio file format
Custom Music only supports .ogg & .wav formats. If you have .mp3 files you'd like to use in-game, you can convert the audio file to .ogg with audio software such as Audacity.
Make sure the file size of your music is relatively small (preferably less than 4MB). The bigger the file, the longer the game will freeze for when loading your newly added song.
Content format
The content.json file you made tells Custom Music what audio to change.
You can list any number of patches in the Music field, each surrounded by {
and }
. See the next section for more info, but here's a quick example:
{
"Music" : [
{
"Id": "MainTheme",
"File": "assets/themeSong.ogg",
"Loop": false,
"Ambient": false
}
]
}
Managing audio in SMAPI
Here is a reference chart for sound methods which you can use for various cases:
Singleplayer only name | Multiplayer equivalent | Use case |
---|---|---|
Game1.playSound | N/A | UI and menu sounds; playing a sound for one player only |
GameLocation.localSound | GameLocation.playSound | For any in-game interactions on specific maps only |
GameLocation.localSoundAt | GameLocation.playSoundAt | For playing spatial sounds in specific tiles or coordinates, which change volume and location based on player proximity |
Game1.playSoundPitched | GameLocation.playSoundPitched | For playing any sounds at a different pitch than the original sound |
DelayedAction.playSoundAfterDelay | N/A | For playing sounds after a specific period of time has passed |
Playing client-side sounds
// For UI elements, such as when the player crafts a new item.
Game1.playSound("crafting");
This is useful for playing sounds in user interfaces, such as menus, where you don't need to play the sound from any particular map or player location.
// For playing sounds in specific maps, such as a shipping bin on a farm.
if (this.shippingBinLid.pingPongMotion != 1 && Game1.currentLocation.Equals(this.farm))
{
this.farm.localSound("doorCreak");
}
You can use this to assure that a sound is being played and heard only from a specific map.
// You can use this method to play sounds
// that are far from, or close to the player.
// This is some of the code used for the running sounds, played while riding on a horse.
public virtual void PerformDefaultHorseFootstep(string step_type)
{
// ...
if (step_type == "Wood")
{
if (this.rider.ShouldHandleAnimationSound())
{
this.rider.currentLocation.localSoundAt("woodyStep", base.getTileLocation());
}
// ...
To play a sound at a higher or lower pitch, for the current player only with no specific location, you can call the Game1.playSoundPitched() method:
// The singleplayer code for Elliott's piano,
// located in his cabin.
switch (key)
{
case 1:
this.playSoundPitched("toyPiano", 1100);
break;
case 2:
this.playSoundPitched("toyPiano", 1500);
break;
case 3:
this.playSoundPitched("toyPiano", 1600);
break;
case 4:
this.playSoundPitched("toyPiano", 1800);
break;
}
// During a lightning storm, if the random chance is met,
// the screen will flash, and then
// a distant lightning strike sound will play after a
// randomly generated duration of time in milliseconds
if (Game1.random.NextDouble() < 0.5)
DelayedAction.screenFlashAfterDelay((float) (0.3 + Game1.random.NextDouble()), Game1.random.Next(500, 1000));
DelayedAction.playSoundAfterDelay("thunder_small", Game1.random.Next(500, 1500));
// ...
You can also change the sound's pitch with this function, or call this function several times at once to call them in a predetermined order:
// When using the phone that is purchasable from the Carpenter's Shop,
// it will play a specific sequence of dial beeps at predetermined times:
private void playShopPhoneNumberSounds(string whichShop)
{
Random random = new Random(whichShop.GetHashCode());
DelayedAction.playSoundAfterDelay("telephone_dialtone", 495, pitch: 1200);
DelayedAction.playSoundAfterDelay("telephone_buttonPush", 1200, pitch: (1200 + random.Next(-4, 5) * 100));
DelayedAction.playSoundAfterDelay("telephone_buttonPush", 1370, pitch: (1200 + random.Next(-4, 5) * 100));
DelayedAction.playSoundAfterDelay("telephone_buttonPush", 1600, pitch: (1200 + random.Next(-4, 5) * 100));
DelayedAction.playSoundAfterDelay("telephone_buttonPush", 1850, pitch: (1200 + random.Next(-4, 5) * 100));
DelayedAction.playSoundAfterDelay("telephone_buttonPush", 2030, pitch: (1200 + random.Next(-4, 5) * 100));
DelayedAction.playSoundAfterDelay("telephone_buttonPush", 2250, pitch: (1200 + random.Next(-4, 5) * 100));
DelayedAction.playSoundAfterDelay("telephone_buttonPush", 2410, pitch: (1200 + random.Next(-4, 5) * 100));
DelayedAction.playSoundAfterDelay("telephone_ringingInEar", 3150);
}
Playing multiplayer sounds
The methods in this section will let you play sounds across different clients in a multiplayer game.
Sounds played with multiplayer methods will run in singleplayer as well as multiplayer.
// When a player places a new structure, a sound will be played
// for the players that are at the same location,
// ie. on the farm.
public virtual void performActionOnConstruction(GameLocation location)
{
this.load();
location.playSound("axchop");
// ...
// The sound code for when Clint is metalworking in the Blacksmith.
private void clintHammerSound(Farmer who)
{
base.currentLocation.playSoundAt("hammer", base.getTileLocation());
}
Adding custom sounds
Game audio is split up into components:
- The SoundEffect is the object that stores the sound audio itself.
- The Cue is the object that stores the sound name, the SoundEffect, and any other settings or properties the sound has.
- The Soundbank stores Cues to be called, played or modified.
To add your own sounds to the soundbank, you can define a new CueDefinition and add a name:
CueDefinition cue_definition = new CueDefinition();
// Adding the name for the cue, which will be
// the name of the sound when using sound functions.
cue_definition.name = "myNewSound";
You can also make sure your sound will only be played one instance at a time, to prevent two of the same sound from playing over each other.
// If this sound is played multiple times in quick succession,
// only one sound instance will play at a time.
cue_definition.instanceLimit = 1;
cue_definition.limitBehavior = CueDefinition.LimitBehavior.ReplaceOldest;
Then, add the sound file to the cue by creating a new SoundEffect, then fetching the sound file from a new FileStream and adding it to the SoundEffect.
// Get the audio file and add it to a SoundEffect.
SoundEffect sound_effect;
string filePathCombined = Path.Combine(this.Helper.DirectoryPath, "mySound.wav");
using (var stream = new System.IO.FileStream(filePathCombined, System.IO.FileMode.Open)) {
sound_effect = SoundEffect.FromStream(stream);
}
Lastly, add the SoundEffect to the cue, and assign the cue to the soundbank to be stored.
If you'd like the sound to use the in-game reverb, you can set the third parameter to true:
// Setting the sound effect to the new cue.
cue_definition.SetSound(sound_effect, Game1.audioEngine.GetCategoryIndex("Default"), false);
// Adding the cue to the sound bank.
Game1.soundBank.AddCue(cue_definition);
You should now be able to play your sound using any of the sound commands!
Game1.playSound("myNewSound");
Editing existing sounds
TODO
Track list
These are the raw soundbank IDs for music and sounds exported from the game data (see the talk page for the export code).
A few notes about the table columns:
- The name is what you'd use in-game (e.g. with the Music map property or the Game1.changeMusicTrack method). When a name is repeated with different soundbank IDs, the game will choose a random sound each time you play it.
- The wavebank indicates whether the audio is from Content/XACT/Wave Bank.xwb or Content/XACT/Wave Bank(1.4).xwb. Each wavebank has its own set of soundbank IDs, but names don't overlap.
- The soundtrack index is the sound's position in the soundbank. The hexadecimal version matches the track's filename if you unpack the wavebank using unxwb.
- The description column is filled in manually for the wiki.
Footsteps
name | wavebank | soundbank index | description | |
---|---|---|---|---|
decimal | hexadecimal | |||
Cowboy_Footstep | Wavebank | 269 | 0000010d | Mainly used as the footstep sound for pets, in Prairie King, and as a hover sound in various menus (including the title screen buttons). |
grassyStep | Wavebank | 22 | 00000016 | Mainly used as the player footstep sound on grass tiles, when adding hay to a silo, when changing a player's hat or hairstyle, and for rustling bushes in Lewis and Marnie's six-heart event. |
sandyStep | Wavebank | 16 | 00000010 | |
snowyStep | Wavebank | 340 | 00000154 | |
stoneStep | Wavebank | 23 | 00000017 | |
thudStep | Wavebank | 24 | 00000018 | |
woodyStep | Wavebank | 29 | 0000001d |
Music
name | wavebank | soundbank index | description | |
---|---|---|---|---|
decimal | hexadecimal | |||
50s | Wavebank | 45 | 0000002d | |
AbigailFlute | Wavebank | 279 | 00000117 | |
AbigailFluteDuet | Wavebank | 280 | 00000118 | |
aerobics | Wavebank | 55 | 00000037 | |
archaeo | Wavebank | 0 | 00000000 | |
bigDrums | Wavebank | 172 | 000000ac | |
breezy | Wavebank | 281 | 00000119 | |
caldera | Wavebank | 383 | 0000017f | |
Cavern | Wavebank | 65 | 00000041 | |
christmasTheme | Wavebank | 305 | 00000131 | |
Cloth | Wavebank | 67 | 00000043 | |
CloudCountry | Wavebank | 190 | 000000be | |
clubloop | Wavebank | 102 | 00000066 | |
cowboy_boss | Wavebank | 267 | 0000010b | |
cowboy_outlawsong | Wavebank | 277 | 00000115 | |
Cowboy_OVERWORLD | Wavebank | 261 | 00000105 | |
Cowboy_singing | Wavebank | 262 | 00000106 | |
Cowboy_undead | Wavebank | 270 | 0000010e | |
crane_game | Wavebank(1.4) | 12 | 0000000c | |
crane_game_fast | Wavebank(1.4) | 13 | 0000000d | |
Crystal Bells | Wavebank | 64 | 00000040 | |
Cyclops | Wavebank | 124 | 0000007c | |
desolate | Wavebank | 40 | 00000028 | |
distantBanjo | Wavebank | 347 | 0000015b | |
EarthMine | Wavebank | 64 | 00000040 | |
EarthMine | Wavebank | 65 | 00000041 | |
EarthMine | Wavebank | 66 | 00000042 | |
echos | Wavebank | 49 | 00000031 | |
elliottPiano | Wavebank | 295 | 00000127 | |
EmilyDance | Wavebank | 357 | 00000165 | |
EmilyDream | Wavebank | 358 | 00000166 | |
EmilyTheme | Wavebank | 359 | 00000167 | |
end_credits | Wavebank | 403 | 00000193 | |
event1 | Wavebank | 299 | 0000012b | |
event2 | Wavebank | 302 | 0000012e | |
fall1 | Wavebank | 121 | 00000079 | |
fall2 | Wavebank | 119 | 00000077 | |
fall3 | Wavebank | 120 | 00000078 | |
fallFest | Wavebank | 304 | 00000130 | |
fieldofficeTentMusic | Wavebank | 375 | 00000177 | |
FlowerDance | Wavebank | 301 | 0000012d | |
FrogCave | Wavebank | 387 | 00000183 | |
FrostMine | Wavebank | 67 | 00000043 | |
FrostMine | Wavebank | 68 | 00000044 | |
FrostMine | Wavebank | 69 | 00000045 | |
Ghost Synth | Wavebank | 119 | 00000077 | |
grandpas_theme | Wavebank | 336 | 00000150 | |
gusviolin | Wavebank | 297 | 00000129 | |
harveys_theme_jazz | Wavebank(1.4) | 4 | 00000004 | |
heavy | Wavebank | 51 | 00000033 | |
honkytonky | Wavebank | 52 | 00000034 | |
Icicles | Wavebank | 68 | 00000044 | |
IslandMusic | Wavebank | 374 | 00000176 | |
jaunty | Wavebank | 41 | 00000029 | |
junimoKart | Wavebank(1.4) | 20 | 00000014 | |
junimoKart_ghostMusic | Wavebank(1.4) | 0 | 00000000 | |
junimoKart_mushroomMusic | Wavebank(1.4) | 21 | 00000015 | |
junimoKart_slimeMusic | Wavebank(1.4) | 22 | 00000016 | |
junimoKart_whaleMusic | Wavebank(1.4) | 1 | 00000001 | |
junimoStarSong | Wavebank | 308 | 00000134 | |
kindadumbautumn | Wavebank | 282 | 0000011a | |
LavaMine | Wavebank | 72 | 00000048 | |
LavaMine | Wavebank | 73 | 00000049 | |
LavaMine | Wavebank | 198 | 000000c6 | |
LavaMine | Wavebank | 215 | 000000d7 | |
libraryTheme | Wavebank | 341 | 00000155 | |
MainTheme | Wavebank | 335 | 0000014f | |
Majestic | Wavebank | 121 | 00000079 | |
MarlonsTheme | Wavebank | 349 | 0000015d | |
marnieShop | Wavebank | 180 | 000000b4 | |
mermaidSong | Wavebank | 362 | 0000016a | |
moonlightJellies | Wavebank | 303 | 0000012f | |
movie_classic | Wavebank(1.4) | 7 | 00000007 | |
movie_nature | Wavebank(1.4) | 8 | 00000008 | |
movie_wumbus | Wavebank(1.4) | 9 | 00000009 | |
movieTheater | Wavebank(1.4) | 10 | 0000000a | |
movieTheaterAfter | Wavebank(1.4) | 11 | 0000000b | |
musicboxsong | Wavebank | 44 | 0000002c | |
Near The Planet Core | Wavebank | 72 | 00000048 | |
New Snow | Wavebank | 126 | 0000007e | |
night_market | Wavebank | 364 | 0000016c | |
Of Dwarves | Wavebank | 73 | 00000049 | |
Orange | Wavebank | 122 | 0000007a | |
Overcast | Wavebank | 215 | 000000d7 | |
Pink Petals | Wavebank | 93 | 0000005d | |
PIRATE_THEME | Wavebank | 390 | 00000186 | |
PIRATE_THEME(muffled) | Wavebank | 390 | 00000186 | |
playful | Wavebank | 278 | 00000116 | |
Plums | Wavebank | 120 | 00000078 | |
poppy | Wavebank | 53 | 00000035 | |
ragtime | Wavebank | 46 | 0000002e | |
sad_kid | Wavebank | 389 | 00000185 | |
sadpiano | Wavebank | 47 | 0000002f | |
Saloon1 | Wavebank | 350 | 0000015e | |
sam_acoustic1 | Wavebank(1.4) | 2 | 00000002 | |
sam_acoustic2 | Wavebank(1.4) | 3 | 00000003 | |
sampractice | Wavebank | 50 | 00000032 | |
sappypiano | Wavebank | 43 | 0000002b | |
Secret Gnomes | Wavebank | 66 | 00000042 | |
SettlingIn | Wavebank | 192 | 000000c0 | |
shaneTheme | Wavebank | 361 | 00000169 | |
shimmeringbastion | Wavebank | 54 | 00000036 | |
spaceMusic | Wavebank | 285 | 0000011d | |
spirits_eve | Wavebank | 334 | 0000014e | |
spring1 | Wavebank | 93 | 0000005d | |
spring2 | Wavebank | 91 | 0000005b | |
spring3 | Wavebank | 92 | 0000005c | |
springsongs | Wavebank | 91 | 0000005b | |
springsongs | Wavebank | 92 | 0000005c | |
springsongs | Wavebank | 93 | 0000005d | |
springtown | Wavebank | 94 | 0000005e | |
Stadium_ambient | Wavebank | 356 | 00000164 | |
starshoot | Wavebank | 42 | 0000002a | |
submarine_song | Wavebank | 366 | 0000016e | |
summer1 | Wavebank | 122 | 0000007a | |
summer2 | Wavebank | 123 | 0000007b | |
summer3 | Wavebank | 115 | 00000073 | |
SunRoom | Wavebank(1.4) | 17 | 00000011 | |
sweet | Wavebank | 144 | 00000090 | |
tickTock | Wavebank | 300 | 0000012c | |
tinymusicbox | Wavebank | 296 | 00000128 | |
title_night | Wavebank | 127 | 0000007f | |
tribal | Wavebank | 198 | 000000c6 | |
Tropical Jam | Wavebank | 115 | 00000073 | |
VolcanoMines | Wavebank | 382 | 0000017e | |
VolcanoMines | Wavebank | 384 | 00000180 | |
VolcanoMines1 | Wavebank | 382 | 0000017e | |
VolcanoMines2 | Wavebank | 384 | 00000180 | |
wavy | Wavebank | 95 | 0000005f | |
wedding | Wavebank | 104 | 00000068 | |
winter1 | Wavebank | 126 | 0000007e | |
winter2 | Wavebank | 124 | 0000007c | |
winter3 | Wavebank | 125 | 0000007d | |
WizardSong | Wavebank | 321 | 00000141 | |
woodsTheme | Wavebank | 216 | 000000d8 | |
XOR | Wavebank | 69 | 00000045 |
Music (ambient)
name | wavebank | soundbank index | description | |
---|---|---|---|---|
decimal | hexadecimal | |||
babblingBrook | Wavebank | 343 | 00000157 | |
bugLevelLoop | Wavebank | 169 | 000000a9 | |
communityCenter | Wavebank | 307 | 00000133 | |
cracklingFire | Wavebank | 342 | 00000156 | |
darkCaveLoop | Wavebank | 168 | 000000a8 | |
fall_day_ambient | Wavebank | 338 | 00000152 | |
Frost_Ambient | Wavebank | 200 | 000000c8 | |
heavyEngine | Wavebank | 344 | 00000158 | |
Hospital_Ambient | Wavebank | 283 | 0000011b | |
jojaOfficeSoundscape | Wavebank | 337 | 00000151 | |
jungle_ambience | Wavebank | 371 | 00000173 | |
Lava_Ambient | Wavebank | 201 | 000000c9 | |
movieScreenAmbience | Wavebank(1.4) | 6 | 00000006 | |
nightTime | Wavebank | 224 | 000000e0 | |
ocean | Wavebank | 175 | 000000af | |
pool_ambient | Wavebank | 288 | 00000120 | |
rain | Wavebank | 116 | 00000074 | |
roadnoise | Wavebank | 189 | 000000bd | |
spring_day_ambient | Wavebank | 179 | 000000b3 | |
spring_night_ambient | Wavebank | 345 | 00000159 | |
summer_day_ambient | Wavebank | 339 | 00000153 | |
tropical_island_day_ambient | Wavebank | 376 | 00000178 | |
Upper_Ambient | Wavebank | 199 | 000000c7 | |
Volcano_Ambient | Wavebank | 377 | 00000179 | |
wind | Wavebank | 85 | 00000055 | |
winter_day_ambient | Wavebank | 354 | 00000162 |
Sound
name | wavebank | soundbank index | description | |
---|---|---|---|---|
decimal | hexadecimal | |||
achievement | Wavebank | 103 | 00000067 | |
axchop | Wavebank | 141 | 0000008d | |
axe | Wavebank | 1 | 00000001 | |
backpackIN | Wavebank | 133 | 00000085 | |
barrelBreak | Wavebank | 310 | 00000136 | |
batFlap | Wavebank | 170 | 000000aa | |
batScreech | Wavebank | 171 | 000000ab | |
bigDeSelect | Wavebank | 2 | 00000002 | |
bigSelect | Wavebank | 3 | 00000003 | |
bob | Wavebank | 30 | 0000001e | |
boop | Wavebank | 98 | 00000062 | |
boop | Wavebank | 99 | 00000063 | |
boop | Wavebank | 100 | 00000064 | |
boop | Wavebank | 101 | 00000065 | |
boulderBreak | Wavebank | 238 | 000000ee | |
boulderCrack | Wavebank | 4 | 00000004 | |
breakingGlass | Wavebank | 284 | 0000011c | |
breathin | Wavebank | 84 | 00000054 | |
breathout | Wavebank | 83 | 00000053 | |
bubbles | Wavebank | 235 | 000000eb | |
bubbles | Wavebank | 236 | 000000ec | |
busDoorOpen | Wavebank | 191 | 000000bf | |
busDriveOff | Wavebank | 309 | 00000135 | |
button1 | Wavebank | 250 | 000000fa | |
cacklingWitch | Wavebank | 323 | 00000143 | |
camel | Wavebank(1.4) | 23 | 00000017 | |
cameraNoise | Wavebank | 292 | 00000124 | |
cancel | Wavebank | 353 | 00000161 | |
cast | Wavebank | 246 | 000000f6 | |
cat | Wavebank | 332 | 0000014c | |
cat | Wavebank | 333 | 0000014d | |
cavedrip | Wavebank | 129 | 00000081 | |
clam_tone | Wavebank | 363 | 0000016b | |
clank | Wavebank | 173 | 000000ad | |
clank | Wavebank | 203 | 000000cb | |
clank | Wavebank | 203 | 000000cb | |
clank | Wavebank | 204 | 000000cc | |
clank | Wavebank | 205 | 000000cd | |
clank | Wavebank | 205 | 000000cd | |
clubhit | Wavebank | 159 | 0000009f | |
clubSmash | Wavebank | 174 | 000000ae | |
clubswipe | Wavebank | 160 | 000000a0 | |
cluck | Wavebank | 31 | 0000001f | |
cluck | Wavebank | 32 | 00000020 | |
cluck | Wavebank | 33 | 00000021 | |
coin | Wavebank | 5 | 00000005 | |
coldSpell | Wavebank | 197 | 000000c5 | |
cow | Wavebank | 80 | 00000050 | |
cow | Wavebank | 81 | 00000051 | |
cow | Wavebank | 82 | 00000052 | |
cowboy_dead | Wavebank | 268 | 0000010c | |
cowboy_explosion | Wavebank | 276 | 00000114 | |
cowboy_gopher | Wavebank | 275 | 00000113 | |
cowboy_gunload | Wavebank | 272 | 00000110 | |
Cowboy_gunshot | Wavebank | 266 | 0000010a | |
Cowboy_monsterDie | Wavebank | 264 | 00000108 | |
Cowboy_monsterDie | Wavebank | 265 | 00000109 | |
cowboy_monsterhit | Wavebank | 274 | 00000112 | |
cowboy_powerup | Wavebank | 271 | 0000010f | |
Cowboy_Secret | Wavebank | 263 | 00000107 | |
crafting | Wavebank | 36 | 00000024 | |
crane | Wavebank(1.4) | 14 | 0000000e | |
crickets | Wavebank | 117 | 00000075 | |
cricketsAmbient | Wavebank | 346 | 0000015a | |
crit | Wavebank | 352 | 00000160 | |
croak | Wavebank | 138 | 0000008a | |
crow | Wavebank | 324 | 00000144 | |
crystal | Wavebank | 143 | 0000008f | |
cut | Wavebank | 6 | 00000006 | |
daggerswipe | Wavebank | 163 | 000000a3 | |
death | Wavebank | 70 | 00000046 | |
debuffHit | Wavebank | 151 | 00000097 | |
debuffSpell | Wavebank | 152 | 00000098 | |
detector | Wavebank | 37 | 00000025 | |
dialogueCharacter | Wavebank | 7 | 00000007 | |
dialogueCharacterClose | Wavebank | 8 | 00000008 | |
dirtyHit | Wavebank | 243 | 000000f3 | |
dirtyHit | Wavebank | 244 | 000000f4 | |
discoverMineral | Wavebank | 208 | 000000d0 | |
distantTrain | Wavebank | 220 | 000000dc | |
distantTrain | Wavebank | 221 | 000000dd | |
dog_bark | Wavebank | 331 | 0000014b | |
dog_pant | Wavebank | 330 | 0000014a | |
dogs | Wavebank | 228 | 000000e4 | |
dogWhining | Wavebank | 316 | 0000013c | |
doorClose | Wavebank | 9 | 00000009 | |
doorCreak | Wavebank | 319 | 0000013f | |
doorCreakReverse | Wavebank | 322 | 00000142 | |
doorOpen | Wavebank | 320 | 00000140 | |
dropItemInWater | Wavebank | 10 | 0000000a | |
drumkit0 | Wavebank | 110 | 0000006e | |
drumkit1 | Wavebank | 111 | 0000006f | |
drumkit2 | Wavebank | 108 | 0000006c | |
drumkit3 | Wavebank | 107 | 0000006b | |
drumkit4 | Wavebank | 109 | 0000006d | |
drumkit5 | Wavebank | 106 | 0000006a | |
drumkit6 | Wavebank | 105 | 00000069 | |
Duck | Wavebank | 231 | 000000e7 | |
Duggy | Wavebank | 60 | 0000003c | |
dustMeep | Wavebank | 186 | 000000ba | |
DwarvishSentry | Wavebank | 386 | 00000182 | |
dwoop | Wavebank | 34 | 00000022 | |
dwop | Wavebank | 234 | 000000ea | |
eat | Wavebank | 25 | 00000019 | |
explosion | Wavebank | 35 | 00000023 | |
fallDown | Wavebank | 318 | 0000013e | |
fastReel | Wavebank | 248 | 000000f8 | |
fireball | Wavebank | 71 | 00000047 | |
fishBite | Wavebank | 26 | 0000001a | |
fishBite_alternate_0 | Wavebank | 398 | 0000018e | |
fishBite_alternate_1 | Wavebank | 397 | 0000018d | |
fishBite_alternate_2 | Wavebank | 396 | 0000018c | |
fishEscape | Wavebank | 253 | 000000fd | |
FishHit | Wavebank | 251 | 000000fb | |
fishingRodBend | Wavebank | 254 | 000000fe | |
fishingRodBend | Wavebank | 255 | 000000ff | |
fishingRodBend | Wavebank | 256 | 00000100 | |
fishSlap | Wavebank | 260 | 00000104 | |
flameSpell | Wavebank | 150 | 00000096 | |
flameSpellHit | Wavebank | 149 | 00000095 | |
flute | Wavebank | 112 | 00000070 | |
flybuzzing | Wavebank | 164 | 000000a4 | |
frozen | Wavebank | 394 | 0000018a | |
furnace | Wavebank | 38 | 00000026 | |
fuse | Wavebank | 48 | 00000030 | |
getNewSpecialItem | Wavebank | 223 | 000000df | |
ghost | Wavebank | 11 | 0000000b | |
give_gift | Wavebank | 348 | 0000015c | |
glug | Wavebank | 325 | 00000145 | |
goat | Wavebank | 78 | 0000004e | |
goat | Wavebank | 79 | 0000004f | |
goldenWalnut | Wavebank | 372 | 00000174 | |
gorilla_intro | Wavebank | 388 | 00000184 | |
grunt | Wavebank | 12 | 0000000c | |
gulp | Wavebank | 239 | 000000ef | |
gulp | Wavebank | 240 | 000000f0 | |
hammer | Wavebank | 134 | 00000086 | |
harvest | Wavebank | 326 | 00000146 | |
healSound | Wavebank | 196 | 000000c4 | |
hitEnemy | Wavebank | 56 | 00000038 | |
hoeHit | Wavebank | 13 | 0000000d | |
horse_flute | Wavebank | 395 | 0000018b | |
horse_flute | Wavebank | 401 | 00000191 | |
horse_flute | Wavebank | 402 | 00000192 | |
jingle1 | Wavebank | 252 | 000000fc | |
junimoKart_coin | Wavebank(1.4) | 16 | 00000010 | |
junimoMeep1 | Wavebank | 306 | 00000132 | |
keyboardTyping | Wavebank | 293 | 00000125 | |
killAnimal | Wavebank | 233 | 000000e9 | |
leafrustle | Wavebank | 142 | 0000008e | |
magma_sprite_die | Wavebank | 380 | 0000017c | |
magma_sprite_hit | Wavebank | 379 | 0000017b | |
magma_sprite_spot | Wavebank | 381 | 0000017d | |
Meteorite | Wavebank | 225 | 000000e1 | |
Milking | Wavebank | 230 | 000000e6 | |
minecartLoop | Wavebank | 188 | 000000bc | |
miniharp_note | Wavebank(1.4) | 5 | 00000005 | |
money | Wavebank | 61 | 0000003d | |
moneyDial | Wavebank | 237 | 000000ed | |
monkey1 | Wavebank | 385 | 00000181 | |
monsterdead | Wavebank | 158 | 0000009e | |
mouseClick | Wavebank | 294 | 00000126 | |
newArtifact | Wavebank | 211 | 000000d3 | |
newRecipe | Wavebank | 214 | 000000d6 | |
newRecord | Wavebank | 213 | 000000d5 | |
objectiveComplete | Wavebank | 132 | 00000084 | |
openBox | Wavebank | 14 | 0000000e | |
openChest | Wavebank | 161 | 000000a1 | |
Ostrich | Wavebank | 367 | 0000016f | |
ow | Wavebank | 63 | 0000003f | |
owl | Wavebank | 227 | 000000e3 | |
parrot | Wavebank | 360 | 00000168 | |
parrot_squawk | Wavebank | 373 | 00000175 | |
parry | Wavebank | 173 | 000000ad | |
phone | Wavebank | 113 | 00000071 | |
Pickup_Coin15 | Wavebank | 273 | 00000111 | |
pickUpItem | Wavebank | 15 | 0000000f | |
pig | Wavebank | 130 | 00000082 | |
pig | Wavebank | 131 | 00000083 | |
potterySmash | Wavebank | 147 | 00000093 | |
powerup | Wavebank | 39 | 00000027 | |
pullItemFromWater | Wavebank | 28 | 0000001c | |
purchase | Wavebank | 145 | 00000091 | |
purchase | Wavebank | 146 | 00000092 | |
purchase | Wavebank | 241 | 000000f1 | |
purchaseClick | Wavebank | 146 | 00000092 | |
purchaseRepeat | Wavebank | 241 | 000000f1 | |
qi_shop | Wavebank | 399 | 0000018f | |
qi_shop_purchase | Wavebank | 400 | 00000190 | |
questcomplete | Wavebank | 128 | 00000080 | |
quickSlosh | Wavebank | 290 | 00000122 | |
quickSlosh | Wavebank | 291 | 00000123 | |
rabbit | Wavebank | 74 | 0000004a | |
rainsound | Wavebank | 135 | 00000087 | |
rainsound | Wavebank | 136 | 00000088 | |
rainsound | Wavebank | 137 | 00000089 | |
reward | Wavebank | 212 | 000000d4 | |
robotBLASTOFF | Wavebank | 287 | 0000011f | |
robotSoundEffects | Wavebank | 286 | 0000011e | |
rockGolemDie | Wavebank | 166 | 000000a6 | |
rockGolemHit | Wavebank | 167 | 000000a7 | |
rockGolemSpawn | Wavebank | 165 | 000000a5 | |
rooster | Wavebank | 329 | 00000149 | |
scissors | Wavebank | 229 | 000000e5 | |
seagulls | Wavebank | 176 | 000000b0 | |
seagulls | Wavebank | 177 | 000000b1 | |
seagulls | Wavebank | 178 | 000000b2 | |
secret1 | Wavebank | 218 | 000000da | |
seeds | Wavebank | 17 | 00000011 | |
select | Wavebank | 148 | 00000094 | |
sell | Wavebank | 242 | 000000f2 | |
serpentDie | Wavebank | 315 | 0000013b | |
serpentHit | Wavebank | 314 | 0000013a | |
sewing_loop | Wavebank(1.4) | 15 | 0000000f | |
shadowDie | Wavebank | 194 | 000000c2 | |
shadowHit | Wavebank | 195 | 000000c3 | |
shadowpeep | Wavebank | 18 | 00000012 | |
sheep | Wavebank | 232 | 000000e8 | |
shiny4 | Wavebank | 19 | 00000013 | |
Ship | Wavebank | 96 | 00000060 | |
Ship | Wavebank | 97 | 00000061 | |
shwip | Wavebank | 317 | 0000013d | |
SinWave | Wavebank | 245 | 000000f5 | |
sipTea | Wavebank | 193 | 000000c1 | |
skeletonDie | Wavebank | 183 | 000000b7 | |
skeletonHit | Wavebank | 184 | 000000b8 | |
skeletonStep | Wavebank | 182 | 000000b6 | |
slime | Wavebank | 57 | 00000039 | |
slimedead | Wavebank | 59 | 0000003b | |
slimedead | Wavebank | 156 | 0000009c | |
slimedead | Wavebank | 157 | 0000009d | |
slimeHit | Wavebank | 185 | 000000b9 | |
slingshot | Wavebank | 207 | 000000cf | |
slosh | Wavebank | 289 | 00000121 | |
slosh | Wavebank | 290 | 00000122 | |
slosh | Wavebank | 291 | 00000123 | |
slowReel | Wavebank | 247 | 000000f7 | |
smallSelect | Wavebank | 20 | 00000014 | |
SpringBirds | Wavebank | 86 | 00000056 | |
SpringBirds | Wavebank | 87 | 00000057 | |
SpringBirds | Wavebank | 88 | 00000058 | |
SpringBirds | Wavebank | 89 | 00000059 | |
SpringBirds | Wavebank | 90 | 0000005a | |
squid_bubble | Wavebank | 392 | 00000188 | |
squid_hit | Wavebank | 393 | 00000189 | |
squid_move | Wavebank | 391 | 00000187 | |
Stadium_cheer | Wavebank | 355 | 00000163 | |
stairsdown | Wavebank | 313 | 00000139 | |
stardrop | Wavebank | 351 | 0000015f | |
steam | Wavebank | 378 | 0000017a | |
stoneCrack | Wavebank | 75 | 0000004b | |
stoneCrack | Wavebank | 76 | 0000004c | |
stumpCrack | Wavebank | 217 | 000000d9 | |
submarine_landing | Wavebank | 365 | 0000016d | |
swordswipe | Wavebank | 58 | 0000003a | |
swordswipe | Wavebank | 162 | 000000a2 | |
telephone_buttonPush | Wavebank | 369 | 00000171 | |
telephone_dialtone | Wavebank | 370 | 00000172 | |
telephone_ringingInEar | Wavebank | 368 | 00000170 | |
throw | Wavebank | 187 | 000000bb | |
throwDownITem | Wavebank | 21 | 00000015 | |
thunder | Wavebank | 114 | 00000072 | |
thunder_small | Wavebank | 327 | 00000147 | |
thunder_small | Wavebank | 328 | 00000148 | |
tinyWhip | Wavebank | 249 | 000000f9 | |
toolCharge | Wavebank | 62 | 0000003e | |
toolSwap | Wavebank | 27 | 0000001b | |
toyPiano | Wavebank | 181 | 000000b5 | |
trainLoop | Wavebank | 222 | 000000de | |
trainWhistle | Wavebank | 219 | 000000db | |
trashbear | Wavebank(1.4) | 25 | 00000019 | |
trashbear_flute | Wavebank(1.4) | 24 | 00000018 | |
trashcan | Wavebank | 209 | 000000d1 | |
trashcanlid | Wavebank | 210 | 000000d2 | |
treecrack | Wavebank | 140 | 0000008c | |
treethud | Wavebank | 139 | 0000008b | |
UFO | Wavebank | 226 | 000000e2 | |
wand | Wavebank | 118 | 00000076 | |
warrior | Wavebank | 206 | 000000ce | |
wateringCan | Wavebank | 153 | 00000099 | |
wateringCan | Wavebank | 154 | 0000009a | |
wateringCan | Wavebank | 155 | 0000009b | |
waterSlosh | Wavebank | 257 | 00000101 | |
waterSlosh | Wavebank | 258 | 00000102 | |
waterSlosh | Wavebank | 259 | 00000103 | |
whistle | Wavebank | 298 | 0000012a | |
woodchipper | Wavebank(1.4) | 18 | 00000012 | |
woodchipper_occasional | Wavebank(1.4) | 19 | 00000013 | |
woodWhack | Wavebank | 311 | 00000137 | |
woodWhack | Wavebank | 312 | 00000138 | |
woodyHit | Wavebank | 77 | 0000004d | |
yoba | Wavebank | 202 | 000000ca |
See also
- From the modding tutorial wiki: