#include "stdafx.h" #include "NotesLoaderSM.h" #include "GameManager.h" #include "RageException.h" #include "MsdFile.h" #include "RageLog.h" void SMLoader::LoadFromSMTokens( CString sNotesType, CString sDescription, CString sDifficultyClass, CString sMeter, CString sRadarValues, CString sNoteData, Notes &out ) { sNotesType.TrimLeft(); sNotesType.TrimRight(); sDescription.TrimLeft(); sDescription.TrimRight(); sDifficultyClass.TrimLeft(); sDifficultyClass.TrimRight(); // LOG->Trace( "Notes::LoadFromSMTokens()" ); out.m_NotesType = GameManager::StringToNotesType(sNotesType); out.m_sDescription = sDescription; out.m_DifficultyClass = StringToDifficultyClass( sDifficultyClass ); out.m_iMeter = atoi(sMeter); CStringArray saValues; split( sRadarValues, ",", saValues, true ); if( saValues.GetSize() == NUM_RADAR_VALUES ) for( int r=0; rTrace( "Song::LoadFromSMDir(%s)", sPath ); out.m_BPMSegments.RemoveAll(); out.m_StopSegments.RemoveAll(); int i; MsdFile msd; bool bResult = msd.ReadFile( sPath ); if( !bResult ) throw RageException( "Error opening file '%s'.", sPath ); for( i=0; iWarn( "The song file '%s' has an unknown #SELECTABLE value, \"%s\"; ignored.", sPath, sParams[1]); } else if( 0==stricmp(sValueName,"STOPS") || 0==stricmp(sValueName,"FREEZES") ) { CStringArray arrayFreezeExpressions; split( sParams[1], ",", arrayFreezeExpressions ); for( int f=0; fTrace( "Unexpected value named '%s'", sValueName ); } return true; }