diff --git a/stepmania/src/Preference.cpp b/stepmania/src/Preference.cpp index 7dc30a470c..002b35a056 100644 --- a/stepmania/src/Preference.cpp +++ b/stepmania/src/Preference.cpp @@ -32,6 +32,14 @@ void IPreference::PushValue( lua_State *L ) const lua_pushnil( L ); } +void IPreference::SetFromStack( lua_State *L ) +{ + if( LOG ) + LOG->Trace( "The preference value \"%s\" is of a type not supported by Lua", m_sName.c_str() ); + + lua_pop( L, 1 ); +} + #define READFROM_AND_WRITETO( type ) \ void Preference::FromString( const CString &s ) \ { \ @@ -44,6 +52,10 @@ void IPreference::PushValue( lua_State *L ) const void Preference::PushValue( lua_State *L ) const \ { \ LuaManager::PushStack( m_currentValue, L ); \ + } \ + void Preference::SetFromStack( lua_State *L ) \ + { \ + LuaManager::PopStack( m_currentValue, L ); \ } READFROM_AND_WRITETO( int ) diff --git a/stepmania/src/Preference.h b/stepmania/src/Preference.h index 9eb2832f5e..3e40483a27 100644 --- a/stepmania/src/Preference.h +++ b/stepmania/src/Preference.h @@ -29,6 +29,7 @@ public: virtual CString ToString() const = 0; virtual void FromString( const CString &s ) = 0; + virtual void SetFromStack( lua_State *L ); virtual void PushValue( lua_State *L ) const; PrefsGroup GetPrefsGroup() const { return m_PrefsGroup; } @@ -59,6 +60,7 @@ public: CString ToString() const; void FromString( const CString &s ); + void SetFromStack( lua_State *L ); void PushValue( lua_State *L ) const; void LoadDefault()