2012-03-31 05:40:54 -06:00
|
|
|
-- Common startup file for all dfhack plugins with lua support
|
2012-04-01 02:50:56 -06:00
|
|
|
-- The global dfhack table is already created by C++ init code.
|
2012-03-31 05:40:54 -06:00
|
|
|
|
2012-04-01 02:50:56 -06:00
|
|
|
function mkmodule(module,env)
|
|
|
|
local pkg = package.loaded[module]
|
|
|
|
if pkg == nil then
|
|
|
|
pkg = {}
|
|
|
|
else
|
|
|
|
if type(pkg) ~= 'table' then
|
|
|
|
error("Not a table in package.loaded["..module.."]")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
setmetatable(pkg, { __index = (env or _G) })
|
|
|
|
return pkg
|
|
|
|
end
|
|
|
|
|
|
|
|
function reload(module)
|
|
|
|
if type(package.loaded[module]) ~= 'table' then
|
|
|
|
error("Module not loaded: "..module)
|
|
|
|
end
|
|
|
|
local path,err = package.searchpath(module,package.path)
|
|
|
|
if not path then
|
|
|
|
error(err)
|
|
|
|
end
|
|
|
|
dofile(path)
|
|
|
|
end
|
|
|
|
|
|
|
|
-- Feed the table back to the require() mechanism.
|
2012-03-31 05:40:54 -06:00
|
|
|
return dfhack
|