Add MAX_SIMULTANEOUS_NOTES defines and better document audio allocations for audio heap (looks kinda awful still)

This commit is contained in:
gheskett
2022-02-25 05:11:16 -05:00
parent fe8384a440
commit 6bd3988dd8
11 changed files with 139 additions and 46 deletions

View File

@@ -4,12 +4,19 @@
* AUDIO SETTINGS *
******************/
// Fixes the castle music sometimes triggering after getting a dialog
// Fixes the castle music sometimes triggering after getting a dialog.
#define CASTLE_MUSIC_FIX
// Increase audio heap size to allow for more concurrent notes to be played and for more custom sequences/banks to be imported (not supported for SH)
// Increase audio heap size to allow for more concurrent notes to be played and for more custom sequences/banks to be imported (not supported for SH).
#define EXPAND_AUDIO_HEAP
// The maximum number of notes (sfx inclusive) that can sound at any given time (not supported for SH).
// Lower values may cause notes to get cut more easily but can potentially improve performance slightly.
// Lower values may cause problems with streamed audio if a sequence used for it is missing channel priority data.
// Vanilla by default only generally allocates 16 or 20 notes at once. Memory usage is always determined by the largest of the two values here.
#define MAX_SIMULTANEOUS_NOTES_EMULATOR 40
#define MAX_SIMULTANEOUS_NOTES_CONSOLE 32
// Use a much better implementation of reverb over vanilla's fake echo reverb. Great for caves or eerie levels, as well as just a better audio experience in general.
// Reverb parameters can be configured in audio/synthesis.c to meet desired aesthetic/performance needs. Currently US/JP only. Hurts emulator and console performance.
//#define BETTER_REVERB

View File

@@ -10,6 +10,39 @@
*/
/*****************
* config_audio
*/
#ifndef MAX_SIMULTANEOUS_NOTES_EMULATOR
#ifdef EXPAND_AUDIO_HEAP
#define MAX_SIMULTANEOUS_NOTES_EMULATOR 40
#else
#define MAX_SIMULTANEOUS_NOTES_EMULATOR 20
#endif
#endif // MAX_SIMULTANEOUS_NOTES_EMULATOR
#ifndef MAX_SIMULTANEOUS_NOTES_CONSOLE
#ifdef EXPAND_AUDIO_HEAP
#define MAX_SIMULTANEOUS_NOTES_EMULATOR 32
#else
#define MAX_SIMULTANEOUS_NOTES_EMULATOR 16
#endif
#endif // MAX_SIMULTANEOUS_NOTES_CONSOLE
#if (MAX_SIMULTANEOUS_NOTES_EMULATOR >= MAX_SIMULTANEOUS_NOTES_CONSOLE)
#define MAX_SIMULTANEOUS_NOTES MAX_SIMULTANEOUS_NOTES_EMULATOR
#else
#define MAX_SIMULTANEOUS_NOTES MAX_SIMULTANEOUS_NOTES_CONSOLE
#endif
// Anything higher than 64 will most likely crash on boot. Even if it doesn't, it's still dangerous.
#if (MAX_SIMULTANEOUS_NOTES > 64)
#undef MAX_SIMULTANEOUS_NOTES
#define MAX_SIMULTANEOUS_NOTES 64
#endif
/*****************
* config_graphics
*/