Add define to disable pitch shifting of Mario sound effects (#522)

* Add define to disable pitch shifting of Mario sound effects

* Point new voice sequence macros to existing ones

* Remove pitch shifting sequence macros from peach sounds
This commit is contained in:
Gregory Heskett
2022-11-02 18:24:39 -04:00
committed by GitHub
parent 38d3c82860
commit d7d0364682
3 changed files with 128 additions and 87 deletions

View File

@@ -14,6 +14,13 @@
*/
// #define JP_RED_COIN_SOUND
/**
* In vanilla, Mario's sounds are pitch shifted in real time in order to maintain a sense of consistency. This can be annoying when replacing Mario's sounds.
* This define will disable this behavior, making sound replacements easier to manage. Use of this is not recommended unless you're actually replacing Mario's sounds.
* When toggling this define, you will need to run `make clean` for it to apply.
*/
// #define DISABLE_MARIO_PITCH_SHIFTING
/**
* Increase audio heap size to allow for larger/more custom sequences/banks/sfx to be imported without causing issues (not supported for SH).
* Note that this is REQUIRED in order to use the extended 0C audio bank. Do not disable this if you're planning on using it.

View File

@@ -1,3 +1,5 @@
#include "config/config_audio.h"
// Macros for disassembled sequence files. This file was automatically generated by seq_decoder.py.
// To regenerate it, run: ./tools/seq_decoder.py --emit-asm-macros > include/seq_macros.inc
@@ -448,15 +450,6 @@
writeseq\@:
.endm
.macro layer_portamento a, b, c
.byte 0xc7, \a, \b
.if ((\a & 0x80) == 0)
var \c
.else
.byte \c
.endif
.endm
.macro chan_delay_long a
.byte 0xfd
var_long \a
@@ -564,6 +557,14 @@
.byte \c
.endm
.macro layer_note1_mario a, b, c
#ifndef DISABLE_MARIO_PITCH_SHIFTING
layer_note1 \a, \b, \c
#else
layer_note1 39, \b, \c
#endif
.endm
.macro layer_note2 a, b, c
.byte 0x80 + \a
.byte \b
@@ -585,6 +586,12 @@
.byte \a
.endm
.macro layer_transpose_mario a
#ifndef DISABLE_MARIO_PITCH_SHIFTING
layer_transpose \a
#endif
.endm
.macro layer_setshortnotedefaultplaypercentage a
.byte 0xc3
var \a
@@ -603,6 +610,21 @@
.byte \a
.endm
.macro layer_portamento a, b, c
.byte 0xc7, \a, \b
.if ((\a & 0x80) == 0)
var \c
.else
.byte \c
.endif
.endm
.macro layer_portamento_mario a, b, c
#ifndef DISABLE_MARIO_PITCH_SHIFTING
layer_portamento \a, \b, \c
#endif
.endm
.macro layer_disableportamento
.byte 0xc8
.endm