Add voice tab to Audio Editor (#3080)

* Work on Voice rando

Todo: rename rest of entries and reorganize it into a new tab

* Finish going through voices for audio editor

Also make it, it's own tab. Added the option.

* Fixed adult link voices and recounted sound effects/voices

* Remove option

* Update soh/soh/Enhancements/audio/AudioCollection.h

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* Remove commented out voices from sfx section

* fix spacing

---------

Co-authored-by: LuigiXHero <LuigiXHero@gmail.com>
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
This commit is contained in:
LuigiXHero 2023-08-20 10:59:10 -07:00 committed by GitHub
parent ff4d1b9f77
commit 2da8be331b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 163 additions and 19 deletions

View File

@ -118,27 +118,20 @@ AudioCollection::AudioCollection() {
SEQUENCE_MAP_ENTRY(NA_SE_SY_HP_RECOVER, "HP Recover", "NA_SE_SY_HP_RECOVER", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EV_HORSE_RUN, "Horse Trot", "NA_SE_EV_HORSE_RUN", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_PL_WALK_HEAVYBOOTS, "Iron Boots", "NA_SE_PL_WALK_HEAVYBOOTS", SEQ_SFX),
//SEQUENCE_MAP_ENTRY(NA_SE_PL_HOBBERBOOTS_LV, "Hover Boots", "NA_SE_PL_HOBBERBOOTS_LV", SEQ_SFX), // Doesn't work due to SFX_FLAG
SEQUENCE_MAP_ENTRY(NA_SE_EV_COW_CRY, "Moo", "NA_SE_EV_COW_CRY", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_KZ_MOVE, "Mweep!", "NA_SE_VO_KZ_MOVE", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_NA_HELLO_2, "Navi Hey!", "NA_SE_VO_NA_HELLO_2", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_SK_LAUGH, "Navi Listen!", "NA_SE_VO_SK_LAUGH", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EV_POT_BROKEN, "Pot Shattering", "NA_SE_EV_POT_BROKEN", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EV_FROG_CRY_0, "Ribbit", "NA_SE_EV_FROG_CRY_0", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EV_FIVE_COUNT_LUPY, "Rupee (Silver)", "NA_SE_EV_FIVE_COUNT_LUPY", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EV_FOOT_SWITCH, "Switch", "NA_SE_EV_FOOT_SWITCH", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_IT_WALL_HIT_SOFT, "Sword Bonk", "NA_SE_IT_WALL_HIT_SOFT", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_SY_METRONOME, "Tambourine", "NA_SE_SY_METRONOME", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z1_SURPRISE, "Zelda Gasp (Adult)", "NA_SE_VO_Z1_SURPRISE", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_AMOS_VOICE, "Armos", "NA_SE_EN_AMOS_VOICE", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_FALL_L_KID, "Child Scream", "NA_SE_VO_LI_FALL_L_KID", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_FR_LAUGH_0, "Great Fairy", "NA_SE_VO_FR_LAUGH_0", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_REDEAD_AIM, "Redead Scream", "NA_SE_EN_REDEAD_AIM", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_LAUGH_0, "Ruto Giggle", "NA_SE_VO_RT_LAUGH_0", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_STALKID_ATTACK, "Stalchild Attack", "NA_SE_EN_STALKID_ATTACK", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EV_CHICKEN_CRY_M, "Cockadoodiedoo", "NA_SE_EV_CHICKEN_CRY_M", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_SY_KINSTA_MARK_APPEAR, "Gold Skulltula Token", "NA_SE_SY_KINSTA_MARK_APPEAR", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_REDEAD_CRY, "Redead Moan", "NA_SE_EN_REDEAD_CRY", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_TA_SLEEP, "Talon Snore", "NA_SE_VO_TA_SLEEP", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EV_LIGHTNING, "Thunder", "NA_SE_EV_LIGHTNING", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_OC_ABYSS, "Cartoon Fall", "NA_SE_OC_ABYSS", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_FLAME_LAUGH, "Flare Dancer Laugh", "NA_SE_EN_FLAME_LAUGH", SEQ_SFX),
@ -147,7 +140,6 @@ AudioCollection::AudioCollection() {
SEQUENCE_MAP_ENTRY(NA_SE_EV_BOTTLE_CAP_OPEN, "Bottle Cork", "NA_SE_EV_BOTTLE_CAP_OPEN", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_IT_BOW_FLICK, "Bow Twang", "NA_SE_IT_BOW_FLICK", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_BUBLE_LAUGH, "Bubble Laugh", "NA_SE_EN_BUBLE_LAUGH", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_BREATH_DRINK_KID, "Child Pant", "NA_SE_VO_LI_BREATH_DRINK_KID", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_DEKU_JR_MOUTH, "Deku Baba", "NA_SE_EN_DEKU_JR_MOUTH", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EV_DOG_CRY_EVENING, "Dusk Howl", "NA_SE_EV_DOG_CRY_EVENING", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_FLAME_DAMAGE, "Flare Dancer Startled", "NA_SE_EN_FLAME_DAMAGE", SEQ_SFX),
@ -160,16 +152,11 @@ AudioCollection::AudioCollection() {
SEQUENCE_MAP_ENTRY(NA_SE_EN_FANTOM_ST_LAUGH, "Phantom Ganon Laugh", "NA_SE_EN_FANTOM_ST_LAUGH", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EV_PLANT_BROKEN, "Plant Explode", "NA_SE_EV_PLANT_BROKEN", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_SY_GET_RUPY, "Rupee", "NA_SE_SY_GET_RUPY", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_CRASH, "Ruto Crash", "NA_SE_VO_RT_CRASH", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_LIFT, "Ruto Lift", "NA_SE_VO_RT_LIFT", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_THROW, "Ruto Thrown", "NA_SE_VO_RT_THROW", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_NUTS_UP, "Scrub Emerge", "NA_SE_EN_NUTS_UP", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_AWA_BOUND, "Shabom Bounce", "NA_SE_EN_AWA_BOUND", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_SHELL_MOUTH, "Shellblade", "NA_SE_EN_SHELL_MOUTH", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_STALTU_DAMAGE, "Skulltula Damage", "NA_SE_EN_STALTU_DAMAGE", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EN_NUTS_THROW, "Spit Nut", "NA_SE_EN_NUTS_THROW", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_TA_CRY_0, "Talon Hmm", "NA_SE_VO_TA_CRY_0", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_TA_SURPRISE, "Talon Surprised", "NA_SE_VO_TA_SURPRISE", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_SY_LOCK_ON, "Target Enemy", "NA_SE_SY_LOCK_ON", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_SY_LOCK_ON_HUMAN, "Target Neutral", "NA_SE_SY_LOCK_ON_HUMAN", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_SY_FSEL_CURSOR, "File Select Cursor", "NA_SE_SY_FSEL_CURSOR", SEQ_SFX),
@ -177,6 +164,145 @@ AudioCollection::AudioCollection() {
SEQUENCE_MAP_ENTRY(NA_SE_SY_FSEL_CLOSE, "File Select Back", "NA_SE_SY_FSEL_CLOSE", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_IT_BOMB_EXPLOSION, "Bomb Explosion", "NA_SE_IT_BOMB_EXPLOSION", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_EV_CHICKEN_CRY_A, "Chicken Cry", "NA_SE_EV_CHICKEN_CRY_A", SEQ_SFX),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SWORD_N, "Adult Link - Slash", "NA_SE_VO_LI_SWORD_N", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SWORD_L, "Adult Link - Big Slash", "NA_SE_VO_LI_SWORD_L", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_LASH, "Adult Link - Hookshot Latch Yell", "NA_SE_VO_LI_LASH", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_HANG, "Adult Link - Dangling Gasp", "NA_SE_VO_LI_HANG", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_CLIMB_END, "Adult Link - Climb Edge", "NA_SE_VO_LI_CLIMB_END", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_DAMAGE_S, "Adult Link - Small Damage", "NA_SE_VO_LI_DAMAGE_S", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_FREEZE, "Adult Link - Freeze", "NA_SE_VO_LI_FREEZE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_FALL_S, "Adult Link - Fall Gasp", "NA_SE_VO_LI_FALL_S", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_FALL_L, "Adult Link - Fall Scream", "NA_SE_VO_LI_FALL_L", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_BREATH_REST, "Adult Link - Low Health Sigh", "NA_SE_VO_LI_BREATH_REST", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_BREATH_DRINK, "Adult Link - Bottle Sigh", "NA_SE_VO_LI_BREATH_DRINK", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_DOWN, "Adult Link - Death", "NA_SE_VO_LI_DOWN", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_TAKEN_AWAY, "Adult Link - Taken away by Wallmaster","NA_SE_VO_LI_TAKEN_AWAY", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_HELD, "Adult Link - Grabbed by Wallmaster", "NA_SE_VO_LI_HELD", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SNEEZE, "Adult Link - Sneeze", "NA_SE_VO_LI_SNEEZE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SWEAT, "Adult Link - Gasp (Hot Room)", "NA_SE_VO_LI_SWEAT", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_DRINK, "Adult Link - Drinking", "NA_SE_VO_LI_DRINK", SEQ_VOICE), // Doesn't work due to SFX_FLAG
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_RELAX, "Adult Link - Yawn", "NA_SE_VO_LI_RELAX", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SWORD_PUTAWAY, "Adult Link - Yell (Sword Putaway)", "NA_SE_VO_LI_SWORD_PUTAWAY", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_GROAN, "Adult Link - Groan (Unused)", "NA_SE_VO_LI_GROAN", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_AUTO_JUMP, "Adult Link - Jump/Swing Bottle", "NA_SE_VO_LI_AUTOd_JUMP", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_MAGIC_NALE, "Adult Link - Use Nayru's Love", "NA_SE_VO_LI_MAGIC_NALE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SURPRISE, "Adult Link - Suprised Gasp", "NA_SE_VO_LI_SURPRISE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_MAGIC_FROL, "Adult Link - Use Farore's Wind", "NA_SE_VO_LI_MAGIC_FROL", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_PUSH, "Adult Link - Push", "NA_SE_VO_LI_PUSH", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_HOOKSHOT_HANG, "Adult Link - Hookshot hang", "NA_SE_VO_LI_HOOKSHOT_HANG", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_LAND_DAMAGE_S, "Adult Link - Fall damage", "NA_SE_VO_LI_LAND_DAMAGE_S", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_NULL_0x1b, "Adult Link - Small grunt (unused?)", "NA_SE_VO_LI_NULL_0x1b", SEQ_VOICE), // Unused? But unique so keeping it
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_MAGIC_ATTACK, "Adult Link - Din's Fire", "NA_SE_VO_LI_MAGIC_ATTACK", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_BL_DOWN, "Adult Link - Scream (Nocturne?)", "NA_SE_VO_BL_DOWN", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_DEMO_DAMAGE, "Adult Link - Pained Land (Nocturne?)","NA_SE_VO_LI_DEMO_DAMAGE", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY("Adult Link - Unused Sound 1?","NA_SE_VO_LI_ELECTRIC_SHOCK_LV", "NA_SE_VO_LI_ELECTRIC_SHOCK_LV", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SWORD_N_KID, "Child Link - Slash", "NA_SE_VO_LI_SWORD_N_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_ROLLING_CUT_KID, "Child Link - Big Slash", "NA_SE_VO_LI_ROLLING_CUT_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_LASH_KID, "Child Link - Hootshot Latch", "NA_SE_VO_LI_LASH_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_HANG_KID, "Child Link - Dangling Gasp", "NA_SE_VO_LI_HANG_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_CLIMB_END_KID, "Child Link - Climb Edge", "NA_SE_VO_LI_CLIMB_END_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_DAMAGE_S_KID, "Child Link - Small Damage", "NA_SE_VO_LI_DAMAGE_S_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_FREEZE_KID, "Child Link - Freeze", "NA_SE_VO_LI_FREEZE_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_FALL_S_KID, "Child Link - Fall Gasp", "NA_SE_VO_LI_FALL_S_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_FALL_L_KID, "Child Link - Fall Scream", "NA_SE_VO_LI_FALL_L_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_BREATH_REST_KID, "Child Link - Low Health Sigh", "NA_SE_VO_LI_BREATH_REST_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_BREATH_DRINK_KID, "Child Link - Bottle Sigh", "NA_SE_VO_LI_BREATH_DRINK_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_DOWN_KID, "Child Link - Death", "NA_SE_VO_LI_DOWN_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_TAKEN_AWAY_KID, "Child Link - Taken away by Wallmaster","NA_SE_VO_LI_TAKEN_AWAY_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_HELD_KID, "Child Link - Grabbed by Wallmaster", "NA_SE_VO_LI_HELD_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SNEEZE_KID, "Child Link - Sneeze", "NA_SE_VO_LI_SNEEZE_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SWEAT_KID, "Child Link - Gasp (Hot Room)", "NA_SE_VO_LI_SWEAT_KID", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_DRINK_KID, "Child Link - Drinking", "NA_SE_VO_LI_DRINK_KID", SEQ_VOICE), // Doesn't work due to SFX_FLAG
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_RELAX_KID, "Child Link - Yawn", "NA_SE_VO_LI_RELAX_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SWORD_PUTAWAY_KID,"Child Link - Yell (Sword Putaway)", "NA_SE_VO_LI_SWORD_PUTAWAY_KID", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_GROAN_KID, "Child Link - Groan (Unused)", "NA_SE_VO_LI_GROAN_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_AUTO_JUMP_KID, "Child Link - Jump/Swing Bottle", "NA_SE_VO_LI_AUTO_JUMP_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_MAGIC_NALE_KID, "Child Link - Use Nayru's Love", "NA_SE_VO_LI_MAGIC_NALE_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_SURPRISE_KID, "Child Link - Surprised Gasp", "NA_SE_VO_LI_SURPRISE_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_MAGIC_FROL_KID, "Child Link - Use Farore's Wind", "NA_SE_VO_LI_MAGIC_FROL_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_PUSH_KID, "Child Link - Push", "NA_SE_VO_LI_PUSH_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_HOOKSHOT_HANG_KID,"Child Link - Hookshot Hang", "NA_SE_VO_LI_HOOKSHOT_HANG_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_LAND_DAMAGE_S_KID,"Child Link - Fall Damage", "NA_SE_VO_LI_LAND_DAMAGE_S_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_NULL_0x1b_KID, "Child Link - Small Gasp (unused?)", "NA_SE_VO_LI_NULL_0x1b_KID", SEQ_VOICE), // Unused? But unique so keeping it
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_MAGIC_ATTACK_KID, "Child Link - Din's Fire", "NA_SE_VO_LI_MAGIC_ATTACK_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_BL_DOWN_KID, "Child Link - Scream (Nocturne?)", "NA_SE_VO_BL_DOWN_KID", SEQ_VOICE), // ...
SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_DEMO_DAMAGE_KID, "Child Link - Scream 2 (Nocturne?)", "NA_SE_VO_LI_DEMO_DAMAGE_KID", SEQ_VOICE), // Unused, matches with adult nocturne stuff
//SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_ELECTRIC_SHOCK_LV_KID, "Child Link - Unused Sound 1?", "NA_SE_VO_LI_ELECTRIC_SHOCK_LV_KID", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_NAVY_ENEMY, "Navi - Unused Enemy Target", "NA_SE_VO_NAVY_ENEMY", SEQ_VOICE), // Has no sound but is played when targetting enemies, unsure to keep or not
SEQUENCE_MAP_ENTRY(NA_SE_VO_NAVY_HELLO, "Navi - Unused NPC Hello", "NA_SE_VO_NAVY_HELLO", SEQ_VOICE), // Has no sound but is played when targetting npcs, unsure to keep or not
SEQUENCE_MAP_ENTRY(NA_SE_VO_NAVY_HEAR, "Navi - Unused Other Target", "NA_SE_VO_NAVY_HEAR", SEQ_VOICE), // Has no sound but is played when targetting npcs, unsure to keep or not
SEQUENCE_MAP_ENTRY(NA_SE_VO_NAVY_CALL, "Navi - Look/Hey/Watchout (Target Enemy)","NA_SE_VO_NAVY_CALL", SEQ_VOICE), // Has no sound but is played when targetting signs and other things, unsure to keep or not
SEQUENCE_MAP_ENTRY(NA_SE_VO_NA_HELLO_3, "Navi - Hello", "NA_SE_VO_NA_HELLO_3", SEQ_VOICE),
// Following group of Dummies are all duplicate entries for Navi saying Look/Hey/Watchout
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x45, "NA_SE_VO_DUMMY_0x45", "NA_SE_VO_DUMMY_0x45", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x46, "NA_SE_VO_DUMMY_0x46", "NA_SE_VO_DUMMY_0x46", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x47, "NA_SE_VO_DUMMY_0x47", "NA_SE_VO_DUMMY_0x47", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x48, "NA_SE_VO_DUMMY_0x48", "NA_SE_VO_DUMMY_0x48", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x49, "NA_SE_VO_DUMMY_0x49", "NA_SE_VO_DUMMY_0x49", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x4a "NA_SE_VO_DUMMY_0x4a", "NA_SE_VO_DUMMY_0x4a", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x4b, "NA_SE_VO_DUMMY_0x4b", "NA_SE_VO_DUMMY_0x4b", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x4c, "NA_SE_VO_DUMMY_0x4c", "NA_SE_VO_DUMMY_0x4c", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x4d, "NA_SE_VO_DUMMY_0x4d", "NA_SE_VO_DUMMY_0x4d", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x4e, "NA_SE_VO_DUMMY_0x4e", "NA_SE_VO_DUMMY_0x4e", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x4f, "NA_SE_VO_DUMMY_0x4f", "NA_SE_VO_DUMMY_0x4f", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_TA_SLEEP, "Talon - Snore", "NA_SE_VO_TA_SLEEP", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_TA_SURPRISE, "Talon - Surprised", "NA_SE_VO_TA_SURPRISE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_TA_CRY_0, "Talon - Hmm", "NA_SE_VO_TA_CRY_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_TA_CRY_1, "Talon - Scream", "NA_SE_VO_TA_CRY_1", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_IN_CRY_0, "Ingo - WAAAH!", "NA_SE_VO_IN_CRY_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_IN_LOST, "Ingo - KAAAAH! (Lost)", "NA_SE_VO_IN_LOST", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_IN_LASH_0, "Ingo - Heyeah (Horse 1)", "NA_SE_VO_IN_LASH_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_IN_LASH_1, "Ingo - Ha (Horse 2)", "NA_SE_VO_IN_LASH_1", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_FR_LAUGH_0, "Great Fairy - Big Laugh", "NA_SE_VO_FR_LAUGH_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_FR_SMILE_0, "Great Fairy - Small Laugh", "NA_SE_VO_FR_SMILE_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_NB_AGONY, "Nabooru - Pained Gasp", "NA_SE_VO_NB_AGONY", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_NB_CRY_0, "Nabooru - Scream", "NA_SE_VO_NB_CRY_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_NB_NOTICE, "Nabooru - Hmm?", "NA_SE_VO_NB_NOTICE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_NA_HELLO_0, "Navi - Watchout!", "NA_SE_VO_NA_HELLO_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_NA_HELLO_1, "Navi - Look!", "NA_SE_VO_NA_HELLO_1", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_NA_HELLO_2, "Navi - Hey! (C-up Sound)", "NA_SE_VO_NA_HELLO_2", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_CRASH, "Ruto - Crash", "NA_SE_VO_RT_CRASH", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_DISCOVER, "Ruto - Found", "NA_SE_VO_RT_DISCOVER", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_FALL, "Ruto - Fall", "NA_SE_VO_RT_FALL", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_LAUGH_0, "Ruto - Giggle", "NA_SE_VO_RT_LAUGH_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_LIFT, "Ruto - Lifted/Navi - Intro Bonk", "NA_SE_VO_RT_LIFT", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_THROW, "Ruto - Thrown", "NA_SE_VO_RT_THROW", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_RT_UNBALLANCE, "Ruto - Held Tantrum", "NA_SE_VO_RT_UNBALLANCE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_ST_DAMAGE, "Cursed Man - Scream", "NA_SE_VO_ST_DAMAGE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_ST_ATTACK, "Cursed Man - Gasp", "NA_SE_VO_ST_ATTACK", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z0_HURRY, "Child Zelda - Hurry", "NA_SE_VO_Z0_HURRY", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z0_MEET, "Child Zelda - Meeting Link Gasp", "NA_SE_VO_Z0_MEET", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z0_QUESTION, "Child Zelda - Question", "NA_SE_VO_Z0_QUESTION", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z0_SIGH_0, "Child Zelda - Sigh", "NA_SE_VO_Z0_SIGH_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z0_SMILE_0, "Child Zelda - Laugh", "NA_SE_VO_Z0_SMILE_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z0_SURPRISE, "Child Zelda - Sees Ganon Gasp", "NA_SE_VO_Z0_SURPRISE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z0_THROW, "Child Zelda - Throws Ocarina", "NA_SE_VO_Z0_THROW", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_SK_CRY_0, "Sheik - Pained Gasp (Nocturne)", "NA_SE_VO_SK_CRY_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_SK_CRY_1, "Sheik - Pained Scream (Nocturne)", "NA_SE_VO_SK_CRY_1", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_SK_CRASH, "Sheik - Pained Landing (Nocturne)", "NA_SE_VO_SK_CRASH", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_SK_LAUGH, "Navi - Listen!", "NA_SE_VO_SK_LAUGH", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_SK_SHOUT, "Sheik - Shout (Throwing Deku Nut)", "NA_SE_VO_SK_SHOUT", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z1_CRY_0, "Adult Zelda - Scream 1", "NA_SE_VO_Z1_CRY_0", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z1_CRY_1, "Adult Zelda - Scream 2", "NA_SE_VO_Z1_CRY_1", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z1_OPENDOOR, "Adult Zelda - Open Seseme Magic Gasp","NA_SE_VO_Z1_OPENDOOR", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z1_SURPRISE, "Adult Zelda - Gasp", "NA_SE_VO_Z1_SURPRISE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_Z1_PAIN, "Adult Zelda - Pained Gasp", "NA_SE_VO_Z1_PAIN", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_KZ_MOVE, "King Zora - Mweep!", "NA_SE_VO_KZ_MOVE", SEQ_VOICE),
SEQUENCE_MAP_ENTRY(NA_SE_VO_NB_LAUGH, "Navi - Hello!", "NA_SE_VO_NB_LAUGH", SEQ_VOICE),
//SEQUENCE_MAP_ENTRY(NA_SE_VO_IN_LAUGH, "NA_SE_VO_IN_LAUGH", "NA_SE_VO_IN_LAUGH", SEQ_VOICE), // Crashes
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x7d, "NA_SE_VO_DUMMY_0x7d", "NA_SE_VO_DUMMY_0x7d", SEQ_VOICE), // Unused weird Child Link sound
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x7e, "NA_SE_VO_DUMMY_0x7e", "NA_SE_VO_DUMMY_0x7e", SEQ_VOICE), // Unused weird Child Link sound
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x7f, "NA_SE_VO_DUMMY_0x7f", "NA_SE_VO_DUMMY_0x7f", SEQ_VOICE), // Unused weird Child Link sound
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x80, "NA_SE_VO_DUMMY_0x80", "NA_SE_VO_DUMMY_0x80", SEQ_VOICE), // Unused and empty
//SEQUENCE_MAP_ENTRY(NA_SE_VO_LI_AUTO_JUMP_DARKLINK,"NA_SE_VO_LI_AUTO_JUMP_DARKLINK", "NA_SE_VO_LI_AUTO_JUMP_DARKLINK", SEQ_VOICE), // Implies Dark Link but isn't used in anything
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x82_YOBI, "NA_SE_VO_DUMMY_0x82_YOBI", "NA_SE_VO_DUMMY_0x82_YOBI", SEQ_VOICE), // Rest are unused and empty
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x83_YOBI, "NA_SE_VO_DUMMY_0x83_YOBI", "NA_SE_VO_DUMMY_0x83_YOBI", SEQ_VOICE), // ..
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x84_YOBI, "NA_SE_VO_DUMMY_0x84_YOBI", "NA_SE_VO_DUMMY_0x84_YOBI", SEQ_VOICE), // ..
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x85_YOBI, "NA_SE_VO_DUMMY_0x85_YOBI", "NA_SE_VO_DUMMY_0x85_YOBI", SEQ_VOICE), // ..
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x86_YOBI, "NA_SE_VO_DUMMY_0x86_YOBI", "NA_SE_VO_DUMMY_0x86_YOBI", SEQ_VOICE), // ..
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x87_YOBI, "NA_SE_VO_DUMMY_0x87_YOBI", "NA_SE_VO_DUMMY_0x87_YOBI", SEQ_VOICE), // ..
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x88_YOBI, "NA_SE_VO_DUMMY_0x88_YOBI", "NA_SE_VO_DUMMY_0x88_YOBI", SEQ_VOICE), // ..
//SEQUENCE_MAP_ENTRY(NA_SE_VO_DUMMY_0x89_YOBI, "NA_SE_VO_DUMMY_0x89_YOBI", "NA_SE_VO_DUMMY_0x89_YOBI", SEQ_VOICE), // ..
};
}

