aica: don't disable channel when reaching full attenuation

Some games rely on the channel still being processed and CA/LP being
updated. Courtesy of @kihato
Issues #472, #483, #1180, #1249, #1030 (partial)
This commit is contained in:
Flyinghead 2023-12-31 12:02:42 +01:00
parent 9f9b29b833
commit a7702c622a
1 changed files with 1 additions and 2 deletions

View File

@ -1211,8 +1211,7 @@ void AegStep(ChannelEx* ch)
if (ch->AEG.GetValue() >= 0x3FF)
{
aeg_printf("[%d]AEG_step : EG_Release End @ %x", ch->ChannelNumber, ch->AEG.GetValue());
ch->AEG.SetValue(0x3FF); // TODO: mnn, should we do anything about it running wild ?
ch->disable(); // TODO: Is this ok here? It's a speed optimisation (since the channel is muted)
ch->AEG.SetValue(0x3FF);
}
break;
}