aboutsummaryrefslogtreecommitdiff
path: root/assets
Commit message (Collapse)AuthorAge
* Update interlocking manualorwell962019-01-15
|
* Signs (static signals)orwell962018-12-08
|
* Shunt signals (not exactly Ks), along with fixes in other components that ↵orwell962018-12-08
| | | | those rely on
* Complete Ks Main signalsorwell962018-10-26
|
* Actually allow what manual promises (setting IP on non-assigned signals)orwell962018-10-17
|
* Update manual againorwell962018-10-15
|
* Improve route programming:orwell962018-10-07
| | | | | | | - Formspec for TCBs instead of unhandy chatcommands - Ability to advance route over the next secction without punching end - Better visualization - Ability to route into dead-end sections
* Add interlocking guide/manual, silence debug outputsorwell962018-09-14
|
* Interlocking: Create demo signals, signal API and model for TCB configurer nodeorwell962018-06-19
|
* Create models for Ks signalsorwell962018-06-14
| | | | Degrotate doesn't work for meshes (why?), so all I've done was pretty useless...
* Add Andrew's Crossorwell962017-04-27
|
* Redo rail modelsorwell962017-03-12
| | | | Use multiple textures for slope objects, include mbb's rail textures and make curves and switches look better. Also add cable template.
* Update manual and include everything in repoorwell962017-03-09
|
* Remove blend1 files cluttering the assets directoryorwell962017-03-08
|
* Add ceiling-mounted signalorwell962017-02-28
| | | | This is the wall signal as ceiling variant. Because the trackdb can only save 4 rotation values, we need a ceiling version of this.
* add wallmounted light signalorwell962017-02-03
|
* Create new models and textures for japanese trainorwell962017-01-24
|
* Update manualorwell962017-01-18
|
* Add detailed steam engine contributed by mbb and Krokoschlangeorwell962017-01-17
|
* Add animation for steam engineorwell962017-01-17
| | | | I needed to completely rewrite the animation because irrlicht couldn't handle the animation NathanS created.
* Model, animate, texture and integrate new subway wagonorwell962017-01-17
| | | | engine follows!
* Download recent contributions and put them into the assets directoryorwell962017-01-17
|
* Add fancy passenger wagonorwell962017-01-06
|
* Restructure mod directoryorwell962017-01-04
pan class="hl kwa">then --check valid data type if not valid_dt[type(o)] then return nil end return o end -- Contains table -> true/nil of currently nested tables nested = nested or {} if nested[o] then return nil end nested[o] = true for k, v in pairs(o) do v = atlatc.remove_invalid_data(v, nested) end nested[o] = nil return o end local env_proto={ load = function(self, envname, data) self.name=envname self.sdata=data.sdata and atlatc.remove_invalid_data(data.sdata) or {} self.fdata={} self.init_code=data.init_code or "" self.step_code=data.step_code or "" end, save = function(self) -- throw any function values out of the sdata table self.sdata = atlatc.remove_invalid_data(self.sdata) return {sdata = self.sdata, init_code=self.init_code, step_code=self.step_code} end, } --Environment --Code modified from mesecons_luacontroller (credit goes to Jeija and mesecons contributors) local safe_globals = { "assert", "error", "ipairs", "next", "pairs", "select", "tonumber", "tostring", "type", "unpack", "_VERSION" } --print is actually minetest.chat_send_all() --using advtrains.print_concat_table because it's cool local function safe_print(t, ...) local str=advtrains.print_concat_table({t, ...}) minetest.log("action", "[atlatc] "..str) minetest.chat_send_all(str) end local function safe_date() return(os.date("*t",os.time())) end -- string.rep(str, n) with a high value for n can be used to DoS -- the server. Therefore, limit max. length of generated string. local function safe_string_rep(str, n) if #str * n > 2000 then debug.sethook() -- Clear hook error("string.rep: string length overflow", 2) end return string.rep(str, n) end -- string.find with a pattern can be used to DoS the server. -- Therefore, limit string.find to patternless matching. -- Note: Disabled security since there are enough security leaks and this would be unneccessary anyway to DoS the server local function safe_string_find(...) --if (select(4, ...)) ~= true then -- debug.sethook() -- Clear hook -- error("string.find: 'plain' (fourth parameter) must always be true for security reasons.") --end return string.find(...) end local mp=minetest.get_modpath("advtrains_luaautomation") local static_env = { --core LUA functions print = safe_print, string = { byte = string.byte, char = string.char, format = string.format, len = string.len, lower = string.lower, upper = string.upper, rep = safe_string_rep, reverse = string.reverse, sub = string.sub, find = safe_string_find, }, math = { abs = math.abs, acos = math.acos, asin = math.asin, atan = math.atan, atan2 = math.atan2, ceil = math.ceil, cos = math.cos, cosh = math.cosh, deg = math.deg, exp = math.exp, floor = math.floor, fmod = math.fmod, frexp = math.frexp, huge = math.huge, ldexp = math.ldexp, log = math.log, log10 = math.log10, max = math.max, min = math.min, modf = math.modf, pi = math.pi, pow = math.pow, rad = math.rad, random = math.random, sin = math.sin, sinh = math.sinh, sqrt = math.sqrt,