From d1fdc2186414ab212b337ede983af23a22afcfda Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Fri, 10 Jun 2005 20:29:42 +0000 Subject: [PATCH] fix songs with stops and manually set BPM not disqualifying with C* --- stepmania/src/Song.cpp | 14 ++++++++++++-- stepmania/src/StepMania.dsp | 12 ++++++------ stepmania/src/TimingData.cpp | 9 +++++++-- stepmania/src/TimingData.h | 3 ++- 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/stepmania/src/Song.cpp b/stepmania/src/Song.cpp index 7eef0d44c8..116cdecb3f 100644 --- a/stepmania/src/Song.cpp +++ b/stepmania/src/Song.cpp @@ -1444,12 +1444,22 @@ bool Song::IsEditAlreadyLoaded( Steps* pSteps ) const bool Song::HasSignificantBpmChangesOrStops() const { + if( m_Timing.HasStops() ) + return true; + // Don't consider BPM changes that only are only for maintaining sync as // a real BpmChange. if( m_DisplayBPMType == DISPLAY_SPECIFIED ) - return false; + { + if( m_fSpecifiedBPMMin != m_fSpecifiedBPMMax ) + return true; + } + else if( m_Timing.HasBpmChanges() ) + { + return true; + } - return m_Timing.HasBpmChangesOrStops(); + return false; } float Song::GetStepsSeconds() const diff --git a/stepmania/src/StepMania.dsp b/stepmania/src/StepMania.dsp index 781c4c69f3..085806b75b 100644 --- a/stepmania/src/StepMania.dsp +++ b/stepmania/src/StepMania.dsp @@ -1,5 +1,5 @@ # Microsoft Developer Studio Project File - Name="StepMania" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# Microsoft Developer Studio Generated Build File, Format Version 60000 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Application" 0x0101 @@ -55,14 +55,14 @@ BSC32=bscmake.exe LINK32=link.exe # ADD BASE LINK32 $(intdir)\verstub.obj kernel32.lib shell32.lib user32.lib gdi32.lib advapi32.lib winmm.lib /nologo /subsystem:windows /pdb:"../debug6/StepMania-debug.pdb" /map /debug /machine:I386 /nodefaultlib:"libcmtd.lib" /out:"../StepMania-debug.exe" # SUBTRACT BASE LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib -# ADD LINK32 $(intdir)\verstub.obj kernel32.lib gdi32.lib shell32.lib user32.lib advapi32.lib winmm.lib /nologo /subsystem:windows /map /debug /machine:I386 /nodefaultlib:"msvcrt.lib" /out:"../Program/StepMania-debug.exe" +# ADD LINK32 $(intdir)\verstub.obj kernel32.lib gdi32.lib shell32.lib user32.lib advapi32.lib winmm.lib /nologo /subsystem:windows /map /debug /machine:I386 /nodefaultlib:"msvcrt.lib" /out:"../../itg/Program/StepMania-debug.exe" # SUBTRACT LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib # Begin Special Build Tool IntDir=.\../Debug6 -TargetDir=\stepmania\Program +TargetDir=\stepmania\itg\Program TargetName=StepMania-debug SOURCE="$(InputPath)" -PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=archutils\Win32\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi # End Special Build Tool @@ -96,10 +96,10 @@ LINK32=link.exe # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool IntDir=.\../Release6 -TargetDir=\stepmania\Program +TargetDir=\stepmania\stepmania\Program TargetName=StepMania SOURCE="$(InputPath)" -PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=archutils\Win32\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi # End Special Build Tool diff --git a/stepmania/src/TimingData.cpp b/stepmania/src/TimingData.cpp index 989f98860f..5bd3e900ab 100644 --- a/stepmania/src/TimingData.cpp +++ b/stepmania/src/TimingData.cpp @@ -347,9 +347,14 @@ void TimingData::ShiftRows( int iStartRow, int iRowsToShift ) } } -bool TimingData::HasBpmChangesOrStops() const +bool TimingData::HasBpmChanges() const { - return m_BPMSegments.size()>1 || m_StopSegments.size()>0; + return m_BPMSegments.size()>1; +} + +bool TimingData::HasStops() const +{ + return m_StopSegments.size()>0; } /* diff --git a/stepmania/src/TimingData.h b/stepmania/src/TimingData.h index ddb0171ec5..d16c2b88ad 100644 --- a/stepmania/src/TimingData.h +++ b/stepmania/src/TimingData.h @@ -66,7 +66,8 @@ public: return fBeat; } float GetElapsedTimeFromBeat( float fBeat ) const; - bool HasBpmChangesOrStops() const; + bool HasBpmChanges() const; + bool HasStops() const; bool operator==( const TimingData &other ) {