Revert AdjustSync to 69c7cfa.
This needs more help and care than I am capable of at this point. For now, AutoSync may not work as intended.
This commit is contained in:
+10
-64
@@ -35,7 +35,6 @@
|
||||
|
||||
#include "global.h"
|
||||
#include "Song.h"
|
||||
#include "Steps.h"
|
||||
#include "AdjustSync.h"
|
||||
#include "GameState.h"
|
||||
#include "LocalizedString.h"
|
||||
@@ -43,7 +42,7 @@
|
||||
#include "ScreenManager.h"
|
||||
#include "Foreach.h"
|
||||
|
||||
vector<TimingData *> AdjustSync::s_vTimingDataOriginal;
|
||||
TimingData *AdjustSync::s_pTimingDataOriginal = NULL;
|
||||
float AdjustSync::s_fGlobalOffsetSecondsOriginal = 0.0f;
|
||||
int AdjustSync::s_iAutosyncOffsetSample = 0;
|
||||
float AdjustSync::s_fAutosyncOffset[AdjustSync::OFFSET_SAMPLE_COUNT];
|
||||
@@ -55,31 +54,13 @@ int AdjustSync::s_iStepsFiltered = 0;
|
||||
|
||||
void AdjustSync::ResetOriginalSyncData()
|
||||
{
|
||||
if( s_vTimingDataOriginal.empty() )
|
||||
{
|
||||
s_vTimingDataOriginal.push_back(new TimingData);
|
||||
s_vTimingDataOriginal.resize(1);
|
||||
}
|
||||
else if( s_vTimingDataOriginal[0] == NULL )
|
||||
{
|
||||
s_vTimingDataOriginal[0] = new TimingData;
|
||||
s_vTimingDataOriginal.resize(1);
|
||||
}
|
||||
if( s_pTimingDataOriginal == NULL )
|
||||
s_pTimingDataOriginal = new TimingData;
|
||||
|
||||
const vector<Steps*>& vpSteps = GAMESTATE->m_pCurSong->GetAllSteps();
|
||||
if( GAMESTATE->m_pCurSong )
|
||||
{
|
||||
s_vTimingDataOriginal.push_back(&GAMESTATE->m_pCurSong->m_SongTiming);
|
||||
FOREACH( Steps*, const_cast<vector<Steps*>&>(vpSteps), s )
|
||||
{
|
||||
s_vTimingDataOriginal.push_back(&(*s)->m_Timing);
|
||||
}
|
||||
}
|
||||
*s_pTimingDataOriginal = GAMESTATE->m_pCurSong->m_SongTiming;
|
||||
else
|
||||
{
|
||||
s_vTimingDataOriginal.push_back(new TimingData);
|
||||
// No Steps here to even grab.
|
||||
}
|
||||
*s_pTimingDataOriginal = TimingData();
|
||||
s_fGlobalOffsetSecondsOriginal = PREFSMAN->m_fGlobalOffsetSeconds;
|
||||
|
||||
ResetAutosync();
|
||||
@@ -89,7 +70,6 @@ void AdjustSync::ResetAutosync()
|
||||
{
|
||||
s_iAutosyncOffsetSample = 0;
|
||||
s_vAutosyncTempoData.clear();
|
||||
// TODO: Add a call to s_vTimingDataOriginal?
|
||||
}
|
||||
|
||||
bool AdjustSync::IsSyncDataChanged()
|
||||
@@ -107,7 +87,7 @@ void AdjustSync::SaveSyncChanges()
|
||||
{
|
||||
if( GAMESTATE->IsCourseMode() )
|
||||
return;
|
||||
if( GAMESTATE->m_pCurSong && *s_vTimingDataOriginal[0] != GAMESTATE->m_pCurSong->m_SongTiming )
|
||||
if( GAMESTATE->m_pCurSong && *s_pTimingDataOriginal != GAMESTATE->m_pCurSong->m_SongTiming )
|
||||
{
|
||||
if( GAMESTATE->IsEditing() )
|
||||
{
|
||||
@@ -130,15 +110,7 @@ void AdjustSync::RevertSyncChanges()
|
||||
if( GAMESTATE->IsCourseMode() )
|
||||
return;
|
||||
PREFSMAN->m_fGlobalOffsetSeconds.Set( s_fGlobalOffsetSecondsOriginal );
|
||||
GAMESTATE->m_pCurSong->m_SongTiming = *s_vTimingDataOriginal[0];
|
||||
const vector<Steps*>& vpSteps = GAMESTATE->m_pCurSong->GetAllSteps();
|
||||
|
||||
unsigned index = 1;
|
||||
FOREACH( Steps*, const_cast<vector<Steps*>&>(vpSteps), s )
|
||||
{
|
||||
(*s)->m_Timing = *s_vTimingDataOriginal[index];
|
||||
index++;
|
||||
}
|
||||
GAMESTATE->m_pCurSong->m_SongTiming = *s_pTimingDataOriginal;
|
||||
ResetOriginalSyncData();
|
||||
s_fStandardDeviation = 0.0f;
|
||||
s_fAverageError = 0.0f;
|
||||
@@ -214,15 +186,8 @@ void AdjustSync::AutosyncOffset()
|
||||
switch( GAMESTATE->m_SongOptions.GetCurrent().m_AutosyncType )
|
||||
{
|
||||
case SongOptions::AUTOSYNC_SONG:
|
||||
{
|
||||
GAMESTATE->m_pCurSong->m_SongTiming.m_fBeat0OffsetInSeconds += mean;
|
||||
const vector<Steps*>& vpSteps = GAMESTATE->m_pCurSong->GetAllSteps();
|
||||
FOREACH( Steps*, const_cast<vector<Steps*>&>(vpSteps), s )
|
||||
{
|
||||
(*s)->m_Timing.m_fBeat0OffsetInSeconds += mean;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SongOptions::AUTOSYNC_MACHINE:
|
||||
PREFSMAN->m_fGlobalOffsetSeconds.Set( PREFSMAN->m_fGlobalOffsetSeconds + mean );
|
||||
break;
|
||||
@@ -250,8 +215,6 @@ void AdjustSync::AutosyncTempo()
|
||||
s_vAutosyncTempoData.clear();
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: Make this work with Steps timing.
|
||||
|
||||
if( s_fAverageError < ERROR_TOO_HIGH )
|
||||
{
|
||||
@@ -279,23 +242,6 @@ void AdjustSync::AutosyncTempo()
|
||||
// change to the stops.
|
||||
FOREACH( StopSegment, GAMESTATE->m_pCurSong->m_SongTiming.m_StopSegments, i )
|
||||
i->m_fStopSeconds *= 1.0f - fSlope;
|
||||
|
||||
// Now the fun part: doing the same as above, but for each step.
|
||||
const vector<Steps*>& vpSteps = GAMESTATE->m_pCurSong->GetAllSteps();
|
||||
FOREACH( Steps*, const_cast<vector<Steps*>&>(vpSteps), s )
|
||||
{
|
||||
TimingData &timing = (*s)->m_Timing;
|
||||
timing.m_fBeat0OffsetInSeconds += fIntercept;
|
||||
|
||||
FOREACH( BPMSegment, timing.m_BPMSegments, i )
|
||||
{
|
||||
i->SetBPM( i->GetBPM() * fScaleBPM );
|
||||
}
|
||||
FOREACH( StopSegment, timing.m_StopSegments, i )
|
||||
{
|
||||
i->m_fStopSeconds *= 1.0f - fSlope;
|
||||
}
|
||||
}
|
||||
|
||||
SCREENMAN->SystemMessage( AUTOSYNC_CORRECTION_APPLIED.GetValue() );
|
||||
}
|
||||
@@ -349,7 +295,7 @@ void AdjustSync::GetSyncChangeTextSong( vector<RString> &vsAddTo )
|
||||
unsigned int iOriginalSize = vsAddTo.size();
|
||||
|
||||
{
|
||||
float fOld = Quantize( AdjustSync::s_vTimingDataOriginal[0]->m_fBeat0OffsetInSeconds, 0.001f );
|
||||
float fOld = Quantize( AdjustSync::s_pTimingDataOriginal->m_fBeat0OffsetInSeconds, 0.001f );
|
||||
float fNew = Quantize( GAMESTATE->m_pCurSong->m_SongTiming.m_fBeat0OffsetInSeconds, 0.001f );
|
||||
float fDelta = fNew - fOld;
|
||||
|
||||
@@ -365,7 +311,7 @@ void AdjustSync::GetSyncChangeTextSong( vector<RString> &vsAddTo )
|
||||
|
||||
for( unsigned i=0; i<GAMESTATE->m_pCurSong->m_SongTiming.m_BPMSegments.size(); i++ )
|
||||
{
|
||||
float fOld = Quantize( AdjustSync::s_vTimingDataOriginal[0]->m_BPMSegments[i].GetBPM(), 0.001f );
|
||||
float fOld = Quantize( AdjustSync::s_pTimingDataOriginal->m_BPMSegments[i].GetBPM(), 0.001f );
|
||||
float fNew = Quantize( GAMESTATE->m_pCurSong->m_SongTiming.m_BPMSegments[i].GetBPM(), 0.001f );
|
||||
float fDelta = fNew - fOld;
|
||||
|
||||
@@ -386,7 +332,7 @@ void AdjustSync::GetSyncChangeTextSong( vector<RString> &vsAddTo )
|
||||
|
||||
for( unsigned i=0; i<GAMESTATE->m_pCurSong->m_SongTiming.m_StopSegments.size(); i++ )
|
||||
{
|
||||
float fOld = Quantize( AdjustSync::s_vTimingDataOriginal[0]->m_StopSegments[i].m_fStopSeconds, 0.001f );
|
||||
float fOld = Quantize( AdjustSync::s_pTimingDataOriginal->m_StopSegments[i].m_fStopSeconds, 0.001f );
|
||||
float fNew = Quantize( GAMESTATE->m_pCurSong->m_SongTiming.m_StopSegments[i].m_fStopSeconds, 0.001f );
|
||||
float fDelta = fNew - fOld;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user