summaryrefslogtreecommitdiffstatshomepage
path: root/plugins/boot.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/boot.lua')
-rw-r--r--plugins/boot.lua28
1 files changed, 6 insertions, 22 deletions
diff --git a/plugins/boot.lua b/plugins/boot.lua
index 5ed1ac803ad..98eb14baa86 100644
--- a/plugins/boot.lua
+++ b/plugins/boot.lua
@@ -26,27 +26,11 @@ local dir = lfs.env_replace(manager:options().entries.pluginspath:value())
package.path = dir .. "/?.lua;" .. dir .. "/?/init.lua"
-local json = require('json')
-local function readAll(file)
- local f = io.open(file, "rb")
- local content = f:read("*all")
- f:close()
- return content
-end
-
-for file in lfs.dir(dir) do
- if (file~="." and file~=".." and lfs.attributes(dir .. "/" .. file,"mode")=="directory") then
- local filename = dir .. "/" .. file .. "/plugin.json"
- local meta = json.parse(readAll(filename))
- if (meta["plugin"]["type"]=="plugin") and (mame_manager:plugins().entries[meta["plugin"]["name"]]~=nil) then
- local entry = mame_manager:plugins().entries[meta["plugin"]["name"]]
- if (entry:value()==true) then
- emu.print_verbose("Starting plugin " .. meta["plugin"]["name"] .. "...")
- plugin = require(meta["plugin"]["name"])
- if plugin.set_folder~=nil then plugin.set_folder(dir .. "/" .. file) end
- plugin.startplugin();
- end
- end
+for _,entry in pairs(manager:plugins()) do
+ if (entry.type == "plugin" and entry.start) then
+ emu.print_verbose("Starting plugin " .. entry.name .. "...")
+ plugin = require(entry.name)
+ if plugin.set_folder~=nil then plugin.set_folder(entry.directory) end
+ plugin.startplugin();
end
end
-