diff --git a/stepmania/Themes/default/Scripts/StageMods.lua b/stepmania/Themes/default/Scripts/StageMods.lua index 0250091806..bc326c90af 100644 --- a/stepmania/Themes/default/Scripts/StageMods.lua +++ b/stepmania/Themes/default/Scripts/StageMods.lua @@ -22,12 +22,12 @@ function ScreenSelectMusic:setupmusicstagemods() for dummy, pn in ipairs(GAMESTATE:GetHumanPlayers()) do GAMESTATE:SetCurrentSteps( pn, steps ) - GAMESTATE:GetPlayerState(pn):SetPlayerOptions( ModsLevel_Stage, po ) + GAMESTATE:GetPlayerState(pn):SetPlayerOptions( "ModsLevel_Stage", po ) GAMESTATE:SetPreferredDifficulty( pn, difficulty ) MESSAGEMAN:Broadcast( "PlayerOptionsChangedP" .. (pn+1) ) end - GAMESTATE:SetSongOptions( ModsLevel_Stage, so ) + GAMESTATE:SetSongOptions( "ModsLevel_Stage", so ) MESSAGEMAN:Broadcast( "SongOptionsChanged" ) end @@ -41,11 +41,11 @@ function ScreenSelectMusic:setupcoursestagemods() local so = "failimmediate" for dummy, pn in ipairs(GAMESTATE:GetHumanPlayers()) do - GAMESTATE:GetPlayerState(pn):SetPlayerOptions( ModsLevel_Stage, po ) + GAMESTATE:GetPlayerState(pn):SetPlayerOptions( "ModsLevel_Stage", po ) MESSAGEMAN:Broadcast( "PlayerOptionsChangedP" .. (pn+1) ) end - GAMESTATE:SetSongOptions( ModsLevel_Stage, so ) + GAMESTATE:SetSongOptions( "ModsLevel_Stage", so ) MESSAGEMAN:Broadcast( "SongOptionsChanged" ) end end diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index afbcd0be58..9b1c473ca9 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -2041,10 +2041,12 @@ public: } static int SetSongOptions( T* p, lua_State *L ) { + ModsLevel m = Enum::Check( L, 1 ); + SongOptions so; so.FromString( SArg(2) ); - p->m_SongOptions.Assign( ModsLevel(IArg(1)), so ); + p->m_SongOptions.Assign( m, so ); return 0; } static int GetCurrentStyle( T* p, lua_State *L ) diff --git a/stepmania/src/PlayerState.cpp b/stepmania/src/PlayerState.cpp index e7a7db2708..135c9f7db1 100644 --- a/stepmania/src/PlayerState.cpp +++ b/stepmania/src/PlayerState.cpp @@ -173,10 +173,11 @@ class LunaPlayerState: public Luna { static int SetPlayerOptions( T* p, lua_State *L ) { + ModsLevel m = Enum::Check( L, 1 ); + PlayerOptions po; - po.FromString( SArg(2) ); - p->m_PlayerOptions.Assign( ModsLevel(IArg(1)), po ); + p->m_PlayerOptions.Assign( m, po ); return 0; } public: