From 2c9a1123f0ab7bdd839a3115213d24d7d84a5e20 Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Sun, 17 Nov 2013 23:13:30 +0100 Subject: [PATCH] Fix audio regression: Don't "WalkCurve" on state OFF --- Core/HW/SasAudio.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Core/HW/SasAudio.cpp b/Core/HW/SasAudio.cpp index 578ad40a03..328e952c28 100644 --- a/Core/HW/SasAudio.cpp +++ b/Core/HW/SasAudio.cpp @@ -804,23 +804,26 @@ void ADSREnvelope::SetState(ADSRState state) { } void ADSREnvelope::Step() { - WalkCurve(type_); switch (state_) { case STATE_ATTACK: + WalkCurve(type_); if (height_ > PSP_SAS_ENVELOPE_HEIGHT_MAX || height_ < 0) SetState(STATE_DECAY); break; case STATE_DECAY: + WalkCurve(type_); if (height_ > PSP_SAS_ENVELOPE_HEIGHT_MAX || height_ < sustainLevel) SetState(STATE_SUSTAIN); break; case STATE_SUSTAIN: + WalkCurve(type_); if (height_ <= 0) { height_ = 0; SetState(STATE_RELEASE); } break; case STATE_RELEASE: + WalkCurve(type_); if (height_ <= 0) { height_ = 0; SetState(STATE_OFF);