exclude audio from shuffle (#2411)

* Rename "SFX Editor" to "Audio Editor"
* Move some functionality out into a new class `AudioCollection`
* Add a tab to exclude sfx/sequences from shuffle pool 

---------

Co-authored-by: briaguya <briaguya@alice>
Co-authored-by: briaguya <briaguya>
Co-authored-by: David Chavez <david@dcvz.io>
This commit is contained in:
briaguya
2023-02-16 09:49:45 -05:00
committed by GitHub
parent 27f961ac4f
commit 1e6ec1bdda
16 changed files with 960 additions and 574 deletions

View File

@@ -1700,7 +1700,7 @@ void Audio_OcaSetInstrument(u8 arg0) {
}
u16 sfxEditorId = arg0 + 0x81;
u16 newArg0 = SfxEditor_GetReplacementSeq(sfxEditorId);
u16 newArg0 = AudioEditor_GetReplacementSeq(sfxEditorId);
if (newArg0 != sfxEditorId) {
gAudioContext.seqReplaced[SEQ_PLAYER_SFX] = 1;
arg0 = newArg0 - 0x81;
@@ -4601,6 +4601,22 @@ void func_800F5ACC(u16 seqId) {
}
}
// based on func_800F5ACC
void PreviewSequence(u16 seqId) {
u16 curSeqId = func_800FA0B4(SEQ_PLAYER_BGM_MAIN);
if ((curSeqId & 0xFF) != NA_BGM_GANON_TOWER && (curSeqId & 0xFF) != NA_BGM_ESCAPE && curSeqId != seqId) {
Audio_SetSequenceMode(SEQ_MODE_IGNORE);
if (curSeqId != NA_BGM_DISABLED) {
sPrevMainBgmSeqId = curSeqId;
} else {
osSyncPrintf("Middle Boss BGM Start not stack \n");
}
Audio_QueuePreviewSeqCmd(seqId);
}
}
/**
* Restores the previous sequence to the main bgm player before func_800F5ACC was called
*/