From d0376e284a8ea93f3016001faba38068599a7047 Mon Sep 17 00:00:00 2001 From: ZipperQR Date: Wed, 6 May 2020 16:22:04 +0300 Subject: [PATCH] S_StopSoundByID Lua support --- src/lua_baselib.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 74938739c..da1f4e600 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -2458,6 +2458,21 @@ static int lib_sStopSound(lua_State *L) return 0; } +static int lib_sStopSoundByID(lua_State *L) +{ + void *origin = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ)); + //NOHUD + if (!origin) + return LUA_ErrInvalid(L, "mobj_t"); + + sfxenum_t sound_id = luaL_checkinteger(L, 2); + if (sound_id >= NUMSFX) + return luaL_error(L, "sfx %d out of range (0 - %d)", sound_id, NUMSFX-1); + + S_StopSoundByID(origin, sound_id); + return 0; +} + static int lib_sChangeMusic(lua_State *L) { #ifdef MUSICSLOT_COMPATIBILITY @@ -3253,6 +3268,7 @@ static luaL_Reg lib[] = { {"S_StartSound",lib_sStartSound}, {"S_StartSoundAtVolume",lib_sStartSoundAtVolume}, {"S_StopSound",lib_sStopSound}, + {"S_StopSoundByID",lib_sStopSoundByID}, {"S_ChangeMusic",lib_sChangeMusic}, {"S_SpeedMusic",lib_sSpeedMusic}, {"S_StopMusic",lib_sStopMusic},