From e1bd0926cfb9f28662cd8355fe1df1e8e97fb627 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Sat, 22 Nov 2025 13:48:34 -0600 Subject: [PATCH] feat(ui): implement Script_PlayGlueMusic --- src/sound/SI2.cpp | 4 ++++ src/sound/SI2.hpp | 1 + src/ui/ScriptFunctionsGlueScriptEvents.cpp | 13 +++++++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/sound/SI2.cpp b/src/sound/SI2.cpp index 2435b06..0e02e40 100644 --- a/src/sound/SI2.cpp +++ b/src/sound/SI2.cpp @@ -534,3 +534,7 @@ void SI2::RegisterScriptFunctions() { ); } } + +void SI2::StartGlueMusic(const char* name) { + // TODO +} diff --git a/src/sound/SI2.hpp b/src/sound/SI2.hpp index 3d392f2..aa16593 100644 --- a/src/sound/SI2.hpp +++ b/src/sound/SI2.hpp @@ -26,6 +26,7 @@ class SI2 { static void PlayUISound(int32_t id); static void RegisterCVars(); static void RegisterScriptFunctions(); + static void StartGlueMusic(const char* name); }; #endif diff --git a/src/ui/ScriptFunctionsGlueScriptEvents.cpp b/src/ui/ScriptFunctionsGlueScriptEvents.cpp index e2b2d3a..26c2c1a 100644 --- a/src/ui/ScriptFunctionsGlueScriptEvents.cpp +++ b/src/ui/ScriptFunctionsGlueScriptEvents.cpp @@ -1,13 +1,14 @@ #include "ui/ScriptFunctions.hpp" #include "client/Client.hpp" #include "client/ClientServices.hpp" +#include "console/CVar.hpp" #include "db/Db.hpp" #include "glue/CGlueMgr.hpp" #include "gx/Coordinate.hpp" #include "net/connection/ClientConnection.hpp" +#include "sound/Interface.hpp" #include "ui/CSimpleTop.hpp" #include "ui/Types.hpp" -#include "console/CVar.hpp" #include "util/Lua.hpp" #include "util/SFile.hpp" #include "util/Unimplemented.hpp" @@ -102,7 +103,15 @@ int32_t Script_QuitGameAndRunLauncher(lua_State* L) { } int32_t Script_PlayGlueMusic(lua_State* L) { - WHOA_UNIMPLEMENTED(0); + if (!lua_isstring(L, 1)) { + return luaL_error(L, "Usage: PlayGlueMusic(\"filename\")"); + } + + auto name = lua_tostring(L, 1); + + SI2::StartGlueMusic(name); + + return 0; } int32_t Script_PlayCreditsMusic(lua_State* L) {