Represent TimingData values (except for "seconds") in fixed-point.
Maybe we should stop calling note indexes "rows" and "indexes", and just call them "beats"; if they're stored as an integer, they're in fixed-point. Things like "note rows per second" are a lot less intuitive than just calling them "beats per second".
This commit is contained in:
@@ -375,7 +375,7 @@ bool DWILoader::LoadFromDWIFile( CString sPath, Song &out )
|
||||
out.m_sCDTitleFile = sParams[1];
|
||||
|
||||
else if( 0==stricmp(sValueName,"BPM") )
|
||||
out.AddBPMSegment( BPMSegment(0, strtof(sParams[1], NULL)) );
|
||||
out.AddBPMSegment( BPMSegment(0, BeatToNoteRow(strtof(sParams[1], NULL))) );
|
||||
|
||||
else if( 0==stricmp(sValueName,"DISPLAYBPM") )
|
||||
{
|
||||
@@ -425,11 +425,10 @@ bool DWILoader::LoadFromDWIFile( CString sPath, Song &out )
|
||||
LOG->Warn( "Invalid FREEZE in '%s': '%s'", m_sLoadingFile.c_str(), arrayFreezeExpressions[f].c_str() );
|
||||
continue;
|
||||
}
|
||||
float fIndex = strtof( arrayFreezeValues[0],NULL ) * ROWS_PER_BEAT / 4.0f;
|
||||
float fFreezeBeat = NoteRowToBeat( fIndex );
|
||||
int iFreezeRow = BeatToNoteRow( strtof( arrayFreezeValues[0],NULL ) / 4.0f );
|
||||
float fFreezeSeconds = strtof( arrayFreezeValues[1], NULL ) / 1000.0f;
|
||||
|
||||
out.AddStopSegment( StopSegment(fFreezeBeat, fFreezeSeconds) );
|
||||
out.AddStopSegment( StopSegment(iFreezeRow, fFreezeSeconds) );
|
||||
// LOG->Trace( "Adding a freeze segment: beat: %f, seconds = %f", fFreezeBeat, fFreezeSeconds );
|
||||
}
|
||||
}
|
||||
@@ -448,11 +447,11 @@ bool DWILoader::LoadFromDWIFile( CString sPath, Song &out )
|
||||
LOG->Warn( "Invalid CHANGEBPM in '%s': '%s'", m_sLoadingFile.c_str(), arrayBPMChangeExpressions[b].c_str() );
|
||||
continue;
|
||||
}
|
||||
float fIndex = strtof( arrayBPMChangeValues[0], NULL ) * ROWS_PER_BEAT / 4.0f;
|
||||
float fBeat = NoteRowToBeat( fIndex );
|
||||
float fNewBPM = strtof( arrayBPMChangeValues[1], NULL );
|
||||
|
||||
out.AddBPMSegment( BPMSegment(fBeat, fNewBPM) );
|
||||
BPMSegment bs;
|
||||
bs.m_iStartIndex = BeatToNoteRow( strtof( arrayBPMChangeValues[0],NULL ) / 4.0f );
|
||||
bs.SetBPM( strtof( arrayBPMChangeValues[1], NULL ) );
|
||||
out.AddBPMSegment( bs );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user