Skip to content

Commit 4e92c89

Browse files
committed
feat(scripting/utils): GetPluginPath
1 parent 4d9ce5b commit 4e92c89

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

src/plugins/core/scripting.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -709,5 +709,6 @@ bool scripting_IsWindows();
709709
bool scripting_IsLinux();
710710
std::string scripting_GetOS();
711711
GCCSGameRules *scripting_GetCCSGameRules();
712+
std::string scripting_GetPluginPath(std::string plugin_name);
712713

713714
#endif

src/plugins/core/scripting/utils.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "../../../sdk/entity/CGameRules.h"
33
#include "../../../hooks/FuncHook.h"
44
#include "generated/classes.h"
5+
#include "../../PluginManager.h"
56

67
void Hook_CGameRules_Constructor(CGameRules *pThis);
78
CCSGameRules *gameRules = nullptr;
@@ -41,4 +42,12 @@ GCCSGameRules *scripting_GetCCSGameRules()
4142
}
4243

4344
return gameRulesPtr;
45+
}
46+
47+
std::string scripting_GetPluginPath(std::string plugin_name)
48+
{
49+
Plugin* plugin = g_pluginManager->FetchPlugin(plugin_name);
50+
if(!plugin) return "";
51+
52+
return string_format("addons/swiftly/plugins/%s", plugin->GetName().c_str());
4453
}

src/plugins/lua/scripting/utils.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
void SetupLuaUtils(LuaPlugin *plugin, lua_State *state)
44
{
55
luabridge::getGlobalNamespace(state)
6+
.addFunction("GetPluginPath", scripting_GetPluginPath)
67
.addFunction("GetTime", GetTime)
78
.addFunction("IsWindows", scripting_IsWindows)
89
.addFunction("IsLinux", scripting_IsLinux)

0 commit comments

Comments
 (0)