From ec06d164030a6d09f8b2bcb03aa9c0bee8be3657 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Thu, 13 May 2010 12:58:20 -0500 Subject: [PATCH] Let Negative Stops "work" in QuirksMode. --- src/TimingData.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/TimingData.h b/src/TimingData.h index 758e7c673f..06a11b695c 100644 --- a/src/TimingData.h +++ b/src/TimingData.h @@ -4,6 +4,7 @@ #define TIMING_DATA_H #include "NoteTypes.h" +#include "PrefsManager.h" struct lua_State; #define COMPARE(x) if(x!=other.x) return false; @@ -31,8 +32,16 @@ struct BPMSegment struct StopSegment { StopSegment() : m_iStartRow(-1), m_fStopSeconds(-1.0f), m_bDelay(false) { } - StopSegment( int s, float f ) { m_iStartRow = max( 0, s ); m_fStopSeconds = max( 0.0f, f ); m_bDelay = false; } // no delay by default - StopSegment( int s, float f, bool d ) { m_iStartRow = max( 0, s ); m_fStopSeconds = max( 0.0f, f ); m_bDelay = d; } + StopSegment( int s, float f ) { + m_iStartRow = max( 0, s ); + m_fStopSeconds = PREFSMAN->m_bQuirksMode ? f : max( 0.0f, f ); + m_bDelay = false; // no delay by default + } + StopSegment( int s, float f, bool d ) { + m_iStartRow = max( 0, s ); + m_fStopSeconds = PREFSMAN->m_bQuirksMode ? f : max( 0.0f, f ); + m_bDelay = d; + } int m_iStartRow; float m_fStopSeconds; bool m_bDelay; // if true, treat this stop as a Pump delay instead