From 5aad0930d1ddd63d9021d833a9379b4a01bd8414 Mon Sep 17 00:00:00 2001 From: Gabriel Pérez-Cerezo Date: Sat, 10 Oct 2020 23:28:42 +0200 Subject: Squashed 'advtrains/' content from commit 3256c27 git-subtree-dir: advtrains git-subtree-split: 3256c2778d626548541bcdfabf3026f781a2287c --- advtrains_line_automation/init.lua | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 advtrains_line_automation/init.lua (limited to 'advtrains_line_automation/init.lua') diff --git a/advtrains_line_automation/init.lua b/advtrains_line_automation/init.lua new file mode 100644 index 0000000..7b758bc --- /dev/null +++ b/advtrains_line_automation/init.lua @@ -0,0 +1,47 @@ +-- Advtrains line automation system + +advtrains.lines = { + -- [station code] = {name=..., owner=...} + stations = {}, + + --[[ [new pos hash] = { + stn = , + track = , + doors = + wait = + reverse = + signal = + }]] + stops = {}, +} + + +local modpath = minetest.get_modpath(minetest.get_current_modname()) .. DIR_DELIM + +dofile(modpath.."railwaytime.lua") +dofile(modpath.."scheduler.lua") +dofile(modpath.."stoprail.lua") + + +function advtrains.lines.load(data) + if data then + advtrains.lines.stations = data.stations or {} + advtrains.lines.stops = data.stops or {} + advtrains.lines.rwt.set_time(data.rwt_time) + advtrains.lines.sched.load(data.scheduler_queue) + end +end + +function advtrains.lines.save() + return { + stations = advtrains.lines.stations, + stops = advtrains.lines.stops, + rwt_time = advtrains.lines.rwt.get_time(), + scheduler_queue = advtrains.lines.sched.save() + } +end + +function advtrains.lines.step(dtime) + advtrains.lines.rwt.step(dtime) + advtrains.lines.sched.run() +end -- cgit v1.2.3