diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index 574a00e401..e32485ddca 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -667,6 +667,19 @@ bool SMLoader::LoadNoteDataFromSimfile( const RString &path, Steps &out ) difficulty = "Challenge"; } + /* Handle hacks that originated back when StepMania didn't have + * Difficulty_Challenge. TODO: Remove the need for said hacks. */ + if( difficulty.CompareNoCase("hard") == 0 ) + { + /* HACK: Both SMANIAC and CHALLENGE used to be Difficulty_Hard. + * They were differentiated via aspecial description. + * Account for the rogue charts that do this. */ + // HACK: SMANIAC used to be Difficulty_Hard with a special description. + if (description.CompareNoCase("smaniac") == 0 || + description.CompareNoCase("challenge") == 0) + difficulty = "Challenge"; + } + if(!(out.m_StepsType == GAMEMAN->StringToStepsType( stepsType ) && out.GetDescription() == description && (out.GetDifficulty() == StringToDifficulty(difficulty) ||