Only guess at 6-panel if DetermineStepsType() decides on STEPS_TYPE_BEAT_SINGLE5. Before, this guess was being ignored.

This commit is contained in:
Steve Checkoway
2006-08-15 11:25:38 +00:00
parent 000e984c2c
commit f10e5b34b3
+13 -15
View File
@@ -261,21 +261,6 @@ bool BMSLoader::LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNa
iPlayer = atoi(sData);
if( GetTagFromMap( mapNameToData, "#playlevel", sData ) )
out.SetMeter( atoi(sData) );
if( GetTagFromMap( mapNameToData, "#title", sData ) )
{
/* Hack: guess at 6-panel. */
// extract the Steps description (looks like 'Music <BASIC>')
size_t iOpenBracket = sData.find_first_of( "<(" );
size_t iCloseBracket = sData.find_first_of( ">)" );
if( iOpenBracket != string::npos && iCloseBracket != string::npos && iCloseBracket > iOpenBracket )
sData = sData.substr( iOpenBracket+1, iCloseBracket-iOpenBracket-1 );
// if there's a 6 in the description, it's probably part of "6panel" or "6-panel"
if( sData.find("6") != string::npos )
out.m_StepsType = STEPS_TYPE_DANCE_SOLO;
}
NoteData ndNotes;
ndNotes.SetNumTracks( NUM_BMS_TRACKS );
@@ -410,6 +395,19 @@ bool BMSLoader::LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNa
}
out.m_StepsType = DetermineStepsType( iPlayer, ndNotes );
if( out.m_StepsType == STEPS_TYPE_BEAT_SINGLE5 && GetTagFromMap( mapNameToData, "#title", sData ) )
{
/* Hack: guess at 6-panel. */
// extract the Steps description (looks like 'Music <BASIC>')
const size_t iOpenBracket = sData.find_first_of( "<(" );
const size_t iCloseBracket = sData.find_first_of( ">)", iOpenBracket );
// if there's a 6 in the description, it's probably part of "6panel" or "6-panel"
if( sData.find('6', iOpenBracket) < iCloseBracket )
out.m_StepsType = STEPS_TYPE_DANCE_SOLO;
}
if( out.m_StepsType == STEPS_TYPE_INVALID )
{
LOG->Warn( "Couldn't determine note type of file '%s'", sPath.c_str() );