Consistent user warnings.

This commit is contained in:
Steve Checkoway
2006-09-04 08:09:27 +00:00
parent dae47979ea
commit faf32603f1
14 changed files with 106 additions and 118 deletions
+2 -2
View File
@@ -297,7 +297,7 @@ RageTextureID BannerCache::LoadCachedBanner( RString BannerPath )
BannerData.GetValue( BannerPath, "Rotated", WasRotatedBanner ); BannerData.GetValue( BannerPath, "Rotated", WasRotatedBanner );
if(src_width == 0 || src_height == 0) if(src_width == 0 || src_height == 0)
{ {
LOG->UserLog( "Couldn't load '%s'", BannerPath.c_str() ); LOG->UserLog( RageLog::LogType_CacheFile, BannerPath, "couldn't be loaded." );
return ID; return ID;
} }
@@ -377,7 +377,7 @@ void BannerCache::CacheBannerInternal( RString BannerPath )
RageSurface *img = RageSurfaceUtils::LoadFile( BannerPath, error ); RageSurface *img = RageSurfaceUtils::LoadFile( BannerPath, error );
if( img == NULL ) if( img == NULL )
{ {
LOG->UserLog( "BannerCache::CacheBanner: Couldn't load %s: %s", BannerPath.c_str(), error.c_str() ); LOG->UserLog( RageLog::LogType_CacheFile, BannerPath, "couldn't be loaded: %s", error.c_str() );
return; return;
} }
+15 -21
View File
@@ -75,8 +75,7 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
const CourseDifficulty cd = StringToCourseDifficulty( sParams[1] ); const CourseDifficulty cd = StringToCourseDifficulty( sParams[1] );
if( cd == DIFFICULTY_INVALID ) if( cd == DIFFICULTY_INVALID )
{ {
LOG->UserLog( "Course file '%s' contains an invalid #METER string: \"%s\"", LOG->UserLog( RageLog::LogType_CourseFile, sPath, "contains an invalid #METER string: \"%s\"", sParams[1].c_str() );
sPath.c_str(), sParams[1].c_str() );
continue; continue;
} }
out.m_iCustomMeter[cd] = max( atoi(sParams[2]), 0 ); out.m_iCustomMeter[cd] = max( atoi(sParams[2]), 0 );
@@ -114,8 +113,7 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
if( attack.fSecsRemaining <= 0.0f) if( attack.fSecsRemaining <= 0.0f)
{ {
LOG->UserLog( "Course file \"%s\" has an attack with a nonpositive length: %s", LOG->UserLog( RageLog::LogType_CourseFile, sPath, "has an attack with a nonpositive length: %s", sBits[1].c_str() );
sPath.c_str(), sBits[1].c_str() );
attack.fSecsRemaining = 0.0f; attack.fSecsRemaining = 0.0f;
} }
@@ -127,8 +125,7 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
} }
else else
{ {
LOG->UserLog( "Course file \"%s\" has an unexpected value named '%s'", LOG->UserLog( RageLog::LogType_CourseFile, sPath, "has an unexpected value named '%s'", sBits[0].c_str() );
sPath.c_str(), sBits[0].c_str() );
} }
} }
@@ -168,16 +165,14 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
} }
else else
{ {
LOG->UserLog( "Course file '%s' contains a random_within_group entry '%s' that is invalid. " LOG->UserLog( RageLog::LogType_CourseFile, sPath, "contains a random_within_group entry \"%s\" that is invalid. "
"Song should be in the format '<group>/*'.", "Song should be in the format \"<group>/*\".", sSong.c_str() );
sPath.c_str(), sSong.c_str() );
} }
if( !SONGMAN->DoesSongGroupExist(new_entry.songCriteria.m_sGroupName) ) if( !SONGMAN->DoesSongGroupExist(new_entry.songCriteria.m_sGroupName) )
{ {
LOG->UserLog( "Course file '%s' random_within_group entry '%s' specifies a group that doesn't exist. " LOG->UserLog( RageLog::LogType_CourseFile, sPath, "random_within_group entry \"%s\" specifies a group that doesn't exist. "
"This entry will be ignored.", "This entry will be ignored.", sSong.c_str() );
sPath.c_str(), sSong.c_str() );
continue; // skip this #SONG continue; // skip this #SONG
} }
} }
@@ -200,9 +195,8 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
if( new_entry.pSong == NULL ) if( new_entry.pSong == NULL )
{ {
LOG->UserLog( "Course file '%s' contains a fixed song entry '%s' that does not exist. " LOG->UserLog( RageLog::LogType_CourseFile, sPath, "contains a fixed song entry \"%s\" that does not exist. "
"This entry will be ignored.", "This entry will be ignored.", sSong.c_str());
sPath.c_str(), sSong.c_str());
continue; // skip this #SONG continue; // skip this #SONG
} }
} }
@@ -215,8 +209,8 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
new_entry.stepsCriteria.m_iHighMeter = new_entry.stepsCriteria.m_iLowMeter; new_entry.stepsCriteria.m_iHighMeter = new_entry.stepsCriteria.m_iLowMeter;
else if( retval != 2 ) else if( retval != 2 )
{ {
LOG->UserLog( "Course file '%s' contains an invalid difficulty setting: \"%s\", 3..6 used instead", LOG->UserLog( RageLog::LogType_CourseFile, sPath, "contains an invalid difficulty setting: \"%s\", 3..6 used instead",
sPath.c_str(), sParams[2].c_str() ); sParams[2].c_str() );
new_entry.stepsCriteria.m_iLowMeter = 3; new_entry.stepsCriteria.m_iLowMeter = 3;
new_entry.stepsCriteria.m_iHighMeter = 6; new_entry.stepsCriteria.m_iHighMeter = 6;
} }
@@ -271,7 +265,7 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
} }
else else
{ {
LOG->UserLog( "Unexpected value named '%s'", sValueName.c_str() ); LOG->UserLog( RageLog::LogType_CourseFile, sPath, "contains an unexpected value named \"%s\"", sValueName.c_str() );
} }
} }
static TitleSubst tsub("Courses"); static TitleSubst tsub("Courses");
@@ -342,7 +336,7 @@ bool CourseLoaderCRS::LoadFromCRSFile( const RString &_sPath, Course &out )
if( !msd.ReadFile(sPath) ) if( !msd.ReadFile(sPath) )
{ {
LOG->UserLog( "Error opening CRS file '%s': %s.", sPath.c_str(), msd.GetError().c_str() ); LOG->UserLog( RageLog::LogType_CourseFile, sPath, "couldn't be opened: %s.", msd.GetError().c_str() );
return false; return false;
} }
@@ -371,14 +365,14 @@ bool CourseLoaderCRS::LoadEditFromFile( const RString &sEditFilePath, ProfileSlo
int iBytes = FILEMAN->GetFileSizeInBytes( sEditFilePath ); int iBytes = FILEMAN->GetFileSizeInBytes( sEditFilePath );
if( iBytes > MAX_EDIT_COURSE_SIZE_BYTES ) if( iBytes > MAX_EDIT_COURSE_SIZE_BYTES )
{ {
LOG->UserLog( "The edit '%s' is unreasonably large. It won't be loaded.", sEditFilePath.c_str() ); LOG->UserLog( RageLog::LogType_EditFile, sEditFilePath, "is unreasonably large. It won't be loaded." );
return false; return false;
} }
MsdFile msd; MsdFile msd;
if( !msd.ReadFile( sEditFilePath ) ) if( !msd.ReadFile( sEditFilePath ) )
{ {
LOG->UserLog( "Error opening edit file \"%s\": %s", sEditFilePath.c_str(), msd.GetError().c_str() ); LOG->UserLog( RageLog::LogType_EditFile, sEditFilePath, "couldn't be opened: %s", msd.GetError().c_str() );
return false; return false;
} }
Course *pCourse = new Course; Course *pCourse = new Course;
+1 -1
View File
@@ -13,7 +13,7 @@ bool CourseWriterCRS::Write( const Course &course, const RString &sPath, bool bS
RageFile f; RageFile f;
if( !f.Open( sPath, RageFile::WRITE ) ) if( !f.Open( sPath, RageFile::WRITE ) )
{ {
LOG->UserLog( "Could not write course file '%s': %s", sPath.c_str(), f.GetError().c_str() ); LOG->UserLog( RageLog::LogType_CourseFile, sPath, "couldn't be written: %s", f.GetError().c_str() );
return false; return false;
} }
+1 -1
View File
@@ -219,7 +219,7 @@ static void LoadFromSMNoteDataStringWithPlayer( NoteData& out, const RString &sS
if( tn.type == TapNote::hold_head && tn.iDuration == MAX_NOTE_ROW ) if( tn.type == TapNote::hold_head && tn.iDuration == MAX_NOTE_ROW )
{ {
int iRow = begin->first; int iRow = begin->first;
LOG->UserLog( "Unmatched 2 at beat %f", NoteRowToBeat(iRow) ); LOG->UserLog( RageLog::LogType_General, "", "While loading SM note data, there was an unmatched 2 at beat %f", NoteRowToBeat(iRow) );
out.RemoveTapNote( t, begin ); out.RemoveTapNote( t, begin );
} }
+20 -21
View File
@@ -134,7 +134,7 @@ static RString FindLargestInitialSubstring( const RString &string1, const RStrin
return string1.substr( 0, i ); return string1.substr( 0, i );
} }
static StepsType DetermineStepsType( int iPlayer, const NoteData &nd ) static StepsType DetermineStepsType( int iPlayer, const NoteData &nd, const RString &sPath )
{ {
ASSERT( NUM_BMS_TRACKS == nd.GetNumTracks() ); ASSERT( NUM_BMS_TRACKS == nd.GetNumTracks() );
@@ -197,7 +197,7 @@ static StepsType DetermineStepsType( int iPlayer, const NoteData &nd )
default: return STEPS_TYPE_INVALID; default: return STEPS_TYPE_INVALID;
} }
default: default:
LOG->UserLog( "Invalid #PLAYER value %d", iPlayer ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "has an invalid #PLAYER value %d.", iPlayer );
return STEPS_TYPE_INVALID; return STEPS_TYPE_INVALID;
} }
} }
@@ -394,7 +394,7 @@ bool BMSLoader::LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNa
ndNotes.SetTapNote( iTrack, iBegin, TAP_ORIGINAL_TAP ); ndNotes.SetTapNote( iTrack, iBegin, TAP_ORIGINAL_TAP );
} }
out.m_StepsType = DetermineStepsType( iPlayer, ndNotes ); out.m_StepsType = DetermineStepsType( iPlayer, ndNotes, sPath );
if( out.m_StepsType == STEPS_TYPE_BEAT_SINGLE5 && GetTagFromMap( mapNameToData, "#title", sData ) ) if( out.m_StepsType == STEPS_TYPE_BEAT_SINGLE5 && GetTagFromMap( mapNameToData, "#title", sData ) )
{ {
/* Hack: guess at 6-panel. */ /* Hack: guess at 6-panel. */
@@ -410,7 +410,7 @@ bool BMSLoader::LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNa
if( out.m_StepsType == STEPS_TYPE_INVALID ) if( out.m_StepsType == STEPS_TYPE_INVALID )
{ {
LOG->UserLog( "Couldn't determine note type of file '%s'", sPath.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "has an unknown steps type" );
return false; return false;
} }
@@ -429,7 +429,7 @@ bool BMSLoader::LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNa
} }
else else
{ {
LOG->UserLog( "In BMS file \"%s\", there is no room to shift the autokeysound tracks.", sPath.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "has no room to shift the autokeysound tracks." );
} }
} }
} }
@@ -556,7 +556,7 @@ bool BMSLoader::ReadBMSFile( const RString &sPath, NameToData_t &mapNameToData )
RageFile file; RageFile file;
if( !file.Open(sPath) ) if( !file.Open(sPath) )
{ {
LOG->UserLog( "Failed to open \"%s\" for reading: %s", sPath.c_str(), file.GetError().c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "couldn't be opened: %s", file.GetError().c_str() );
return false; return false;
} }
@@ -565,7 +565,7 @@ bool BMSLoader::ReadBMSFile( const RString &sPath, NameToData_t &mapNameToData )
RString line; RString line;
if( file.GetLine(line) == -1 ) if( file.GetLine(line) == -1 )
{ {
LOG->UserLog( "Error reading \"%s\": %s", sPath.c_str(), file.GetError().c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "had a read error: %s", file.GetError().c_str() );
return false; return false;
} }
@@ -652,8 +652,8 @@ void BMSLoader::ReadGlobalTags( const NameToData_t &mapNameToData, Song &out )
} }
else else
{ {
LOG->UserLog( "In BMS file \"%s\", there is an invalid BPM change at beat %f, BPM %f.", LOG->UserLog( RageLog::LogType_SongFile, m_sDir, "has an invalid BPM change at beat %f, BPM %f.",
out.GetSongFilePath().c_str(), NoteRowToBeat(0), fBPM ); NoteRowToBeat(0), fBPM );
} }
} }
@@ -687,8 +687,7 @@ void BMSLoader::ReadGlobalTags( const NameToData_t &mapNameToData, Song &out )
} }
} }
if( !IsAFile(out.GetSongDir()+sData) ) if( !IsAFile(out.GetSongDir()+sData) )
LOG->UserLog( "Song \"%s\" references key \"%s\" that can't be found", LOG->UserLog( RageLog::LogType_SongFile, m_sDir, "references key \"%s\" that can't be found", sData.c_str() );
m_sDir.c_str(), sData.c_str() );
sWavID.MakeUpper(); // HACK: undo the MakeLower() sWavID.MakeUpper(); // HACK: undo the MakeLower()
out.m_vsKeysoundFile.push_back( sData ); out.m_vsKeysoundFile.push_back( sData );
@@ -735,8 +734,8 @@ void BMSLoader::ReadGlobalTags( const NameToData_t &mapNameToData, Song &out )
} }
else else
{ {
LOG->UserLog( "In BMS file \"%s\", there is an invalid BPM change at beat %f, BPM %d.", LOG->UserLog( RageLog::LogType_SongFile, m_sDir, "has an invalid BPM change at beat %f, BPM %d.",
out.GetSongFilePath().c_str(), fBeat, iVal ); fBeat, iVal );
} }
break; break;
@@ -756,13 +755,13 @@ void BMSLoader::ReadGlobalTags( const NameToData_t &mapNameToData, Song &out )
} }
else else
{ {
LOG->UserLog( "In BMS file \"%s\", there is an invalid BPM change at beat %f, BPM %f", LOG->UserLog( RageLog::LogType_SongFile, m_sDir, "has an invalid BPM change at beat %f, BPM %f",
out.GetSongFilePath().c_str(), fBeat, fBPM ); fBeat, fBPM );
} }
} }
else else
{ {
LOG->UserLog( "Couldn't find tag '%s' in '%s'.", sTagToLookFor.c_str(), m_sDir.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, m_sDir, "has tag \"%s\" which cannot be found.", sTagToLookFor.c_str() );
} }
break; break;
} }
@@ -783,7 +782,7 @@ void BMSLoader::ReadGlobalTags( const NameToData_t &mapNameToData, Song &out )
} }
else else
{ {
LOG->UserLog( "Couldn't find tag '%s' in '%s'.", sTagToLookFor.c_str(), m_sDir.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, m_sDir, "has tag \"%s\" which cannot be found.", sTagToLookFor.c_str() );
} }
break; break;
} }
@@ -813,13 +812,13 @@ void BMSLoader::ReadGlobalTags( const NameToData_t &mapNameToData, Song &out )
} }
else else
{ {
LOG->UserLog( "In BMS file \"%s\", there is an invalid BPM change at beat %f, BPM %f.", LOG->UserLog( RageLog::LogType_SongFile, m_sDir, "has an invalid BPM change at beat %f, BPM %f.",
out.GetSongFilePath().c_str(), NoteRowToBeat(iStepIndex), fBPM ); NoteRowToBeat(iStepIndex), fBPM );
} }
} }
else else
{ {
LOG->UserLog( "Couldn't find tag '%s' in '%s'.", sTagToLookFor.c_str(), m_sDir.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, m_sDir, "has tag \"%s\" which cannot be found.", sTagToLookFor.c_str() );
} }
break; break;
@@ -949,7 +948,7 @@ bool BMSLoader::LoadFromDir( const RString &sDir, Song &out )
{ {
// All bets are off; the titles don't match at all. // All bets are off; the titles don't match at all.
// At this rate we're lucky if we even get the title right. // At this rate we're lucky if we even get the title right.
LOG->UserLog( "BMS files in %s have inconsistent titles", sDir.c_str() ); LOG->UserLog( RageLog::LogType_Song, sDir, "has BMS files with inconsistent titles." );
} }
/* Create a Steps for each. */ /* Create a Steps for each. */
+14 -14
View File
@@ -60,7 +60,7 @@ void DWILoader::DWIcharToNote( char c, GameController i, int &note1Out, int &not
case 'L': note1Out = DANCE_NOTE_PAD1_UPRIGHT; note2Out = DANCE_NOTE_PAD1_RIGHT; break; case 'L': note1Out = DANCE_NOTE_PAD1_UPRIGHT; note2Out = DANCE_NOTE_PAD1_RIGHT; break;
case 'M': note1Out = DANCE_NOTE_PAD1_UPLEFT; note2Out = DANCE_NOTE_PAD1_UPRIGHT; break; case 'M': note1Out = DANCE_NOTE_PAD1_UPLEFT; note2Out = DANCE_NOTE_PAD1_UPRIGHT; break;
default: default:
LOG->UserLog( "Encountered invalid DWI note character '%c' in '%s'", c, m_sLoadingFile.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, m_sLoadingFile, "has an invalid DWI note character '%c'.", c );
note1Out = DANCE_NOTE_NONE; note2Out = DANCE_NOTE_NONE; break; note1Out = DANCE_NOTE_NONE; note2Out = DANCE_NOTE_NONE; break;
} }
@@ -232,7 +232,7 @@ bool DWILoader::LoadFromDWITokens(
{ {
if( c == '!' ) if( c == '!' )
{ {
LOG->UserLog( "Unexpected character in '%s': '!'", m_sLoadingFile.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, m_sLoadingFile, "has an unexpected character: '!'." );
continue; continue;
} }
@@ -314,8 +314,8 @@ bool DWILoader::LoadFromDWITokens(
if( !bFound ) if( !bFound )
{ {
/* The hold was never closed. */ /* The hold was never closed. */
LOG->UserLog( "File \"%s\":\"%s\" failed to close a hold note on track %i", LOG->UserLog( RageLog::LogType_SongFile, m_sLoadingFile, "failed to close a hold note in \"%s\" on track %i",
m_sLoadingFile.c_str(), sDescription.c_str(), t ); sDescription.c_str(), t );
newNoteData.SetTapNote( t, iHeadRow, TAP_EMPTY ); newNoteData.SetTapNote( t, iHeadRow, TAP_EMPTY );
} }
@@ -364,7 +364,7 @@ bool DWILoader::LoadFromDWIFile( const RString &sPath, Song &out )
MsdFile msd; MsdFile msd;
if( !msd.ReadFile( sPath ) ) if( !msd.ReadFile( sPath ) )
{ {
LOG->UserLog( "Error opening file \"%s\": %s", sPath.c_str(), msd.GetError().c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "couldn't be opened: %s", msd.GetError().c_str() );
return false; return false;
} }
@@ -376,7 +376,7 @@ bool DWILoader::LoadFromDWIFile( const RString &sPath, Song &out )
if( iNumParams < 1 ) if( iNumParams < 1 )
{ {
LOG->UserLog( "Got \"%s\" tag with no parameters in '%s'", sValueName.c_str(), m_sLoadingFile.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "has tag \"%s\" with no parameters.", sValueName.c_str() );
continue; continue;
} }
@@ -410,8 +410,8 @@ bool DWILoader::LoadFromDWIFile( const RString &sPath, Song &out )
if( fBPM > 0.0f ) if( fBPM > 0.0f )
out.AddBPMSegment( BPMSegment(0, fBPM) ); out.AddBPMSegment( BPMSegment(0, fBPM) );
else else
LOG->UserLog( "Invalid BPM change at beat %f, BPM %f in \"%s\".", LOG->UserLog( RageLog::LogType_SongFile, sPath, "has an invalid BPM change at beat %f, BPM %f.",
NoteRowToBeat(0), fBPM, sPath.c_str() ); NoteRowToBeat(0), fBPM );
} }
else if( 0==stricmp(sValueName,"DISPLAYBPM") ) else if( 0==stricmp(sValueName,"DISPLAYBPM") )
{ {
@@ -458,7 +458,7 @@ bool DWILoader::LoadFromDWIFile( const RString &sPath, Song &out )
split( arrayFreezeExpressions[f], "=", arrayFreezeValues ); split( arrayFreezeExpressions[f], "=", arrayFreezeValues );
if( arrayFreezeValues.size() != 2 ) if( arrayFreezeValues.size() != 2 )
{ {
LOG->UserLog( "Invalid FREEZE in '%s': '%s'", m_sLoadingFile.c_str(), arrayFreezeExpressions[f].c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "has an invalid FREEZE: '%s'.", arrayFreezeExpressions[f].c_str() );
continue; continue;
} }
int iFreezeRow = BeatToNoteRow( StringToFloat(arrayFreezeValues[0]) / 4.0f ); int iFreezeRow = BeatToNoteRow( StringToFloat(arrayFreezeValues[0]) / 4.0f );
@@ -480,7 +480,7 @@ bool DWILoader::LoadFromDWIFile( const RString &sPath, Song &out )
split( arrayBPMChangeExpressions[b], "=", arrayBPMChangeValues ); split( arrayBPMChangeExpressions[b], "=", arrayBPMChangeValues );
if( arrayBPMChangeValues.size() != 2 ) if( arrayBPMChangeValues.size() != 2 )
{ {
LOG->UserLog( "Invalid CHANGEBPM in '%s': '%s'", m_sLoadingFile.c_str(), arrayBPMChangeExpressions[b].c_str() ); LOG->UserLog( RageLog::LogType_SongFile, m_sLoadingFile, "has an invalid CHANGEBPM: '%s'.", arrayBPMChangeExpressions[b].c_str() );
continue; continue;
} }
@@ -493,8 +493,8 @@ bool DWILoader::LoadFromDWIFile( const RString &sPath, Song &out )
} }
else else
{ {
LOG->UserLog( "Invalid BPM change at beat %f, BPM %f in \"%s\".", LOG->UserLog( RageLog::LogType_SongFile, m_sLoadingFile, "has an invalid BPM change at beat %f, BPM %f.",
NoteRowToBeat(iStartIndex), fBPM, m_sLoadingFile.c_str() ); NoteRowToBeat(iStartIndex), fBPM );
} }
} }
} }
@@ -502,7 +502,7 @@ bool DWILoader::LoadFromDWIFile( const RString &sPath, Song &out )
else if( 0==stricmp(sValueName,"SINGLE") || else if( 0==stricmp(sValueName,"SINGLE") ||
0==stricmp(sValueName,"DOUBLE") || 0==stricmp(sValueName,"DOUBLE") ||
0==stricmp(sValueName,"COUPLE") || 0==stricmp(sValueName,"COUPLE") ||
0==stricmp(sValueName,"SOLO")) 0==stricmp(sValueName,"SOLO") )
{ {
Steps* pNewNotes = new Steps; Steps* pNewNotes = new Steps;
LoadFromDWITokens( LoadFromDWITokens(
@@ -564,7 +564,7 @@ bool DWILoader::LoadFromDir( const RString &sPath, Song &out )
if( aFileNames.size() > 1 ) if( aFileNames.size() > 1 )
{ {
LOG->UserLog( "There is more than one DWI file in '%s'. There should be only one!", sPath.c_str() ); LOG->UserLog( RageLog::LogType_Song, sPath, "has more than one DWI file. There should be only one!" );
return false; return false;
} }
+15 -19
View File
@@ -69,7 +69,7 @@ bool KSFLoader::LoadFromKSFFile( const RString &sPath, Steps &out, const Song &s
MsdFile msd; MsdFile msd;
if( !msd.ReadFile( sPath ) ) if( !msd.ReadFile( sPath ) )
{ {
LOG->UserLog( "Error opening file '%s'.", sPath.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "couldn't be opened: %s", msd.GetError().c_str() );
return false; return false;
} }
@@ -87,7 +87,7 @@ bool KSFLoader::LoadFromKSFFile( const RString &sPath, Steps &out, const Song &s
m_iTickCount = atoi( sParams[1] ); m_iTickCount = atoi( sParams[1] );
if( m_iTickCount <= 0 ) if( m_iTickCount <= 0 )
{ {
LOG->UserLog( "KSF file \"%s\" has an invalid tick count: %d", sPath.c_str(), m_iTickCount ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "has an invalid tick count: %d.", m_iTickCount );
return false; return false;
} }
} }
@@ -106,7 +106,7 @@ bool KSFLoader::LoadFromKSFFile( const RString &sPath, Steps &out, const Song &s
if( m_iTickCount == -1 ) if( m_iTickCount == -1 )
{ {
m_iTickCount = 2; m_iTickCount = 2;
LOG->UserLog( "\"%s\": TICKCOUNT not found; defaulting to %i", sPath.c_str(), m_iTickCount ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "doesn't have a TICKCOUNT. Defaulting to %i.", m_iTickCount );
} }
NoteData notedata; // read it into here NoteData notedata; // read it into here
@@ -200,8 +200,8 @@ bool KSFLoader::LoadFromKSFFile( const RString &sPath, Steps &out, const Song &s
{ {
if( m_bKIUCompliant ) if( m_bKIUCompliant )
{ {
LOG->UserLog( "File \"%s\" had illegal syntax (\"%s\") which can't be in KIU complient files.", LOG->UserLog( RageLog::LogType_SongFile, sPath, "has illegal syntax \"%s\" which can't be in KIU complient files.",
sPath.c_str(), sRowString.c_str() ); sRowString.c_str() );
return false; return false;
} }
if( BeginsWith(sRowString, "|B") || BeginsWith(sRowString, "|D") ) if( BeginsWith(sRowString, "|B") || BeginsWith(sRowString, "|D") )
@@ -218,8 +218,8 @@ bool KSFLoader::LoadFromKSFFile( const RString &sPath, Steps &out, const Song &s
} }
else else
{ {
LOG->UserLog( "File %s had a RowString with an improper length (\"%s\"); corrupt notes ignored", LOG->UserLog( RageLog::LogType_SongFile, sPath, "has a RowString with an improper length \"%s\"; corrupt notes ignored.",
sPath.c_str(), sRowString.c_str() ); sRowString.c_str() );
return false; return false;
} }
} }
@@ -264,8 +264,8 @@ bool KSFLoader::LoadFromKSFFile( const RString &sPath, Steps &out, const Song &s
case '0': tap = TAP_EMPTY; break; case '0': tap = TAP_EMPTY; break;
case '1': tap = TAP_ORIGINAL_TAP; break; case '1': tap = TAP_ORIGINAL_TAP; break;
default: default:
LOG->UserLog( "File %s had an invalid row (\"%s\"); corrupt notes ignored", LOG->UserLog( RageLog::LogType_SongFile, sPath, "has an invalid row \"%s\"; corrupt notes ignored.",
sPath.c_str(), sRowString.c_str() ); sRowString.c_str() );
return false; return false;
} }
@@ -338,7 +338,7 @@ bool KSFLoader::LoadGlobalData( const RString &sPath, Song &out )
MsdFile msd; MsdFile msd;
if( !msd.ReadFile( sPath ) ) if( !msd.ReadFile( sPath ) )
{ {
LOG->UserLog( "Error opening file \"%s\": %s", sPath.c_str(), msd.GetError().c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "couldn't be opened: %s", msd.GetError().c_str() );
return false; return false;
} }
@@ -419,8 +419,8 @@ bool KSFLoader::LoadGlobalData( const RString &sPath, Song &out )
} }
else else
{ {
LOG->UserLog( "In KSF file \"%s\", there was an unexpected value named '%s'", LOG->UserLog( RageLog::LogType_SongFile, sPath, "has an unexpected value named \"%s\".",
sPath.c_str(), sValueName.c_str() ); sValueName.c_str() );
} }
} }
@@ -503,8 +503,8 @@ bool KSFLoader::LoadGlobalData( const RString &sPath, Song &out )
else else
{ {
/* Quit while we're ahead if any bad syntax is spotted. */ /* Quit while we're ahead if any bad syntax is spotted. */
LOG->UserLog( "File %s has a RowString which matches no known syntax rules (\"%s\"); bad file", LOG->UserLog( RageLog::LogType_SongFile, sPath, "has an invalid RowString \"%s\".",
sPath.c_str(), NoteRowString.c_str() ); NoteRowString.c_str() );
return false; return false;
} }
} }
@@ -559,11 +559,7 @@ bool KSFLoader::LoadFromDir( const RString &sDir, Song &out )
GetDirListing( sDir + RString("*.ksf"), arrayKSFFileNames ); GetDirListing( sDir + RString("*.ksf"), arrayKSFFileNames );
/* We shouldn't have been called to begin with if there were no KSFs. */ /* We shouldn't have been called to begin with if there were no KSFs. */
if( arrayKSFFileNames.empty() ) ASSERT( arrayKSFFileNames.size() );
{
LOG->UserLog( "Couldn't find any KSF files in '%s'", sDir.c_str() );
return false;
}
/* If only the first file is read, it will cause problems for other simfiles with /* If only the first file is read, it will cause problems for other simfiles with
* different BPM changes and tickcounts. This command will probably have to be * different BPM changes and tickcounts. This command will probably have to be
+19 -19
View File
@@ -73,7 +73,7 @@ bool SMLoader::LoadTimingFromFile( const RString &fn, TimingData &out )
MsdFile msd; MsdFile msd;
if( !msd.ReadFile( fn ) ) if( !msd.ReadFile( fn ) )
{ {
LOG->UserLog( "Couldn't load %s, \"%s\"", fn.c_str(), msd.GetError().c_str() ); LOG->UserLog( RageLog::LogType_SongFile, fn, "couldn't be loaded: %s", msd.GetError().c_str() );
return false; return false;
} }
@@ -110,7 +110,7 @@ void SMLoader::LoadTimingFromSMFile( const MsdFile &msd, TimingData &out )
if( arrayFreezeValues.size() != 2 ) if( arrayFreezeValues.size() != 2 )
{ {
// XXX: Hard to tell which file caused this. // XXX: Hard to tell which file caused this.
LOG->UserLog( "Invalid #%s value \"%s\" (must have exactly one '='), ignored", LOG->UserLog( RageLog::LogType_SongFile, "(UNKNOWN)", "has an invalid #%s value \"%s\" (must have exactly one '='), ignored.",
sValueName.c_str(), arrayFreezeExpressions[f].c_str() ); sValueName.c_str(), arrayFreezeExpressions[f].c_str() );
continue; continue;
} }
@@ -138,7 +138,7 @@ void SMLoader::LoadTimingFromSMFile( const MsdFile &msd, TimingData &out )
// XXX: Hard to tell which file caused this. // XXX: Hard to tell which file caused this.
if( arrayBPMChangeValues.size() != 2 ) if( arrayBPMChangeValues.size() != 2 )
{ {
LOG->UserLog( "Invalid #%s value \"%s\" (must have exactly one '='), ignored", LOG->UserLog( RageLog::LogType_SongFile, "(UNKNOWN)", "has an invalid #%s value \"%s\" (must have exactly one '='), ignored.",
sValueName.c_str(), arrayBPMChangeExpressions[b].c_str() ); sValueName.c_str(), arrayBPMChangeExpressions[b].c_str() );
continue; continue;
} }
@@ -149,7 +149,7 @@ void SMLoader::LoadTimingFromSMFile( const MsdFile &msd, TimingData &out )
if( fNewBPM > 0.0f ) if( fNewBPM > 0.0f )
out.AddBPMSegment( BPMSegment(BeatToNoteRow(fBeat), fNewBPM) ); out.AddBPMSegment( BPMSegment(BeatToNoteRow(fBeat), fNewBPM) );
else else
LOG->UserLog( "Invalid BPM change at beat %f, BPM %f.", fBeat, fNewBPM ); LOG->UserLog( RageLog::LogType_SongFile, "(UNKNOWN)", "has an invalid BPM change at beat %f, BPM %f.", fBeat, fNewBPM );
} }
} }
} }
@@ -228,7 +228,7 @@ bool SMLoader::LoadFromSMFile( const RString &sPath, Song &out )
MsdFile msd; MsdFile msd;
if( !msd.ReadFile( sPath ) ) if( !msd.ReadFile( sPath ) )
{ {
LOG->UserLog( "Error opening file \"%s\": %s", sPath.c_str(), msd.GetError().c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "couldn't be opened: %s", msd.GetError().c_str() );
return false; return false;
} }
@@ -357,7 +357,7 @@ bool SMLoader::LoadFromSMFile( const RString &sPath, Song &out )
else if(!stricmp(sParams[1],"ROULETTE")) else if(!stricmp(sParams[1],"ROULETTE"))
out.m_SelectionDisplay = out.SHOW_ROULETTE; out.m_SelectionDisplay = out.SHOW_ROULETTE;
else else
LOG->UserLog( "The song file '%s' has an unknown #SELECTABLE value, '%s'; ignored.", sPath.c_str(), sParams[1].c_str()); LOG->UserLog( RageLog::LogType_SongFile, sPath, "has an unknown #SELECTABLE value, \"%s\"; ignored.", sParams[1].c_str() );
} }
else if( sValueName.Left(strlen("BGCHANGES"))=="BGCHANGES" || sValueName=="ANIMATIONS" ) else if( sValueName.Left(strlen("BGCHANGES"))=="BGCHANGES" || sValueName=="ANIMATIONS" )
@@ -369,7 +369,7 @@ bool SMLoader::LoadFromSMFile( const RString &sPath, Song &out )
bool bValid = iLayer>=0 && iLayer<NUM_BackgroundLayer; bool bValid = iLayer>=0 && iLayer<NUM_BackgroundLayer;
if( !bValid ) if( !bValid )
{ {
LOG->UserLog( "The song file '%s' has a BGCHANGES tag '%s' that is out of range.", sPath.c_str(), sValueName.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "has a #BGCHANGES tag \"%s\" that is out of range.", sValueName.c_str() );
} }
else else
{ {
@@ -407,7 +407,7 @@ bool SMLoader::LoadFromSMFile( const RString &sPath, Song &out )
{ {
if( iNumParams < 7 ) if( iNumParams < 7 )
{ {
LOG->UserLog( "The song file '%s' is has %d fields in a #NOTES tag, but should have at least %d.", sPath.c_str(), iNumParams, 7 ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "has %d fields in a #NOTES tag, but should have at least 7.", iNumParams );
continue; continue;
} }
@@ -426,7 +426,7 @@ bool SMLoader::LoadFromSMFile( const RString &sPath, Song &out )
else if( sValueName=="OFFSET" || sValueName=="BPMS" || sValueName=="STOPS" || sValueName=="FREEZES" ) else if( sValueName=="OFFSET" || sValueName=="BPMS" || sValueName=="STOPS" || sValueName=="FREEZES" )
; ;
else else
LOG->UserLog( "The song file \"%s\" has an unexpected value named '%s'", sPath.c_str(), sValueName.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "has an unexpected value named \"%s\".", sValueName.c_str() );
} }
return true; return true;
@@ -440,7 +440,7 @@ bool SMLoader::LoadFromDir( const RString &sPath, Song &out )
if( aFileNames.size() > 1 ) if( aFileNames.size() > 1 )
{ {
LOG->UserLog( "There is more than one SM file in '%s'. There should be only one!", sPath.c_str() ); LOG->UserLog( RageLog::LogType_Song, sPath, "has more than one SM file. There should be only one!" );
return false; return false;
} }
@@ -458,14 +458,14 @@ bool SMLoader::LoadEditFromFile( RString sEditFilePath, ProfileSlot slot, bool b
int iBytes = FILEMAN->GetFileSizeInBytes( sEditFilePath ); int iBytes = FILEMAN->GetFileSizeInBytes( sEditFilePath );
if( iBytes > MAX_EDIT_STEPS_SIZE_BYTES ) if( iBytes > MAX_EDIT_STEPS_SIZE_BYTES )
{ {
LOG->UserLog( "The edit '%s' is unreasonably large. It won't be loaded.", sEditFilePath.c_str() ); LOG->UserLog( RageLog::LogType_EditFile, sEditFilePath, "is unreasonably large. It won't be loaded." );
return false; return false;
} }
MsdFile msd; MsdFile msd;
if( !msd.ReadFile( sEditFilePath ) ) if( !msd.ReadFile( sEditFilePath ) )
{ {
LOG->UserLog( "Error opening edit file \"%s\": %s", sEditFilePath.c_str(), msd.GetError().c_str() ); LOG->UserLog( RageLog::LogType_EditFile, sEditFilePath, "couldn't be opened: %s", msd.GetError().c_str() );
return false; return false;
} }
@@ -495,7 +495,7 @@ bool SMLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath
{ {
if( pSong ) if( pSong )
{ {
LOG->UserLog( "The edit file '%s' has more than one #SONG tag.", sEditFilePath.c_str() ); LOG->UserLog( RageLog::LogType_EditFile, sEditFilePath, "has more than one #SONG tag." );
return false; return false;
} }
@@ -505,13 +505,13 @@ bool SMLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath
pSong = SONGMAN->FindSong( sSongFullTitle ); pSong = SONGMAN->FindSong( sSongFullTitle );
if( pSong == NULL ) if( pSong == NULL )
{ {
LOG->UserLog( "The edit file '%s' required a song '%s' that isn't present.", sEditFilePath.c_str(), sSongFullTitle.c_str() ); LOG->UserLog( RageLog::LogType_EditFile, sEditFilePath, "requires a song \"%s\" that isn't present.", sSongFullTitle.c_str() );
return false; return false;
} }
if( pSong->GetNumStepsLoadedFromProfile(slot) >= MAX_EDITS_PER_SONG_PER_PROFILE ) if( pSong->GetNumStepsLoadedFromProfile(slot) >= MAX_EDITS_PER_SONG_PER_PROFILE )
{ {
LOG->UserLog( "The song '%s' already has the maximum number of edits allowed for ProfileSlotP%d.", sSongFullTitle.c_str(), slot+1 ); LOG->UserLog( RageLog::LogType_SongFile, sSongFullTitle, "already has the maximum number of edits allowed for ProfileSlotP%d.", slot+1 );
return false; return false;
} }
} }
@@ -520,13 +520,13 @@ bool SMLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath
{ {
if( pSong == NULL ) if( pSong == NULL )
{ {
LOG->UserLog( "The edit file '%s' has doesn't have a #SONG tag preceeding the first #NOTES tag.", sEditFilePath.c_str() ); LOG->UserLog( RageLog::LogType_EditFile, sEditFilePath, "doesn't have a #SONG tag preceeding the first #NOTES tag." );
return false; return false;
} }
if( iNumParams < 7 ) if( iNumParams < 7 )
{ {
LOG->UserLog( "The edit file '%s' is has %d fields in a #NOTES tag, but should have at least %d.", sEditFilePath.c_str(), iNumParams, 7 ); LOG->UserLog( RageLog::LogType_EditFile, sEditFilePath, "has %d fields in a #NOTES tag, but should have at least 7.", iNumParams );
continue; continue;
} }
@@ -544,7 +544,7 @@ bool SMLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath
if( pSong->IsEditAlreadyLoaded(pNewNotes) ) if( pSong->IsEditAlreadyLoaded(pNewNotes) )
{ {
LOG->UserLog( "The edit file '%s' is a duplicate of another edit that was already loaded.", sEditFilePath.c_str() ); LOG->UserLog( RageLog::LogType_EditFile, sEditFilePath, "is a duplicate of another edit that was already loaded." );
SAFE_DELETE( pNewNotes ); SAFE_DELETE( pNewNotes );
return false; return false;
} }
@@ -554,7 +554,7 @@ bool SMLoader::LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath
} }
else else
{ {
LOG->UserLog( "The edit file \"%s\" has an unexpected value named '%s'", sEditFilePath.c_str(), sValueName.c_str() ); LOG->UserLog( RageLog::LogType_EditFile, sEditFilePath, "has an unexpected value \"%s\".", sValueName.c_str() );
} }
} }
+1 -1
View File
@@ -348,7 +348,7 @@ bool NotesWriterDWI::Write( RString sPath, const Song &out )
RageFile f; RageFile f;
if( !f.Open( sPath, RageFile::WRITE ) ) if( !f.Open( sPath, RageFile::WRITE ) )
{ {
LOG->UserLog( "Error opening song file \"%s\" for writing: \"%s\"", sPath.c_str(), f.GetError().c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "couldn't be opened for writing: %s", f.GetError().c_str() );
return false; return false;
} }
+1 -1
View File
@@ -209,7 +209,7 @@ bool NotesWriterSM::Write( RString sPath, const Song &out, bool bSavingCache )
RageFile f; RageFile f;
if( !f.Open( sPath, flags ) ) if( !f.Open( sPath, flags ) )
{ {
LOG->UserLog( "Error opening song file '%s' for writing: %s", sPath.c_str(), f.GetError().c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sPath, "couldn't be opened for writing: %s", f.GetError().c_str() );
return false; return false;
} }
+3 -3
View File
@@ -245,7 +245,7 @@ void PlayerOptions::FromString( const RString &sOptions, bool bWarnOnInvalid )
{ {
if( bWarnOnInvalid ) if( bWarnOnInvalid )
{ {
LOG->UserLog( "Invalid player options '%s'; did you mean '*%d'?", LOG->UserLog( RageLog::LogType_General, "", "Invalid player options \"%s\"; did you mean '*%d'?",
s->c_str(), atoi(*s) ); s->c_str(), atoi(*s) );
} }
// XXX We know what they want, is there any reason not to handle it? // XXX We know what they want, is there any reason not to handle it?
@@ -360,8 +360,8 @@ void PlayerOptions::FromString( const RString &sOptions, bool bWarnOnInvalid )
{ {
if( bWarnOnInvalid ) if( bWarnOnInvalid )
{ {
RString sWarning = ssprintf( "The options string '%s' contains an invalid mod name '%s'", sOptions.c_str(), sBit.c_str() ); RString sWarning = ssprintf( "The options string \"%s\" contains an invalid mod name \"%s\".", sOptions.c_str(), sBit.c_str() );
LOG->UserLog( "%s", sWarning.c_str() ); LOG->UserLog( RageLog::LogType_General, "", "%s", sWarning.c_str() );
Dialog::OK( sWarning, "INVALID_PLAYER_OPTION_WARNING" ); Dialog::OK( sWarning, "INVALID_PLAYER_OPTION_WARNING" );
} }
} }
+1 -1
View File
@@ -119,7 +119,7 @@ SoundReader *SoundReader_FileReader::OpenFile( RString filename, RString &error
SoundReader_FileReader *NewSample = TryOpenFile( filename, error, *it, bKeepTrying ); SoundReader_FileReader *NewSample = TryOpenFile( filename, error, *it, bKeepTrying );
if( NewSample ) if( NewSample )
{ {
LOG->UserLog( "File \"%s\" is really %s", filename.c_str(), it->c_str() ); LOG->UserLog( RageLog::LogType_SoundFile, filename, "is really %s.", it->c_str() );
return NewSample; return NewSample;
} }
} }
+1 -1
View File
@@ -108,7 +108,7 @@ RageSurface *RageSurfaceUtils::LoadFile( const RString &sPath, RString &error, b
RageSurface *ret = TryOpenFile( sPath, bHeaderOnly, error, *it, bKeepTrying ); RageSurface *ret = TryOpenFile( sPath, bHeaderOnly, error, *it, bKeepTrying );
if( ret ) if( ret )
{ {
LOG->UserLog( "File \"%s\" is really %s", sPath.c_str(), it->c_str() ); LOG->UserLog( RageLog::LogType_GraphicFile, sPath, "is really %s", it->c_str() );
return ret; return ret;
} }
} }
+10 -11
View File
@@ -236,7 +236,7 @@ bool Song::LoadFromSongDir( RString sDir )
} }
else else
{ {
LOG->UserLog( "Couldn't find any SM, DWI, BMS, or KSF files in '%s'.", sDir.c_str() ); LOG->UserLog( RageLog::LogType_Song, sDir, "has no SM, DWI, BMS, or KSF files." );
vector<RString> vs; vector<RString> vs;
GetDirListing( sDir + "*.mp3", vs, false, false ); GetDirListing( sDir + "*.mp3", vs, false, false );
@@ -245,7 +245,7 @@ bool Song::LoadFromSongDir( RString sDir )
if( !bHasMusic ) if( !bHasMusic )
{ {
LOG->UserLog( "No music file in this directory either. Ignoring this song directory." ); LOG->UserLog( RageLog::LogType_Song, sDir, "has no music file either. Ignoring this song directory." );
return false; return false;
} }
@@ -277,7 +277,7 @@ bool Song::LoadFromSongDir( RString sDir )
if( !m_bHasMusic ) if( !m_bHasMusic )
{ {
LOG->UserLog( "Song \"%s\" ignored (no music)", sDir.c_str() ); LOG->UserLog( RageLog::LogType_Song, sDir, "has no music; ignored." );
return false; // don't load this song return false; // don't load this song
} }
@@ -349,7 +349,7 @@ void Song::TidyUpData()
* (which have no music file, per se) but it's something of a hack. */ * (which have no music file, per se) but it's something of a hack. */
if( Sample == NULL && m_sMusicFile != "" ) if( Sample == NULL && m_sMusicFile != "" )
{ {
LOG->UserLog( "Error opening sound \"%s\": %s", GetMusicPath().c_str(), error.c_str() ); LOG->UserLog( RageLog::LogType_SoundFile, GetMusicPath(), "couldn't be opened: %s", error.c_str() );
/* Don't use this file. */ /* Don't use this file. */
m_sMusicFile = ""; m_sMusicFile = "";
@@ -366,19 +366,19 @@ void Song::TidyUpData()
} }
else if( m_fMusicLengthSeconds == 0 ) else if( m_fMusicLengthSeconds == 0 )
{ {
LOG->UserLog( "File \"%s\" is empty?", GetMusicPath().c_str() ); LOG->UserLog( RageLog::LogType_SoundFile, GetMusicPath(), "is empty." );
} }
} }
} }
else // ! HasMusic() else // ! HasMusic()
{ {
m_fMusicLengthSeconds = 100; // guess m_fMusicLengthSeconds = 100; // guess
LOG->UserLog( "Song \"%s\" has no music file; guessing at %f seconds", this->GetSongDir().c_str(), m_fMusicLengthSeconds ); LOG->UserLog( RageLog::LogType_Song, GetSongDir(), "has no music file; guessing at %f seconds", m_fMusicLengthSeconds );
} }
if( m_fMusicLengthSeconds < 0 ) if( m_fMusicLengthSeconds < 0 )
{ {
LOG->UserLog( "File %s has negative length? (%f)", GetMusicPath().c_str(), m_fMusicLengthSeconds ); LOG->UserLog( RageLog::LogType_SoundFile, GetMusicPath(), "has a negative length %f.", m_fMusicLengthSeconds );
m_fMusicLengthSeconds = 0; m_fMusicLengthSeconds = 0;
} }
@@ -403,8 +403,7 @@ void Song::TidyUpData()
if( m_Timing.m_BPMSegments.empty() ) if( m_Timing.m_BPMSegments.empty() )
{ {
LOG->UserLog( "No BPM segments specified in '%s%s', default provided.", LOG->UserLog( RageLog::LogType_SongFile, m_sSongDir + m_sSongFileName, "hs no BPM segments, default provided." );
m_sSongDir.c_str(), m_sSongFileName.c_str() );
m_Timing.AddBPMSegment( BPMSegment(0, 60) ); m_Timing.AddBPMSegment( BPMSegment(0, 60) );
} }
@@ -527,7 +526,7 @@ void Song::TidyUpData()
RageSurface *img = RageSurfaceUtils::LoadFile( sPath, error, true ); RageSurface *img = RageSurfaceUtils::LoadFile( sPath, error, true );
if( !img ) if( !img )
{ {
LOG->UserLog( "Couldn't load '%s': %s", sPath.c_str(), error.c_str() ); LOG->UserLog( RageLog::LogType_GraphicFile, sPath, "couldn't be loaded: %s", error.c_str() );
continue; continue;
} }
@@ -739,7 +738,7 @@ void Song::Save()
if( !FileCopy( sOldPath, sNewPath ) ) if( !FileCopy( sOldPath, sNewPath ) )
{ {
LOG->UserLog( "Backup of \"%s\" failed", sOldPath.c_str() ); LOG->UserLog( RageLog::LogType_SongFile, sOldPath, "couldn't be backed up." );
/* Don't remove. */ /* Don't remove. */
} }
else else