diff options
author | Gabriel Pérez-Cerezo <gabriel@gpcf.eu> | 2020-10-10 23:28:42 +0200 |
---|---|---|
committer | Gabriel Pérez-Cerezo <gabriel@gpcf.eu> | 2020-10-10 23:28:42 +0200 |
commit | 5aad0930d1ddd63d9021d833a9379b4a01bd8414 (patch) | |
tree | 8fac88986a2cd4f00ed6b1855dd1dafa08c09662 /advtrains_line_automation/init.lua | |
download | forks-modpack-5aad0930d1ddd63d9021d833a9379b4a01bd8414.tar.gz forks-modpack-5aad0930d1ddd63d9021d833a9379b4a01bd8414.tar.bz2 forks-modpack-5aad0930d1ddd63d9021d833a9379b4a01bd8414.zip |
Squashed 'advtrains/' content from commit 3256c27
git-subtree-dir: advtrains
git-subtree-split: 3256c2778d626548541bcdfabf3026f781a2287c
Diffstat (limited to 'advtrains_line_automation/init.lua')
-rw-r--r-- | advtrains_line_automation/init.lua | 47 |
1 files changed, 47 insertions, 0 deletions
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 = <station code>, + track = <platform identifier>, + doors = <door side L,R,C> + wait = <least wait time> + reverse = <boolean> + signal = <position of signal that is the "exit signal" for this platform> + }]] + 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 |