Improve audio types

This commit is contained in:
gamemasterplc 2024-11-04 22:17:14 -06:00
parent 44107236ed
commit 4a4967d4a3
11 changed files with 430 additions and 298 deletions

View file

@ -23,7 +23,7 @@ void BoardMusStartBoard(void) {
void BoardMusStart(s32 arg0, s32 arg1, s8 arg2, u16 arg3) {
s16 *temp_r31 = boardSeq[arg0];
UnkMsmStruct_03 sp8;
MSM_MUSPARAM param;
if (arg1 == temp_r31[1]) {
return;
@ -31,18 +31,18 @@ void BoardMusStart(s32 arg0, s32 arg1, s8 arg2, u16 arg3) {
if (temp_r31[0] != -1) {
BoardAudSeqFadeOutFast(temp_r31[0]);
}
sp8.unk00 = 1;
param.flag = MSM_MUSPARAM_CHAN;
if (arg3 != 0) {
sp8.unk00 |= 8;
param.flag |= MSM_MUSPARAM_FADESPEED;
}
if (arg2 < 0) {
sp8.unk00 |= 2;
param.flag |= MSM_MUSPARAM_VOL;
arg2 = 0x7F;
}
sp8.unk06 = arg3;
sp8.unk05 = arg2;
sp8.unk04 = arg0;
temp_r31[0] = msmMusPlay(arg1, &sp8);
param.fadeSpeed = arg3;
param.vol = arg2;
param.chan = arg0;
temp_r31[0] = msmMusPlay(arg1, &param);
temp_r31[1] = arg1;
}
@ -68,21 +68,21 @@ void BoardMusLoudSet(s32 arg0, s32 arg1) {
}
}
void BoardMusVolPanSet(s32 arg0, s8 arg1, u16 arg2) {
void BoardMusVolPanSet(s32 arg0, s8 vol, u16 fadeSpeed) {
s16 *temp_r31 = boardSeq[arg0];
UnkMsmStruct_04 sp10;
MSM_MUSPARAM param;
if (temp_r31[0] == -1) {
return;
}
sp10.unk00 = 1;
sp10.unk00 |= 2;
if (arg1 < 0) {
arg1 = 0x7F;
param.flag = MSM_MUSPARAM_CHAN;
param.flag |= MSM_MUSPARAM_VOL;
if (vol < 0) {
vol = 0x7F;
}
sp10.unk06 = arg2;
sp10.unk05 = arg1;
msmMusSetParam(temp_r31[0], &sp10);
param.fadeSpeed = fadeSpeed;
param.vol = vol;
msmMusSetParam(temp_r31[0], &param);
}
void BoardAudSeqPause(s32 arg0, s32 arg1, u16 arg2) {

View file

@ -2169,14 +2169,14 @@ static void TauntUpdate(omObjData *object)
port = GWPlayer[i].port & 0x3;
character = GWPlayer[i].character & 0x7;
if(tauntActiveFXTbl[port] >= 0) {
UnkMsmStruct_01 param;
MSM_SEPARAM param;
float vol, pan;
vol = (64.0f*(HuPadSubStkX[port]/59.0f))+64.0f;
pan = 8191.0f*(HuPadSubStkY[port]/59.0f);
memset(&param, 0, sizeof(UnkMsmStruct_01));
param.unk00 = 6;
OSf32tos8(&vol, &param.unk05);
OSf32tos16(&pan, &param.unk06);
memset(&param, 0, sizeof(MSM_SEPARAM));
param.flag = MSM_SEPARAM_PITCH|MSM_SEPARAM_PAN;
OSf32tos8(&vol, &param.pan);
OSf32tos16(&pan, &param.pitch);
msmSeSetParam(tauntActiveFXTbl[port], &param);
} else {
if(HuPadBtnDown[port] & PAD_TRIGGER_L) {