From 4c97ff64a067269b651d20b35b311bb3f30c76c0 Mon Sep 17 00:00:00 2001 From: Kyzentun Date: Sat, 19 Jul 2014 15:20:02 -0600 Subject: [PATCH] Changed CheckEnum to use lua_isnoneornil so that enum args can be made properly optional. Changed PlayMusicPart to allow nil for optional args so optional args would be independent. --- src/EnumHelper.cpp | 4 +--- src/GameSoundManager.cpp | 36 ++++++++++++++++++------------------ 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/src/EnumHelper.cpp b/src/EnumHelper.cpp index 921a92a935..3391002ce4 100644 --- a/src/EnumHelper.cpp +++ b/src/EnumHelper.cpp @@ -6,9 +6,7 @@ int CheckEnum( lua_State *L, LuaReference &table, int iPos, int iInvalid, const char *szType, bool bAllowInvalid, bool bAllowAnything ) { - luaL_checkany( L, iPos ); - - if( lua_isnil(L, iPos) ) + if( lua_isnoneornil(L, iPos) ) { if( bAllowInvalid ) return iInvalid; diff --git a/src/GameSoundManager.cpp b/src/GameSoundManager.cpp index c9c1f33ab9..d577b8884d 100644 --- a/src/GameSoundManager.cpp +++ b/src/GameSoundManager.cpp @@ -728,7 +728,7 @@ void GameSoundManager::PlayMusic( PlayMusicParams params, PlayMusicParams Fallba ToPlay.fFadeInLengthSeconds = params.fFadeInLengthSeconds; ToPlay.fFadeOutLengthSeconds = params.fFadeOutLengthSeconds; ToPlay.bAlignBeat = params.bAlignBeat; - ToPlay.bApplyMusicRate = params.bApplyMusicRate; +x ToPlay.bApplyMusicRate = params.bApplyMusicRate; /* Add the MusicToPlay to the g_MusicsToPlay queue. */ g_Mutex->Lock(); @@ -835,25 +835,25 @@ public: bool loop= false; bool applyRate= false; bool alignBeat= true; - if (lua_gettop(L) >= 4 && !lua_isnil(L,4)) + if(!lua_isnoneornil(L, 4)) { fadeIn = FArg(4); - if (lua_gettop(L) >= 5 && !lua_isnil(L,5)) - { - fadeOut = FArg(5); - if (lua_gettop(L) >= 6 && !lua_isnil(L,6)) - { - loop = BArg(6); - if (lua_gettop(L) >= 7 && !lua_isnil(L,7)) - { - applyRate = BArg(7); - if (lua_gettop(L) >= 8 && !lua_isnil(L,8)) - { - alignBeat = BArg(8); - } - } - } - } + } + if(!lua_isnoneornil(L, 5)) + { + fadeOut = FArg(5); + } + if(!lua_isnoneornil(L, 6)) + { + loop = BArg(6); + } + if(!lua_isnoneornil(L, 7)) + { + applyRate = BArg(7); + } + if(!lua_isnoneornil(L, 8)) + { + alignBeat = BArg(8); } p->PlayMusic(musicPath, NULL, loop, musicStart, musicLength, fadeIn, fadeOut, alignBeat, applyRate);