move CourseDifficulty names into the course loader/writer; they're

retained there for compatibility but not used anywhere else
This commit is contained in:
Glenn Maynard
2006-10-07 23:12:40 +00:00
parent 4ccea4e87b
commit 3709ae28fc
4 changed files with 27 additions and 28 deletions
+20 -1
View File
@@ -17,6 +17,25 @@
const int MAX_EDIT_COURSE_SIZE_BYTES = 30*1024; // 30KB
const char *g_CRSDifficultyNames[] =
{
"Beginner",
"Easy",
"Regular",
"Difficult",
"Challenge",
"Edit",
};
static CourseDifficulty CRSStringToDifficulty( const RString& s )
{
FOREACH_Difficulty(i)
if( !s.CompareNoCase(g_CRSDifficultyNames[i]) )
return i;
return Difficulty_Invalid;
}
bool CourseLoaderCRS::LoadFromBuffer( const RString &sPath, const RString &sBuffer, Course &out )
{
MsdFile msd;
@@ -72,7 +91,7 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
}
else if( sParams.params.size() == 3 )
{
const CourseDifficulty cd = StringToCourseDifficulty( sParams[1] );
const CourseDifficulty cd = CRSStringToDifficulty( sParams[1] );
if( cd == Difficulty_Invalid )
{
LOG->UserLog( "Course file", sPath, "contains an invalid #METER string: \"%s\"", sParams[1].c_str() );
+7 -1
View File
@@ -7,6 +7,12 @@
#include "song.h"
#include "RageFileDriverMemory.h"
extern const char *g_CRSDifficultyNames[]; // in CourseLoaderCRS
static RString DifficultyToCRSString( CourseDifficulty iVal )
{
return g_CRSDifficultyNames[iVal];
}
bool CourseWriterCRS::Write( const Course &course, const RString &sPath, bool bSavingCache )
{
@@ -43,7 +49,7 @@ bool CourseWriterCRS::Write( const Course &course, RageFileBasic &f, bool bSavin
{
if( course.m_iCustomMeter[cd] == -1 )
continue;
f.PutLine( ssprintf("#METER:%s:%i;", CourseDifficultyToString(cd).c_str(), course.m_iCustomMeter[cd]) );
f.PutLine( ssprintf("#METER:%s:%i;", DifficultyToCRSString(cd).c_str(), course.m_iCustomMeter[cd]) );
}
if( bSavingCache )
-24
View File
@@ -47,20 +47,6 @@ Difficulty StringToDifficulty( const RString& sDC )
else return Difficulty_Invalid;
}
static const char *CourseDifficultyNames[] =
{
"Beginner",
"Easy",
"Regular",
"Difficult",
"Challenge",
"Edit",
};
const RString& CourseDifficultyToString( CourseDifficulty x )
{
static auto_ptr<RString> as_CourseDifficultyName[NUM_CourseDifficulty+2];
return EnumToString( x, NUM_CourseDifficulty, CourseDifficultyNames, as_CourseDifficultyName );
}
const RString &CourseDifficultyToLocalizedString( CourseDifficulty x )
{
@@ -76,16 +62,6 @@ const RString &CourseDifficultyToLocalizedString( CourseDifficulty x )
return g_CourseDifficultyName[x]->GetValue();
}
CourseDifficulty StringToCourseDifficulty( const RString& s )
{
RString s2 = s;
s2.MakeLower();
for( unsigned i = 0; i < ARRAYLEN(CourseDifficultyNames); ++i )
if( !s2.CompareNoCase(CourseDifficultyNames[i]) )
return (CourseDifficulty)i;
return CourseDifficulty_Invalid;
}
LuaFunction( CourseDifficultyToLocalizedString, CourseDifficultyToLocalizedString(Enum::Check<Difficulty>(L, 1)) );
CourseDifficulty GetNextShownCourseDifficulty( CourseDifficulty cd )
-2
View File
@@ -30,9 +30,7 @@ typedef Difficulty CourseDifficulty;
#define FOREACH_CourseDifficulty FOREACH_Difficulty
#define FOREACH_ShownCourseDifficulty( cd ) for( Difficulty cd=GetNextShownCourseDifficulty((CourseDifficulty)-1); cd!=Difficulty_Invalid; cd=GetNextShownCourseDifficulty(cd) )
const RString& CourseDifficultyToString( Difficulty dc );
const RString& CourseDifficultyToLocalizedString( Difficulty dc );
Difficulty StringToCourseDifficulty( const RString& sDC );
Difficulty GetNextShownCourseDifficulty( Difficulty pn );