View File

@ -14,6 +14,7 @@ enum SeqType {
SEQ_BGM_ERROR = 1 << 5,
SEQ_SFX = 1 << 6,
SEQ_INSTRUMENT = 1 << 7,
SEQ_VOICE = 1 << 8,
SEQ_BGM_CUSTOM = SEQ_BGM_WORLD | SEQ_BGM_EVENT | SEQ_BGM_BATTLE,
};

View File

@ -26,7 +26,8 @@ s8 reverbAdd = 0;
#define SEQ_COUNT_NOSHUFFLE 6
#define SEQ_COUNT_BGM_EVENT 17
#define SEQ_COUNT_INSTRUMENT 6
#define SEQ_COUNT_SFX 71
#define SEQ_COUNT_SFX 57
#define SEQ_COUNT_VOICE 78
size_t AuthenticCountBySequenceType(SeqType type) {
switch (type) {
@ -46,6 +47,8 @@ size_t AuthenticCountBySequenceType(SeqType type) {
return SEQ_COUNT_SFX;
case SEQ_INSTRUMENT:
return SEQ_COUNT_INSTRUMENT;
case SEQ_VOICE:
return SEQ_COUNT_VOICE;
default:
return 0;
}
@ -134,7 +137,7 @@ void DrawPreviewButton(uint16_t sequenceId, std::string sfxKey, SeqType sequence
func_800F5C2C();
CVarSetInteger("gAudioEditor.Playing", 0);
} else {
if (sequenceType == SEQ_SFX) {
if (sequenceType == SEQ_SFX || sequenceType == SEQ_VOICE) {
Audio_PlaySoundGeneral(sequenceId, &pos, 4, &freqScale, &freqScale, &reverbAdd);
} else if (sequenceType == SEQ_INSTRUMENT) {
Audio_OcaSetInstrument(sequenceId - INSTRUMENT_OFFSET);
@ -269,6 +272,8 @@ std::string GetSequenceTypeName(SeqType type) {
return "Error";
case SEQ_SFX:
return "SFX";
case SEQ_VOICE:
return "VOICE";
case SEQ_INSTRUMENT:
return "Instrument";
case SEQ_BGM_CUSTOM:
@ -292,6 +297,8 @@ ImVec4 GetSequenceTypeColor(SeqType type) {
return ImVec4(0.3f, 0.0f, 0.3f, 1.0f);
case SEQ_SFX:
return ImVec4(0.4f, 0.33f, 0.0f, 1.0f);
case SEQ_VOICE:
return ImVec4(0.4f, 0.33f, 0.0f, 1.0f);
case SEQ_INSTRUMENT:
return ImVec4(0.0f, 0.25f, 0.5f, 1.0f);
case SEQ_BGM_CUSTOM:
@ -344,6 +351,10 @@ void AudioEditor::DrawElement() {
Draw_SfxTab("sfx", SEQ_SFX);
ImGui::EndTabItem();
}
if (ImGui::BeginTabItem("Voices")) {
Draw_SfxTab("voice", SEQ_VOICE);
ImGui::EndTabItem();
}
static ImVec2 cellPadding(8.0f, 8.0f);
if (ImGui::BeginTabItem("Options")) {
@ -409,7 +420,8 @@ void AudioEditor::DrawElement() {
{SEQ_BGM_BATTLE, true},
{SEQ_OCARINA, true},
{SEQ_FANFARE, true},
{SEQ_SFX, true},
{SEQ_SFX, true },
{SEQ_VOICE, true },
{SEQ_INSTRUMENT, true},
{SEQ_BGM_CUSTOM, true}
};
@ -469,6 +481,11 @@ void AudioEditor::DrawElement() {
ImGui::Selectable(GetSequenceTypeName(SEQ_SFX).c_str(), &showType[SEQ_SFX]);
ImGui::PopStyleColor(1);
ImGui::TableNextColumn();
ImGui::PushStyleColor(ImGuiCol_Header, GetSequenceTypeColor(SEQ_VOICE));
ImGui::Selectable(GetSequenceTypeName(SEQ_VOICE).c_str(), &showType[SEQ_VOICE]);
ImGui::PopStyleColor(1);
ImGui::TableNextColumn();
ImGui::PushStyleColor(ImGuiCol_Header, GetSequenceTypeColor(SEQ_INSTRUMENT));
ImGui::Selectable(GetSequenceTypeName(SEQ_INSTRUMENT).c_str(), &showType[SEQ_INSTRUMENT]);
@ -548,7 +565,7 @@ void AudioEditor::DrawElement() {
ImGui::End();
}
std::vector<SeqType> allTypes = { SEQ_BGM_WORLD, SEQ_BGM_EVENT, SEQ_BGM_BATTLE, SEQ_OCARINA, SEQ_FANFARE, SEQ_INSTRUMENT, SEQ_SFX };
std::vector<SeqType> allTypes = { SEQ_BGM_WORLD, SEQ_BGM_EVENT, SEQ_BGM_BATTLE, SEQ_OCARINA, SEQ_FANFARE, SEQ_INSTRUMENT, SEQ_SFX, SEQ_VOICE };
void AudioEditor_RandomizeAll() {
for (auto type : allTypes) {