Remove ThemeMetricEnum. Since all metrics are evaluated as lua, use lua integer constants.
This commit is contained in:
@@ -133,7 +133,7 @@ private:
|
|||||||
ThemeMetric<apActorCommands> ROW_VALUE_ON_COMMAND;
|
ThemeMetric<apActorCommands> ROW_VALUE_ON_COMMAND;
|
||||||
ThemeMetric1D<float> ROW_Y;
|
ThemeMetric1D<float> ROW_Y;
|
||||||
public:
|
public:
|
||||||
ThemeMetricEnum<EditMode> EDIT_MODE;
|
ThemeMetric<int> EDIT_MODE;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -92,10 +92,7 @@ static const RString EMPTY_STRING;
|
|||||||
if( !s2.CompareNoCase(X##Names[i]) ) \
|
if( !s2.CompareNoCase(X##Names[i]) ) \
|
||||||
return (X)i; \
|
return (X)i; \
|
||||||
return (X)(i+1); /*invalid*/ \
|
return (X)(i+1); /*invalid*/ \
|
||||||
} \
|
}
|
||||||
template<> void StringTo<X>( const RString& s, X &out ) { out = StringTo##X( s ); }
|
|
||||||
// VC6 hack: even templated functions can't differ by only return value. Move return value to a reference parameter.
|
|
||||||
template<class T> void StringTo( const RString& s, T &out );
|
|
||||||
|
|
||||||
#define LuaXToString(X) \
|
#define LuaXToString(X) \
|
||||||
LuaFunction( X##ToString, X##ToString( (X) IArg(1) ) );
|
LuaFunction( X##ToString, X##ToString( (X) IArg(1) ) );
|
||||||
|
|||||||
@@ -216,10 +216,6 @@ TapNoteScore StringToTapNoteScore( const RString &s )
|
|||||||
|
|
||||||
return TNS_INVALID;
|
return TNS_INVALID;
|
||||||
}
|
}
|
||||||
template<> void StringTo<TapNoteScore>( const RString &s, TapNoteScore &out )
|
|
||||||
{
|
|
||||||
out = StringToTapNoteScore( s );
|
|
||||||
}
|
|
||||||
XToLocalizedString( TapNoteScore );
|
XToLocalizedString( TapNoteScore );
|
||||||
LuaFunction( TapNoteScoreToLocalizedString, TapNoteScoreToLocalizedString((TapNoteScore) IArg(1)) );
|
LuaFunction( TapNoteScoreToLocalizedString, TapNoteScoreToLocalizedString((TapNoteScore) IArg(1)) );
|
||||||
static void LuaTapNoteScores( lua_State* L )
|
static void LuaTapNoteScores( lua_State* L )
|
||||||
@@ -408,8 +404,9 @@ static const char *EditModeNames[] = {
|
|||||||
"Home",
|
"Home",
|
||||||
"Full"
|
"Full"
|
||||||
};
|
};
|
||||||
XToString( EditMode, EditMode_INVALID );
|
XToString( EditMode, NUM_EditMode );
|
||||||
StringToX( EditMode );
|
StringToX( EditMode );
|
||||||
|
LuaXType( EditMode, NUM_EditMode, "EditMode_", false );
|
||||||
|
|
||||||
static const char *StageNames[] = {
|
static const char *StageNames[] = {
|
||||||
"1",
|
"1",
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ Song* GameState::GetDefaultSong() const
|
|||||||
return sid.ToSong();
|
return sid.ToSong();
|
||||||
}
|
}
|
||||||
|
|
||||||
static const ThemeMetricEnum<Grade> GRADE_TIER_FOR_EXTRA_1 ("GameState","GradeTierForExtra1");
|
static const ThemeMetric<int> GRADE_TIER_FOR_EXTRA_1 ("GameState","GradeTierForExtra1");
|
||||||
static const ThemeMetricEnum<Grade> GRADE_TIER_FOR_EXTRA_2 ("GameState","GradeTierForExtra2");
|
static const ThemeMetric<int> GRADE_TIER_FOR_EXTRA_2 ("GameState","GradeTierForExtra2");
|
||||||
|
|
||||||
static DynamicThemeMetric<bool> ARE_STAGE_MODS_FORCED( "GameState","AreStageModsForced" );
|
static DynamicThemeMetric<bool> ARE_STAGE_MODS_FORCED( "GameState","AreStageModsForced" );
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ Grade StringToGrade( const RString &sGrade )
|
|||||||
LOG->Warn( "Invalid grade: %s", sGrade.c_str() );
|
LOG->Warn( "Invalid grade: %s", sGrade.c_str() );
|
||||||
return Grade_NoData;
|
return Grade_NoData;
|
||||||
};
|
};
|
||||||
template<> void StringTo<Grade>( const RString& s, Grade &out ) { out = StringToGrade( s ); }
|
|
||||||
|
|
||||||
static void LuaGrade(lua_State* L)
|
static void LuaGrade(lua_State* L)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ static ThemeMetric<float> DANGER_THRESHOLD ("LifeMeterBar","DangerThreshold");
|
|||||||
static ThemeMetric<int> NUM_CHAMBERS ("LifeMeterBar","NumChambers");
|
static ThemeMetric<int> NUM_CHAMBERS ("LifeMeterBar","NumChambers");
|
||||||
static ThemeMetric<int> NUM_STRIPS ("LifeMeterBar","NumStrips");
|
static ThemeMetric<int> NUM_STRIPS ("LifeMeterBar","NumStrips");
|
||||||
static ThemeMetric<float> INITIAL_VALUE ("LifeMeterBar","InitialValue");
|
static ThemeMetric<float> INITIAL_VALUE ("LifeMeterBar","InitialValue");
|
||||||
static ThemeMetricEnum<TapNoteScore> MIN_STAY_ALIVE( "LifeMeterBar","MinStayAlive" );
|
static ThemeMetric<int> MIN_STAY_ALIVE ("LifeMeterBar","MinStayAlive");
|
||||||
|
|
||||||
const float FAIL_THRESHOLD = 0;
|
const float FAIL_THRESHOLD = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -669,7 +669,7 @@ void ScreenEdit::Init()
|
|||||||
m_fBeatToReturnTo = 0;
|
m_fBeatToReturnTo = 0;
|
||||||
|
|
||||||
GAMESTATE->m_bGameplayLeadIn.Set( true );
|
GAMESTATE->m_bGameplayLeadIn.Set( true );
|
||||||
GAMESTATE->m_EditMode = EDIT_MODE.GetValue();
|
GAMESTATE->m_EditMode = (EditMode)EDIT_MODE.GetValue();
|
||||||
GAMESTATE->m_fSongBeat = 0;
|
GAMESTATE->m_fSongBeat = 0;
|
||||||
m_fTrailingBeat = GAMESTATE->m_fSongBeat;
|
m_fTrailingBeat = GAMESTATE->m_fSongBeat;
|
||||||
|
|
||||||
|
|||||||
@@ -272,7 +272,7 @@ protected:
|
|||||||
RageSound m_soundMusic;
|
RageSound m_soundMusic;
|
||||||
RageSound m_soundAssistTick;
|
RageSound m_soundAssistTick;
|
||||||
|
|
||||||
ThemeMetricEnum<EditMode> EDIT_MODE;
|
ThemeMetric<int> EDIT_MODE;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum MainMenuChoice
|
enum MainMenuChoice
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ void ScreenOptionsManageCourses::BeginScreen()
|
|||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
RageException::Throw( "ScreenOptionsManageCourses: Invalid edit mode: %s.",
|
RageException::Throw( "ScreenOptionsManageCourses: Invalid edit mode: %s.",
|
||||||
EditModeToString(EDIT_MODE.GetValue()).c_str() );
|
EditModeToString((EditMode)EDIT_MODE.GetValue()).c_str() );
|
||||||
case EditMode_Practice:
|
case EditMode_Practice:
|
||||||
case EditMode_Home:
|
case EditMode_Home:
|
||||||
// Strip out non-edits.
|
// Strip out non-edits.
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ private:
|
|||||||
Course *GetCourseWithFocus() const;
|
Course *GetCourseWithFocus() const;
|
||||||
|
|
||||||
vector<Course*> m_vpCourses;
|
vector<Course*> m_vpCourses;
|
||||||
ThemeMetricEnum<EditMode> EDIT_MODE;
|
ThemeMetric<int> EDIT_MODE;
|
||||||
ThemeMetric<RString> CREATE_NEW_SCREEN;
|
ThemeMetric<RString> CREATE_NEW_SCREEN;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -235,21 +235,6 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// VC 6 hack: even templated functions can't differ by only return value. Move return value to a reference parameter.
|
|
||||||
template<class T> void StringTo( const RString& s, T &out );
|
|
||||||
template<class T>
|
|
||||||
class ThemeMetricEnum : public ThemeMetric<RString>
|
|
||||||
{
|
|
||||||
T m_Value;
|
|
||||||
public:
|
|
||||||
ThemeMetricEnum() : ThemeMetric<RString>() {}
|
|
||||||
ThemeMetricEnum( const RString& sGroup, const RString& sName ) :
|
|
||||||
ThemeMetric<RString>( sGroup, sName ) {}
|
|
||||||
void Read() { ThemeMetric<RString>::Read(); StringTo<T>(m_currentValue,m_Value); }
|
|
||||||
const T &GetValue() const { ASSERT( !m_sName.empty() && m_bIsLoaded ); return m_Value; }
|
|
||||||
operator const T& () const { return GetValue(); }
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Like ThemeMetric, but allows evaluating Lua expressions each time. This is
|
* Like ThemeMetric, but allows evaluating Lua expressions each time. This is
|
||||||
|
|||||||
Reference in New Issue
Block a user