diff --git a/include/config.h b/include/config.h index 0fdff7ec..bc73998d 100644 --- a/include/config.h +++ b/include/config.h @@ -87,7 +87,7 @@ // Platform displacement 2 also known as momentum patch. Makes Mario keep the momemtum from moving platforms. Doesn't break treadmills anymore! #define PLATFORM_DISPLACEMENT_2 // Stars don't kick you out of the level -// #define NON_STOP_STARS +//#define NON_STOP_STARS // Uncomment this if you want global star IDs (useful for creating an open world hack ala MVC) //#define GLOBAL_STAR_IDS // Uncomment this if you want to skip the title screen (Super Mario 64 logo) @@ -98,9 +98,9 @@ #define PARALLEL_LAKITU_CAM // Allows Mario to ledgegrab sloped floors #define NO_FALSE_LEDGEGRABS -//Adds multiple languages to the game. Just a placeholder for the most part, because it only works with EU, and must be enabled with EU. +// Adds multiple languages to the game. Just a placeholder for the most part, because it only works with EU, and must be enabled with EU. #define MULTILANG (0 || VERSION_EU) -//Enables Puppy Camera 2, a rewritten camera that can be freely configured and modified. +// Enables Puppy Camera 2, a rewritten camera that can be freely configured and modified. //#define PUPPYCAM @@ -118,8 +118,8 @@ // Include Puppyprint, a display library for text and large images. Also includes a custom, enhanced performance profiler. //#define PUPPYPRINT #define PUPPYPRINT_DEBUG 0 -//Visual debug enables some collision visuals. Tapping Right on the dpad will cycle between visual hitboxes, visual surfaces, both, and neither. -//If puppyprint is enabled, then this can be cycled only while the screen is active. +// Visual debug enables some collision visuals. Tapping Right on the dpad will cycle between visual hitboxes, visual surfaces, both, and neither. +// If puppyprint is enabled, then this can be cycled only while the screen is active. //#define VISUAL_DEBUG // BUG/GAME QOL FIXES @@ -168,10 +168,10 @@ // 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. //#define BETTER_REVERB -//Collision data is the type that the collision system uses. All data by default is stored as an s16, but you may change it to s32. -//Naturally, that would double the size of all collision data, but would allow you to use 32 bit values instead of 16. -//Rooms are s8 in vanilla, but if you somehow have more than 255 rooms, you may raise this number. -//Currently, they *must* say as s8, because the room tables generated by literally anything are explicitly u8 and don't use a macro, making this currently infeasable. +// Collision data is the type that the collision system uses. All data by default is stored as an s16, but you may change it to s32. +// Naturally, that would double the size of all collision data, but would allow you to use 32 bit values instead of 16. +// Rooms are s8 in vanilla, but if you somehow have more than 255 rooms, you may raise this number. +// Currently, they *must* say as s8, because the room tables generated by literally anything are explicitly u8 and don't use a macro, making this currently infeasable. #define COLLISION_DATA_TYPE s16 #define ROOM_DATA_TYPE s8 diff --git a/src/audio/synthesis.c b/src/audio/synthesis.c index 6789fbc5..28445e7b 100644 --- a/src/audio/synthesis.c +++ b/src/audio/synthesis.c @@ -54,8 +54,9 @@ * * If after changing the parameters, you hear increasing noise followed by a sudden disappearance of reverb and/or scratchy audio, this indicates an s16 overflow. * If this happens, stop immediately and reduce the parameters at fault. This becomes a ticking time bomb, and may eventually result in very loud noise if it reaches the point of s32 overflow. - * Checks to prevent this have not been implemented to maximize performance potential, so choose your parameters wisely. - * Generally speaking, a sound that doesn't seem to be fading is a parameter red flag (also known as feedback). + * Depending on the violating parameters chosen, you probably won't ever experience s32 overflow, but s16 overflow still isn't a pleasant experience. + * Checks to prevent this have not been implemented to maximize performance potential, so choose your parameters wisely. The current defaults are unlikely to have this problem. + * Generally speaking, a sound that doesn't seem to be fading at a natural rate is a parameter red flag (also known as feedback). */ @@ -76,7 +77,7 @@ s8 betterReverbDownsampleEmulator = 2; // Filter count should always be a multiple of 3. Never ever set this value to be greater than NUM_ALLPASS. // Setting it to anything less 3 will disable reverb outright. // This can be changed at any time, but is best set when calling audio_reset_session. -u32 reverbFilterCountConsole = NUM_ALLPASS - 3; +u32 reverbFilterCountConsole = NUM_ALLPASS - 6; // This value represents the number of filters to use with the reverb. This can be decreased to improve performance, but at the cost of a lesser presence of reverb in the final audio. // Filter count should always be a multiple of 3. Never ever set this value to be greater than NUM_ALLPASS.