Misc progress

This commit is contained in:
robojumper
2025-05-26 01:24:28 +02:00
parent a9da90bbb2
commit e10ce71729
11 changed files with 59 additions and 16 deletions
+2 -2
View File
@@ -921,10 +921,10 @@ void AxVoiceParamBlock::Sync()
mVpb->pb.ve.currentDelta =
-mPrevVeSetting.currentVolume / AX_SAMPLES_PER_FRAME;
}
else if (nextVolume > 32767)
else if (nextVolume > 65535)
{
mVpb->pb.ve.currentDelta =
(32767 - mPrevVeSetting.currentVolume) / AX_SAMPLES_PER_FRAME;
(65535 - mPrevVeSetting.currentVolume) / AX_SAMPLES_PER_FRAME;
}
if (mVpb->pb.ve.currentDelta == 0 && mPrevVeSetting.currentDelta == 0)
+29 -8
View File
@@ -54,10 +54,11 @@ BasicSound::BasicSound(int priority, int ambientPriority) :
mGeneralHandle (nullptr),
mTempGeneralHandle (nullptr),
mSoundPlayer (nullptr),
field_0x54 (0),
mSoundActor (nullptr),
mExtSoundPlayer (nullptr),
mId (INVALID_ID),
mPauseNestCounter (0)
mId (INVALID_ID)
// mPauseNestCounter (0)
{
// specifically not the source variant
NW4RAssertHeaderClampedLRValue_Line(53, priority, PRIORITY_MIN,
@@ -108,6 +109,9 @@ void BasicSound::InitParam()
for (int i = 0; i < AUX_BUS_NUM; i++)
mFxSend[i] = 0.0f;
for (int i = 0; i < 4; i++)
mRemoteOutVolume[i] = 1.0f;
mAmbientParam.volume = 1.0f;
mAmbientParam.pitch = 1.0f;
mAmbientParam.pan = 0.0f;
@@ -118,7 +122,7 @@ void BasicSound::InitParam()
mAmbientParam.biquadFilterType = 0;
mAmbientParam.priority = 0;
mPauseNestCounter = 0;
// mPauseNestCounter = 0;
}
void BasicSound::StartPrepared()
@@ -155,7 +159,7 @@ void BasicSound::Pause(bool flag, int fadeFrames)
if (flag)
{
mPauseNestCounter++;
// mPauseNestCounter++;
switch (mPauseState)
{
@@ -183,8 +187,8 @@ void BasicSound::Pause(bool flag, int fadeFrames)
}
else
{
if (mPauseNestCounter && --mPauseNestCounter)
return;
// if (mPauseNestCounter && --mPauseNestCounter)
// return;
switch (mPauseState)
{
@@ -410,6 +414,13 @@ void BasicSound::UpdateParam()
mainOutVolume *= mMainOutVolume;
mainOutVolume *= GetSoundPlayer()->GetMainOutVolume();
f32 remoteOutVolume[4];
for (int i = 0; i < 4; i++) {
remoteOutVolume[i] = 1.0f;
remoteOutVolume[i] *= GetSoundPlayer()->GetRemoteOutVolume(i);
remoteOutVolume[i] *= mRemoteOutVolume[i];
}
f32 mainSend = 0.0f;
mainSend += mMainSend;
mainSend += GetSoundPlayer()->GetMainSend();
@@ -434,6 +445,10 @@ void BasicSound::UpdateParam()
basicPlayer.SetOutputLine(outputLineFlag);
basicPlayer.SetMainOutVolume(mainOutVolume);
for (int i = 0; i < 4; i++) {
basicPlayer.SetRemoteOutVolume(i, remoteOutVolume[i]);
}
basicPlayer.SetMainSend(mainSend);
for (int i = 0; i < AUX_BUS_NUM; i++)
@@ -569,15 +584,21 @@ void BasicSound::SetPlayerPriority(int priority)
void BasicSound::SetInitialVolume(f32 volume)
{
NW4RAssert_Line(818, volume >= 0.0f);
if (volume < 0.0f) {
volume = 0.0f;
}
mInitVolume = ut::Clamp(volume, 0.0f, 1.0f);
mInitVolume = mInitVolume = volume;
}
void BasicSound::SetVolume(f32 volume, int frames)
{
NW4RAssert_Line(833, volume >= 0.0f);
if (volume < 0.0f) {
volume = 0.0f;
}
mExtMoveVolume.SetTarget(ut::Clamp(volume, 0.0f, 1.0f), frames);
mExtMoveVolume.SetTarget(volume, frames);
}
void BasicSound::SetPitch(f32 pitch)
+13
View File
@@ -150,6 +150,9 @@ void Channel::InitParam(Callback *callback, u32 callbackData)
for (int i = 0; i < AUX_BUS_NUM; i++)
mFxSend[i] = 0.0f;
for (int i = 0; i < 4; i++)
mRemoteOutVolume[i] = 1.0f;
mSilenceVolume.InitValue(SILENCE_VOLUME_MAX);
mSweepPitch = 0.0f;
@@ -244,6 +247,12 @@ void Channel::Update(bool doPeriodicProc)
f32 mainSend = 0.0f;
mainSend += mMainSend;
f32 remoteOutVolume[4];
for (int i = 0; i < 4; i++) {
remoteOutVolume[i] = 1.0f;
remoteOutVolume[i] *= mRemoteOutVolume[i];
}
f32 fxSend[AUX_BUS_NUM];
for (int i = 0; i < AUX_BUS_NUM; i++)
@@ -285,6 +294,10 @@ void Channel::Update(bool doPeriodicProc)
mVoice->SetMainOutVolume(mainOutVolume);
mVoice->SetMainSend(mainSend);
for (int i = 0; i < 4; i++) {
mVoice->SetRemoteOutVolume(i, remoteOutVolume[i]);
}
for (int i = 0; i < AUX_BUS_NUM; i++)
mVoice->SetFxSend(static_cast<AuxBus>(i), fxSend[i]);
}
+4
View File
@@ -238,8 +238,10 @@ void SeqPlayer::Skip(OffsetType offsetType, int offset)
}
}
#if 0
// SeqPlayer::SetTempoRatio ([R89JEL]:/bin/RVL/Debug/mainD.MAP:13781)
DECOMP_FORCE(NW4RAssert_String(tempoRatio >= 0.0f));
#endif
void SeqPlayer::SetTempoRatio(f32 tempo) {
mTempoRatio = tempo;
@@ -284,6 +286,7 @@ void SeqPlayer::CallSeqUserprocCallback(u16 procId, SeqTrack *track)
trackParam.cmpFlag = param.cmpFlag;
}
#if 0
// SeqPlayer::GetLocalVariable? maybe all of them?
DECOMP_FORCE(NW4RAssertHeaderClampedLValue_String(varNo));
@@ -321,6 +324,7 @@ DECOMP_FORCE(&SeqTrack::SetModDepth);
// SeqPlayer::SetTrackModSpeed ([R89JEL]:/bin/RVL/Debug/mainD.MAP:13801)
DECOMP_FORCE(&SeqTrack::SetModSpeed);
#endif
void SeqPlayer::InvalidateData(void const *start, void const *end)
{
+1 -1
View File
@@ -126,7 +126,7 @@ void *SoundThread::SoundThreadFunc(void *arg)
return nullptr;
}
#ifdef DEBUG
#if 0
/* SoundThread::RegisterSoundFrameCallback
* ([R89JEL]:/bin/RVL/Debug/mainD.MAP:14509)
*/