From 2c4af751d2ae87e497dee2aa5da66b3389f2e9ac Mon Sep 17 00:00:00 2001 From: mazmazz Date: Sun, 25 Feb 2018 22:27:36 -0500 Subject: [PATCH] Lua: Added player_t input to S_DigitalPlaying, S_MidiPlaying, S_MusicPlaying, S_MusicPaused, S_MusicName --- src/lua_baselib.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index e67c6dd9b..5c825cec1 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -2347,6 +2347,8 @@ static int lib_sDigitalPlaying(lua_State *L) } if (!player || P_IsLocalPlayer(player)) lua_pushboolean(L, !S_MIDIPlaying() && S_MusicPlaying()); + else + lua_pushnil(L); return 1; } @@ -2362,6 +2364,8 @@ static int lib_sMidiPlaying(lua_State *L) } if (!player || P_IsLocalPlayer(player)) lua_pushboolean(L, S_MIDIPlaying()); + else + lua_pushnil(L); return 1; } @@ -2377,6 +2381,8 @@ static int lib_sMusicPlaying(lua_State *L) } if (!player || P_IsLocalPlayer(player)) lua_pushboolean(L, S_MusicPlaying()); + else + lua_pushnil(L); return 1; } @@ -2392,13 +2398,25 @@ static int lib_sMusicPaused(lua_State *L) } if (!player || P_IsLocalPlayer(player)) lua_pushboolean(L, S_MusicPaused()); + else + lua_pushnil(L); return 1; } static int lib_sMusicName(lua_State *L) { + player_t *player = NULL; NOHUD - lua_pushstring(L, S_MusicName()); + if (!lua_isnone(L, 1) && lua_isuserdata(L, 1)) + { + player = *((player_t **)luaL_checkudata(L, 1, META_PLAYER)); + if (!player) + return LUA_ErrInvalid(L, "player_t"); + } + if (!player || P_IsLocalPlayer(player)) + lua_pushstring(L, S_MusicName()); + else + lua_pushnil(L); return 1; }