From feb10af9f8397ac3930990c2ddf458ad18010084 Mon Sep 17 00:00:00 2001 From: Kurausukun Date: Sun, 1 Nov 2020 23:35:10 -0500 Subject: Match FadeOutBody (ported from pokeemerald) --- src/m4a.c | 35 +++++------------------------------ 1 file changed, 5 insertions(+), 30 deletions(-) (limited to 'src') diff --git a/src/m4a.c b/src/m4a.c index 6f2118f31..8772b6f2f 100644 --- a/src/m4a.c +++ b/src/m4a.c @@ -670,28 +670,17 @@ void FadeOutBody(struct MusicPlayerInfo *mplayInfo) s32 i; struct MusicPlayerTrack *track; u16 fadeOV; -#ifdef NONMATCHING - u16 mask; -#else - register u16 mask asm("r2"); -#endif // NONMATCHING if (mplayInfo->fadeOI == 0) return; - - mplayInfo->fadeOC--; - mask = 0xFFFF; - - if (mplayInfo->fadeOC != 0) + if (--mplayInfo->fadeOC != 0) return; mplayInfo->fadeOC = mplayInfo->fadeOI; if (mplayInfo->fadeOV & FADE_IN) { - mplayInfo->fadeOV += (4 << FADE_VOL_SHIFT); - - if ((u16)(mplayInfo->fadeOV & mask) >= (64 << FADE_VOL_SHIFT)) + if ((u16)(mplayInfo->fadeOV += (4 << FADE_VOL_SHIFT)) >= (64 << FADE_VOL_SHIFT)) { mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT); mplayInfo->fadeOI = 0; @@ -699,14 +688,9 @@ void FadeOutBody(struct MusicPlayerInfo *mplayInfo) } else { - mplayInfo->fadeOV -= (4 << FADE_VOL_SHIFT); - - if ((s16)(mplayInfo->fadeOV & mask) <= 0) + if ((s16)(mplayInfo->fadeOV -= (4 << FADE_VOL_SHIFT)) <= 0) { - i = mplayInfo->trackCount; - track = mplayInfo->tracks; - - while (i > 0) + for (i = mplayInfo->trackCount, track = mplayInfo->tracks; i > 0; i--, track++) { u32 val; @@ -718,9 +702,6 @@ void FadeOutBody(struct MusicPlayerInfo *mplayInfo) if (!val) track->flags = 0; - - i--; - track++; } if (mplayInfo->fadeOV & TEMPORARY_FADE) @@ -733,10 +714,7 @@ void FadeOutBody(struct MusicPlayerInfo *mplayInfo) } } - i = mplayInfo->trackCount; - track = mplayInfo->tracks; - - while (i > 0) + for (i = mplayInfo->trackCount, track = mplayInfo->tracks; i > 0; i--, track++) { if (track->flags & MPT_FLG_EXIST) { @@ -745,9 +723,6 @@ void FadeOutBody(struct MusicPlayerInfo *mplayInfo) track->volX = (fadeOV >> FADE_VOL_SHIFT); track->flags |= MPT_FLG_VOLCHG; } - - i--; - track++; } } -- cgit v1.2.3