snd_Channel OK

This commit is contained in:
robojumper
2025-05-26 01:31:35 +02:00
parent 05c763814b
commit 913b135a0f
4 changed files with 24 additions and 21 deletions
+3
View File
@@ -2935,6 +2935,9 @@ nw4r/snd/snd_BiquadFilterPreset.cpp:
nw4r/snd/snd_Channel.cpp:
.text start:0x8046A7B0 end:0x8046B7C8 align:16
.sbss start:0x80576680 end:0x80576688
.sdata2 start:0x8057EFA8 end:0x8057EFD0
.bss start:0x806593C8 end:0x806593F8
nw4r/snd/snd_DisposeCallbackManager.cpp:
.text start:0x8046B7D0 end:0x8046BB5C align:16
+11 -11
View File
@@ -25175,7 +25175,7 @@ __dt__Q44nw4r3snd6detail18BiquadFilterBpf512Fv = .text:0x8046A6F0; // type:funct
__dt__Q44nw4r3snd6detail19BiquadFilterBpf1024Fv = .text:0x8046A730; // type:function size:0x40 scope:weak
__dt__Q44nw4r3snd6detail19BiquadFilterBpf2048Fv = .text:0x8046A770; // type:function size:0x40 scope:weak
GetInstance__Q44nw4r3snd6detail14ChannelManagerFv = .text:0x8046A7B0; // type:function size:0x74
__dt__Q44nw4r3snd6detail14ChannelManagerFv = .text:0x8046A830; // type:function size:0x60
__dt__Q44nw4r3snd6detail14ChannelManagerFv = .text:0x8046A830; // type:function size:0x60 scope:weak
GetRequiredMemSize__Q44nw4r3snd6detail14ChannelManagerFi = .text:0x8046A890; // type:function size:0xC
Setup__Q44nw4r3snd6detail14ChannelManagerFPvUl = .text:0x8046A8A0; // type:function size:0x94
UpdateAllChannel__Q44nw4r3snd6detail14ChannelManagerFv = .text:0x8046A940; // type:function size:0x54
@@ -42424,7 +42424,7 @@ sBiquadFilterBpf2048__Q44nw4r3snd6detail9AxManager = .sbss:0x80576660; // type:o
lbl_80576670 = .sbss:0x80576670; // type:object size:0x4 data:4byte
lbl_80576674 = .sbss:0x80576674; // type:object size:0x4 data:4byte
lbl_80576678 = .sbss:0x80576678; // type:object size:0x8 data:4byte
lbl_80576680 = .sbss:0x80576680; // type:object size:0x8 data:byte
@GUARD@GetInstance__Q44nw4r3snd6detail14ChannelManagerFv@instance = .sbss:0x80576680; // type:object size:0x1 scope:weak data:byte
@GUARD@GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv@instance = .sbss:0x80576688; // type:object size:0x1 scope:weak data:byte
lbl_80576690 = .sbss:0x80576690; // type:object size:0x8 data:byte
lbl_80576698 = .sbss:0x80576698; // type:object size:0x4 data:4byte
@@ -49667,13 +49667,13 @@ lbl_8057EF8C = .sdata2:0x8057EF8C; // type:object size:0x4 align:4 data:float
lbl_8057EF90 = .sdata2:0x8057EF90; // type:object size:0x8 align:8 data:double
@212 = .sdata2:0x8057EF98; // type:object size:0x8 scope:local align:8 data:double
@247 = .sdata2:0x8057EFA0; // type:object size:0x4 scope:local align:4 data:float
lbl_8057EFA8 = .sdata2:0x8057EFA8; // type:object size:0x4 align:4 data:float
lbl_8057EFAC = .sdata2:0x8057EFAC; // type:object size:0x4 align:4 data:float
lbl_8057EFB0 = .sdata2:0x8057EFB0; // type:object size:0x4 align:4 data:float
lbl_8057EFB4 = .sdata2:0x8057EFB4; // type:object size:0x4 align:4 data:float
lbl_8057EFB8 = .sdata2:0x8057EFB8; // type:object size:0x4 align:4 data:float
lbl_8057EFC0 = .sdata2:0x8057EFC0; // type:object size:0x8 align:8 data:double
lbl_8057EFC8 = .sdata2:0x8057EFC8; // type:object size:0x8 align:8 data:double
@2816 = .sdata2:0x8057EFA8; // type:object size:0x4 scope:local align:4 data:float
@2937 = .sdata2:0x8057EFAC; // type:object size:0x4 scope:local align:4 data:float
@3086 = .sdata2:0x8057EFB0; // type:object size:0x4 scope:local align:4 data:float
@3087 = .sdata2:0x8057EFB4; // type:object size:0x4 scope:local align:4 data:float
@3088 = .sdata2:0x8057EFB8; // type:object size:0x4 scope:local align:4 data:float
@3092 = .sdata2:0x8057EFC0; // type:object size:0x8 scope:local align:8 data:double
@3093 = .sdata2:0x8057EFC8; // type:object size:0x8 scope:local align:8 data:double
VOLUME_INIT__Q44nw4r3snd6detail12EnvGenerator = .sdata2:0x8057EFD0; // type:object size:0x4 align:4 data:float
@180 = .sdata2:0x8057EFD4; // type:object size:0x4 scope:local align:4 data:float
@181 = .sdata2:0x8057EFD8; // type:object size:0x4 scope:local align:4 data:float
@@ -51934,8 +51934,8 @@ sBiquadFilterCallbackTable__Q44nw4r3snd6detail9AxManager = .bss:0x80659080; // t
@LOCAL@GetInstance__Q44nw4r3snd6detail9AxManagerFv@instance = .bss:0x8065928C; // type:object size:0x104 scope:weak data:4byte
@986 = .bss:0x80659390; // type:object size:0xC scope:local
@LOCAL@GetInstance__Q44nw4r3snd6detail14AxVoiceManagerFv@instance = .bss:0x8065939C; // type:object size:0x2C scope:weak data:4byte
lbl_806593C8 = .bss:0x806593C8; // type:object size:0x10
lbl_806593D8 = .bss:0x806593D8; // type:object size:0x20 data:4byte
@1671 = .bss:0x806593C8; // type:object size:0xC scope:local
@LOCAL@GetInstance__Q44nw4r3snd6detail14ChannelManagerFv@instance = .bss:0x806593D8; // type:object size:0x20 scope:weak data:4byte
@781 = .bss:0x806593F8; // type:object size:0xC scope:local
@LOCAL@GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv@instance = .bss:0x80659404; // type:object size:0xC scope:weak data:4byte
@LOCAL@GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv@instance = .bss:0x80659410; // type:object size:0x2D8 scope:weak data:byte
+1 -1
View File
@@ -1022,7 +1022,7 @@ config.libs = [
Object(Matching, "nw4r/snd/snd_BasicPlayer.cpp"),
Object(NonMatching, "nw4r/snd/snd_BasicSound.cpp"),
Object(Matching, "nw4r/snd/snd_BiquadFilterPreset.cpp"),
Object(NonMatching, "nw4r/snd/snd_Channel.cpp"),
Object(Matching, "nw4r/snd/snd_Channel.cpp"),
Object(Matching, "nw4r/snd/snd_DisposeCallbackManager.cpp"),
Object(NonMatching, "nw4r/snd/snd_debug.cpp"),
Object(Matching, "nw4r/snd/snd_DvdSoundArchive.cpp"),
+9 -9
View File
@@ -247,12 +247,6 @@ 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++)
@@ -261,6 +255,12 @@ void Channel::Update(bool doPeriodicProc)
fxSend[i] += mFxSend[i];
}
f32 remoteOutVolume[4];
for (int i = 0; i < 4; i++) {
remoteOutVolume[i] = 1.0f;
remoteOutVolume[i] *= mRemoteOutVolume[i];
}
if (doPeriodicProc)
{
if (mAutoSweep)
@@ -294,12 +294,12 @@ void Channel::Update(bool doPeriodicProc)
mVoice->SetMainOutVolume(mainOutVolume);
mVoice->SetMainSend(mainSend);
for (int i = 0; i < AUX_BUS_NUM; i++)
mVoice->SetFxSend(static_cast<AuxBus>(i), fxSend[i]);
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]);
}
}