simplify LuaXType

This commit is contained in:
Glenn Maynard
2006-09-26 07:13:54 +00:00
parent 444dd8afbb
commit 600fdfea63
8 changed files with 16 additions and 16 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ static const char *CourseTypeNames[] = {
}; };
XToString( CourseType, NUM_CourseType ); XToString( CourseType, NUM_CourseType );
XToLocalizedString( CourseType ); XToLocalizedString( CourseType );
LuaXType( CourseType, NUM_CourseType, "CourseType_" ); LuaXType( CourseType );
LuaFunction( CourseTypeToLocalizedString, CourseTypeToLocalizedString( Enum::Check<CourseType>( L, 1 ) ) ); LuaFunction( CourseTypeToLocalizedString, CourseTypeToLocalizedString( Enum::Check<CourseType>( L, 1 ) ) );
+1 -1
View File
@@ -17,7 +17,7 @@ static const char *DifficultyNames[] = {
}; };
XToString( Difficulty, NUM_Difficulty ); XToString( Difficulty, NUM_Difficulty );
XToLocalizedString( Difficulty ); XToLocalizedString( Difficulty );
LuaXType( Difficulty, NUM_Difficulty , "Difficulty_" ); LuaXType( Difficulty );
LuaFunction( DifficultyToLocalizedString, DifficultyToLocalizedString( Enum::Check<Difficulty>(L, 1)) ); LuaFunction( DifficultyToLocalizedString, DifficultyToLocalizedString( Enum::Check<Difficulty>(L, 1)) );
+6 -6
View File
@@ -134,16 +134,16 @@ static const RString EMPTY_STRING;
namespace LuaHelpers { bool FromStack( lua_State *L, X &Object, int iOffset ); } \ namespace LuaHelpers { bool FromStack( lua_State *L, X &Object, int iOffset ); } \
namespace LuaHelpers { void Push( const X &Object, lua_State *L ); } namespace LuaHelpers { void Push( const X &Object, lua_State *L ); }
#define LuaXType(X, CNT, Prefix) \ #define LuaXType(X) \
static void Lua##X(lua_State* L) \ static void Lua##X(lua_State* L) \
{ \ { \
EnumTraits<X>::Invalid = enum_add2( CNT, 1 ); \ EnumTraits<X>::Invalid = enum_add2( NUM_##X, 1 ); \
/* Create the EnumToString table: { "UnlockEntry_ArcadePoints", "UnlockEntry_DancePoints" } */ \ /* Create the EnumToString table: { "UnlockEntry_ArcadePoints", "UnlockEntry_DancePoints" } */ \
lua_newtable( L ); \ lua_newtable( L ); \
FOREACH_ENUM( X, CNT, i ) \ FOREACH_ENUM( X, NUM_##X, i ) \
{ \ { \
RString s = X##Names[i]; \ RString s = X##Names[i]; \
lua_pushstring( L, Prefix+s ); \ lua_pushstring( L, (#X "_")+s ); \
lua_rawseti( L, -2, i+1 ); /* 1-based */ \ lua_rawseti( L, -2, i+1 ); /* 1-based */ \
} \ } \
EnumTraits<X>::EnumToString.SetFromStack( L ); \ EnumTraits<X>::EnumToString.SetFromStack( L ); \
@@ -151,10 +151,10 @@ static void Lua##X(lua_State* L) \
lua_setglobal( L, #X ); \ lua_setglobal( L, #X ); \
/* Create the StringToEnum table: { "UnlockEntry_ArcadePoints" = 0, "UnlockEntry_DancePoints" = 1 } */ \ /* Create the StringToEnum table: { "UnlockEntry_ArcadePoints" = 0, "UnlockEntry_DancePoints" = 1 } */ \
lua_newtable( L ); \ lua_newtable( L ); \
FOREACH_ENUM( X, CNT, i ) \ FOREACH_ENUM( X, NUM_##X, i ) \
{ \ { \
RString s = X##Names[i]; \ RString s = X##Names[i]; \
lua_pushstring( L, Prefix+s ); \ lua_pushstring( L, (#X "_")+s ); \
lua_pushnumber( L, i ); /* 0-based */ \ lua_pushnumber( L, i ); /* 0-based */ \
lua_rawset( L, -3 ); \ lua_rawset( L, -3 ); \
} \ } \
+4 -4
View File
@@ -69,7 +69,7 @@ XToString( PlayMode, NUM_PlayMode );
XToLocalizedString( PlayMode ); XToLocalizedString( PlayMode );
StringToX( PlayMode ); StringToX( PlayMode );
LuaFunction( PlayModeToLocalizedString, PlayModeToLocalizedString((PlayMode) IArg(1)) ); LuaFunction( PlayModeToLocalizedString, PlayModeToLocalizedString((PlayMode) IArg(1)) );
LuaXType( PlayMode, NUM_PlayMode, "PlayMode_" ) LuaXType( PlayMode );
RankingCategory AverageMeterToRankingCategory( int iAverageMeter ) RankingCategory AverageMeterToRankingCategory( int iAverageMeter )
{ {
@@ -193,7 +193,7 @@ static const char *TapNoteScoreNames[] = {
"W1", "W1",
}; };
XToString( TapNoteScore, NUM_TapNoteScore ); XToString( TapNoteScore, NUM_TapNoteScore );
LuaXType( TapNoteScore, NUM_TapNoteScore, "TapNoteScore_" ); LuaXType( TapNoteScore );
TapNoteScore StringToTapNoteScore( const RString &s ) TapNoteScore StringToTapNoteScore( const RString &s )
{ {
// new style // new style
@@ -403,7 +403,7 @@ static const char *EditModeNames[] = {
}; };
XToString( EditMode, NUM_EditMode ); XToString( EditMode, NUM_EditMode );
StringToX( EditMode ); StringToX( EditMode );
LuaXType( EditMode, NUM_EditMode, "EditMode_" ); LuaXType( EditMode );
static const char *StageNames[] = { static const char *StageNames[] = {
"1", "1",
@@ -422,7 +422,7 @@ static const char *StageNames[] = {
"Demo", "Demo",
}; };
XToString( Stage, NUM_Stage ); XToString( Stage, NUM_Stage );
LuaXType( Stage, NUM_Stage, "Stage_" ); LuaXType( Stage );
static const char *MultiPlayerStatusNames[] = { static const char *MultiPlayerStatusNames[] = {
+1 -1
View File
@@ -30,7 +30,7 @@ static const char *GradeNames[] = {
"Tier20", "Tier20",
"Failed", "Failed",
}; };
LuaXType( Grade, NUM_Grade, "Grade_" ); LuaXType( Grade );
RString GradeToLocalizedString( Grade g ) RString GradeToLocalizedString( Grade g )
{ {
+1 -1
View File
@@ -8,7 +8,7 @@ static const char *ModsLevelNames[] = {
"Stage", "Stage",
"Song", "Song",
}; };
LuaXType( ModsLevel, NUM_ModsLevel, "ModsLevel_" ) LuaXType( ModsLevel );
/* /*
* (c) 2006 Steve Checkoway * (c) 2006 Steve Checkoway
+1 -1
View File
@@ -29,7 +29,7 @@ static const char *NoteTypeNames[] = {
"192nd", "192nd",
}; };
XToString( NoteType, NUM_NoteType ); XToString( NoteType, NUM_NoteType );
LuaXType( NoteType, NUM_NoteType, "NoteType_" ) LuaXType( NoteType )
XToLocalizedString( NoteType ); XToLocalizedString( NoteType );
float NoteTypeToBeat( NoteType nt ) float NoteTypeToBeat( NoteType nt )
+1 -1
View File
@@ -36,7 +36,7 @@ static const char *UnlockRequirementNames[] =
}; };
XToString( UnlockRequirement, NUM_UnlockRequirement ); XToString( UnlockRequirement, NUM_UnlockRequirement );
StringToX( UnlockRequirement ); StringToX( UnlockRequirement );
LuaXType( UnlockRequirement, NUM_UnlockRequirement, "UnlockRequirement_" ); LuaXType( UnlockRequirement );
static const char *UnlockRewardTypeNames[] = static const char *UnlockRewardTypeNames[] =
{ {