aboutsummaryrefslogtreecommitdiff
path: root/.dir-locals.el
diff options
context:
space:
mode:
Diffstat (limited to '.dir-locals.el')
0 files changed, 0 insertions, 0 deletions
a id='n47' href='#n47'>47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
-- 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

-- Initialize internationalization (using ywang's poconvert)
advtrains.poconvert.from_flat("advtrains_line_automation")
-- ask engine for translator instance, this will load the translation files
advtrains.lines.translate = core.get_translator("advtrains_line_automation")

-- Get current translator
local S = advtrains.lines.translate

dofile(modpath.."ch_functions.lua")
dofile(modpath.."railwaytime.lua")
dofile(modpath.."line_functions.lua")
dofile(modpath.."line_editor.lua")
dofile(modpath.."scheduler.lua")
dofile(modpath.."station_editor.lua")
dofile(modpath.."stoprail.lua")
dofile(modpath.."station_announcement.lua")
dofile(modpath.."time_table.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