Ensure all BM* files have a BGM track.
This commit is contained in:
@@ -696,6 +696,8 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo
|
|||||||
}
|
}
|
||||||
|
|
||||||
NameToData_t::const_iterator it;
|
NameToData_t::const_iterator it;
|
||||||
|
|
||||||
|
bool hasBGM = false;
|
||||||
for( it = mapNameToData.lower_bound("#00000"); it != mapNameToData.end(); ++it )
|
for( it = mapNameToData.lower_bound("#00000"); it != mapNameToData.end(); ++it )
|
||||||
{
|
{
|
||||||
const RString &sName = it->first;
|
const RString &sName = it->first;
|
||||||
@@ -745,6 +747,7 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo
|
|||||||
{
|
{
|
||||||
if( bmsTrack == BMS_AUTO_KEYSOUND_1 )
|
if( bmsTrack == BMS_AUTO_KEYSOUND_1 )
|
||||||
{
|
{
|
||||||
|
hasBGM = true;
|
||||||
// shift the auto keysound as far right as possible
|
// shift the auto keysound as far right as possible
|
||||||
int iLastEmptyTrack = -1;
|
int iLastEmptyTrack = -1;
|
||||||
if( ndNotes.GetTapLastEmptyTrack(row, iLastEmptyTrack) &&
|
if( ndNotes.GetTapLastEmptyTrack(row, iLastEmptyTrack) &&
|
||||||
@@ -772,6 +775,12 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!hasBGM)
|
||||||
|
{
|
||||||
|
LOG->Warn("The song at %s is missing a #XXX01 tag! We're unable to load.", sPath.c_str());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/* Handles hold notes like uBMPlay.
|
/* Handles hold notes like uBMPlay.
|
||||||
* Different BMS simulators support hold notes differently.
|
* Different BMS simulators support hold notes differently.
|
||||||
* See http://nvyu.net/rdm/ex.php for more info.
|
* See http://nvyu.net/rdm/ex.php for more info.
|
||||||
|
|||||||
Reference in New Issue
Block a user