diff --git a/stepmania/src/CatalogXml.cpp b/stepmania/src/CatalogXml.cpp index 72e17caf44..d31ea15c63 100644 --- a/stepmania/src/CatalogXml.cpp +++ b/stepmania/src/CatalogXml.cpp @@ -53,22 +53,23 @@ void SaveCatalogXml() pSongNode->AppendChild( "MainTitle", pSong->GetDisplayMainTitle() ); pSongNode->AppendChild( "SubTitle", pSong->GetDisplaySubTitle() ); - vector vpSteps = pSong->GetAllSteps(); - for( unsigned j=0; jIsAutogen() ) - continue; + FOREACH_Difficulty( dc ) + { + Steps* pSteps = pSong->GetStepsByDifficulty( st, dc, false ); // no autogen + if( pSteps == NULL ) + continue; // skip - StepsID stepsID; - stepsID.FromSteps( pSteps ); + StepsID stepsID; + stepsID.FromSteps( pSteps ); - XNode* pStepsIDNode = stepsID.CreateNode(); - pSongNode->AppendChild( pStepsIDNode ); - - pStepsIDNode->AppendChild( "Meter", pSteps->GetMeter() ); - pStepsIDNode->AppendChild( pSteps->GetRadarValues().CreateNode() ); + XNode* pStepsIDNode = stepsID.CreateNode(); + pSongNode->AppendChild( pStepsIDNode ); + + pStepsIDNode->AppendChild( "Meter", pSteps->GetMeter() ); + pStepsIDNode->AppendChild( pSteps->GetRadarValues().CreateNode() ); + } } }