mirror of https://github.com/pmret/papermario.git
remove envelopeVolume union
This commit is contained in:
parent
6de82b8476
commit
f1f0481c73
|
|
@ -437,11 +437,6 @@ typedef union SeqArgs {
|
|||
} UnkCmdFF;
|
||||
} SeqArgs;
|
||||
|
||||
typedef union VolumeField {
|
||||
u16 u16;
|
||||
s32 s32;
|
||||
} VolumeField;
|
||||
|
||||
/// Structure for volume fading for SFX and BGM. Has independent controls for base and envelope volumes.
|
||||
typedef struct Fade {
|
||||
/* 0x0 */ s16_16 baseVolume;
|
||||
|
|
@ -452,7 +447,7 @@ typedef struct Fade {
|
|||
/* 0xC */ AuCallback onCompleteCallback;
|
||||
/* 0xC */ s32 variation;
|
||||
};
|
||||
/* 0x10 */ VolumeField envelopeVolume;
|
||||
/* 0x10 */ s16_16 envelopeVolume;
|
||||
/* 0x14 */ s32 envelopeStep;
|
||||
/* 0x18 */ s16 envelopeTarget;
|
||||
/* 0x1A */ s16 envelopeTicks;
|
||||
|
|
|
|||
|
|
@ -637,7 +637,10 @@ void au_bgm_update_fade(BGMPlayer* player) {
|
|||
}
|
||||
|
||||
void au_bgm_update_bus_volumes(BGMPlayer* player) {
|
||||
u16 volume = (((u32)player->fadeInfo.baseVolume >> 16) * player->fadeInfo.envelopeVolume.u16) >> 15;
|
||||
u16 volume = (
|
||||
((u32)player->fadeInfo.baseVolume >> 16) *
|
||||
((u32)player->fadeInfo.envelopeVolume >> 16)
|
||||
) >> 15;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(player->effectIndices); i++) {
|
||||
|
|
@ -1837,7 +1840,10 @@ void au_BGMCmd_FF(BGMPlayer* player, BGMPlayerTrack* track) {
|
|||
if ((player->soundManager->bgmSounds[i].index) == 0) {
|
||||
player->soundManager->bgmSounds[i].index = arg1;
|
||||
player->soundManager->bgmSounds[i].volume =
|
||||
((s32)(((u32)player->fadeInfo.baseVolume >> 16) * player->fadeInfo.envelopeVolume.u16) + AU_MAX_VOLUME_16) >> 0x17;
|
||||
((s32)(
|
||||
((u32)player->fadeInfo.baseVolume >> 16) *
|
||||
((u32)player->fadeInfo.envelopeVolume >> 16)
|
||||
) + AU_MAX_VOLUME_16) >> 0x17;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -461,7 +461,7 @@ void au_fade_flush(Fade* fade) {
|
|||
}
|
||||
|
||||
void au_fade_set_vol_scale(Fade* fade, s16 value) {
|
||||
fade->envelopeVolume.s32 = value << 16;
|
||||
fade->envelopeVolume = value << 16;
|
||||
fade->envelopeTarget = value;
|
||||
fade->envelopeTicks = 0;
|
||||
fade->envelopeStep = 0;
|
||||
|
|
@ -473,7 +473,7 @@ void au_unk_80053B04(Fade* fade, u32 duration, s32 target) {
|
|||
|
||||
if (duration >= 250 && duration <= 100000) {
|
||||
ticks = (s32)(duration * 1000) / AU_FRAME_USEC;
|
||||
delta = (target << 16) - fade->envelopeVolume.s32;
|
||||
delta = (target << 16) - fade->envelopeVolume;
|
||||
|
||||
fade->envelopeTarget = target;
|
||||
fade->envelopeTicks = ticks;
|
||||
|
|
@ -488,10 +488,10 @@ void au_fade_update_envelope(Fade* fade) {
|
|||
fade->envelopeTicks--;
|
||||
|
||||
if (fade->envelopeTicks != 0) {
|
||||
fade->envelopeVolume.s32 += fade->envelopeStep;
|
||||
fade->envelopeVolume += fade->envelopeStep;
|
||||
} else {
|
||||
fade->envelopeStep = 0;
|
||||
fade->envelopeVolume.s32 = fade->envelopeTarget << 16;
|
||||
fade->envelopeVolume = fade->envelopeTarget << 16;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue