From 8f8e7681b22efc2a59277439589d298e4599f59d Mon Sep 17 00:00:00 2001 From: MerryMage Date: Thu, 6 Apr 2017 13:43:46 +0100 Subject: [PATCH] AX: Implement loop counter Required for Rogue Squadron. --- Source/Core/Core/HW/DSPHLE/UCodes/AXStructs.h | 3 ++- Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Source/Core/Core/HW/DSPHLE/UCodes/AXStructs.h b/Source/Core/Core/HW/DSPHLE/UCodes/AXStructs.h index 6ba6b794c7..96b9543881 100644 --- a/Source/Core/Core/HW/DSPHLE/UCodes/AXStructs.h +++ b/Source/Core/Core/HW/DSPHLE/UCodes/AXStructs.h @@ -253,8 +253,9 @@ struct AXPB PBSampleRateConverter src; PBADPCMLoopInfo adpcm_loop_info; PBLowPassFilter lpf; + u16 loop_counter; - u16 padding[25]; + u16 padding[24]; }; struct PBBiquadFilter diff --git a/Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h b/Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h index f4f6c4898e..8e77b5ce4a 100644 --- a/Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h +++ b/Source/Core/Core/HW/DSPHLE/UCodes/AXVoice.h @@ -234,6 +234,13 @@ u16 AcceleratorGetSample() acc_pb->adpcm.yn1 = acc_pb->adpcm_loop_info.yn1; acc_pb->adpcm.yn2 = acc_pb->adpcm_loop_info.yn2; } +#ifdef AX_GC + else + { + // If we're streaming, increment the loop counter. + acc_pb->loop_counter++; + } +#endif } else {