diff options
author | gpcf <gpcf@gpcf.eu> | 2024-04-21 18:52:15 +0200 |
---|---|---|
committer | gpcf <gpcf@gpcf.eu> | 2024-04-21 18:52:15 +0200 |
commit | d948b1e901b38bf515d39e1a28402a45f91bdef1 (patch) | |
tree | 27a320e1150743be795a24c7fb5e73fd3aadf193 | |
download | advtrains_gitexporter-d948b1e901b38bf515d39e1a28402a45f91bdef1.tar.gz advtrains_gitexporter-d948b1e901b38bf515d39e1a28402a45f91bdef1.tar.bz2 advtrains_gitexporter-d948b1e901b38bf515d39e1a28402a45f91bdef1.zip |
first working commit
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | gitexporter.lua | 44 | ||||
m--------- | serialize_lib | 0 |
3 files changed, 47 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..1f4cfc1 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "serialize_lib"] + path = serialize_lib + url = https://git.bananach.space/serialize_lib.git/ diff --git a/gitexporter.lua b/gitexporter.lua new file mode 100644 index 0000000..013704b --- /dev/null +++ b/gitexporter.lua @@ -0,0 +1,44 @@ +-- advtrains to git exporter + +require "lfs" + +minetest = {} -- hack around serializelib +minetest.get_modpath = function () return "serialize_lib" end +minetest.log = function() end +minetest.get_current_modname = function() end +base_path = "envs" + +function ensure_dir(path) + if not (lfs.attributes(path, "mode") == "directory") then + lfs.mkdir(path) + end +end +function env_path(env) + return base_path.."/"..env +end + +function node_file(env, pos) + base = env_path(env).."/nodes" + ensure_dir(base) + return base.."/"..pos..".lua" +end + +dofile("serialize_lib/init.lua") + +tb = serialize_lib.read_table_from_file("advtrains_atlatc.ls") + + +ensure_dir(base_path) +for env, data in pairs(tb.envs) do + pth = env_path(env) + ensure_dir(pth) + f = io.open(pth.."/init_code.lua", "w") + f:write(data.init_code) +end + +for k, j in pairs(tb.active.nodes) do + f = io.open(node_file(j.env,k), "w") + if f then + f:write(j.code or "") + end +end diff --git a/serialize_lib b/serialize_lib new file mode 160000 +Subproject d4593491efbcab47efd918d7918b97b4621828b |