diff --git a/src/NotesLoaderBMS.cpp b/src/NotesLoaderBMS.cpp index 9dfaf410bb..d90a368591 100644 --- a/src/NotesLoaderBMS.cpp +++ b/src/NotesLoaderBMS.cpp @@ -1104,6 +1104,18 @@ bool BMSLoader::LoadFromDir( const RString &sDir, Song &out ) map idToKeysoundIndex; ReadGlobalTags( aBMSData[iMainDataIndex], out, sigAdjustments, idToKeysoundIndex ); + // The brackets before the difficulty are in common substring, so remove them if it's found. + if( commonSubstring.size() > 2 && commonSubstring[commonSubstring.size() - 2] == ' ' ) + { + switch( commonSubstring[commonSubstring.size() - 1] ) + { + case '[': + case '(': + case '<': + commonSubstring = commonSubstring.substr(0, commonSubstring.size() - 2); + } + } + // Override what that global tag said about the title if we have a good substring. // Prevents clobbering and catches "MySong (7keys)" / "MySong (Another) (7keys)" // Also catches "MySong (7keys)" / "MySong (14keys)"