From 52d3eca4212db61e43c14c37c1917818a2fbbecb Mon Sep 17 00:00:00 2001 From: KiritoDv Date: Tue, 29 Oct 2024 02:06:14 -0600 Subject: We are so fucking close omg --- src/audio/audio_effects.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/audio/audio_effects.c') diff --git a/src/audio/audio_effects.c b/src/audio/audio_effects.c index 61d2ccaa..0a184871 100644 --- a/src/audio/audio_effects.c +++ b/src/audio/audio_effects.c @@ -1,5 +1,6 @@ #include "sys.h" #include "sf64audio_provisional.h" +#include "endianness.h" static const char devstr[] = "Audio:Envp: overflow %f\n"; @@ -199,7 +200,7 @@ f32 func_80013B90(AdsrState* adsr) { adsr->state = ADSR_STATE_LOOP; case_ADSR_STATE_LOOP: case ADSR_STATE_LOOP: - adsr->delay = adsr->envelope[adsr->envIndex].delay; + adsr->delay = BSWAP16(adsr->envelope[adsr->envIndex].delay); switch (adsr->delay) { case ADSR_DISABLE: adsr->state = ADSR_STATE_DISABLED; @@ -208,7 +209,7 @@ f32 func_80013B90(AdsrState* adsr) { adsr->state = ADSR_STATE_HANG; break; case ADSR_GOTO: - adsr->envIndex = adsr->envelope[adsr->envIndex].arg; + adsr->envIndex = BSWAP16(adsr->envelope[adsr->envIndex].arg); goto case_ADSR_STATE_LOOP; case ADSR_RESTART: adsr->state = ADSR_STATE_INITIAL; @@ -221,7 +222,7 @@ f32 func_80013B90(AdsrState* adsr) { adsr->delay = 1; } - adsr->target = adsr->envelope[adsr->envIndex].arg / 32767.0f; + adsr->target = (s16)BE16SWAP(adsr->envelope[adsr->envIndex].arg) / 32767.0f; adsr->target = SQ(adsr->target); adsr->velocity = (adsr->target - adsr->current) / adsr->delay; adsr->state = ADSR_STATE_FADE; -- cgit v1.2.3