summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2020-11-02 11:48:06 -0500
committerGitHub <noreply@github.com>2020-11-02 11:48:06 -0500
commit8669fe0f95f6770381ff53e436e25cf77766e8f9 (patch)
tree63ba9cd5aaed5cf031785b7afda47bb39b4b6f5a
parent7b8c935926eec33651e0e265fa49f2f99fce918a (diff)
parentfeb10af9f8397ac3930990c2ddf458ad18010084 (diff)
Merge pull request #368 from Kurausukun/match_m4a
Match FadeOutBody (ported from pokeemerald)
-rw-r--r--src/m4a.c35
1 files changed, 5 insertions, 30 deletions
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++;
}
}