summaryrefslogtreecommitdiff
path: root/Crossroads
Commit message (Expand)AuthorAge
* State at 2026-08-10autocommitter2026-08-10
* State at 2026-08-09autocommitter2026-08-09
* State at 2026-06-11autocommitter2026-06-11
* State at 2026-06-01autocommitter2026-06-01
* State at 2025-09-19autocommitter2025-09-19
* State at 2025-03-28autocommitter2025-03-28
* State at 2025-03-27autocommitter2025-03-27
* State at 2025-02-13autocommitter2025-02-13
* State at 2025-02-11autocommitter2025-02-11
* State at 2025-02-10autocommitter2025-02-10
* State at 2025-02-09autocommitter2025-02-09
* State at 2025-02-08autocommitter2025-02-08
* State at 2025-02-07autocommitter2025-02-07
* State at 2025-02-01autocommitter2025-02-01
* State at 2025-01-31autocommitter2025-01-31
* State at 2024-10-15autocommitter2024-10-15
* State at 2024-10-15autocommitter2024-10-15
* State at 2024-04-06autocommitter2024-04-22
* State at 2024-02-26autocommitter2024-04-22
* State at 2024-02-25autocommitter2024-04-22
* State at 2024-01-30autocommitter2024-04-22
* State at 2024-01-04autocommitter2024-04-22
* State at 2023-12-26autocommitter2024-04-22
* State at 2023-12-18autocommitter2024-04-22
* State at 2023-12-15autocommitter2024-04-22
* State at 2023-11-28autocommitter2024-04-22
* State at 2023-11-27autocommitter2024-04-22
* State at 2023-11-26autocommitter2024-04-22
* State at 2023-11-23autocommitter2024-04-22
* State at 2023-11-22autocommitter2024-04-22
* State at 2023-11-21autocommitter2024-04-22
* State at 2023-11-20autocommitter2024-04-22
* State at 2023-11-16autocommitter2024-04-22
* State at 2023-11-12autocommitter2024-04-22
* State at 2023-11-10autocommitter2024-04-22
* State at 2023-11-08autocommitter2024-04-22
* State at 2023-11-07autocommitter2024-04-22
* State at 2023-11-06autocommitter2024-04-22
* State at 2023-10-31autocommitter2024-04-22
* State at 2023-10-30autocommitter2024-04-22
* State at 2023-10-08autocommitter2024-04-22
* State at 2023-09-09autocommitter2024-04-22
* State at 2023-04-13autocommitter2024-04-22
* State at 2023-03-26autocommitter2024-04-22
* State at 2022-03-01autocommitter2024-04-22
* State at 2022-02-24autocommitter2024-04-22
* State at 2022-02-14autocommitter2024-04-22
* State at 2022-02-04autocommitter2024-04-22
* State at 2022-01-23autocommitter2024-04-22
* State at 2022-01-22autocommitter2024-04-22
span class="hl opt">] c_lckp = {} itab(""..i.." Entry "..sigd_to_string(c_sigd).." -> Sec. "..(c_ts and c_ts.name or "-").." -> Exit "..(c_rseg.next and sigd_to_string(c_rseg.next) or "END")) if c_rseg.locks then for pts, state in pairs(c_rseg.locks) do local pos = minetest.string_to_pos(pts) itab(" Lock: "..pts.." -> "..state) if not advtrains.is_passive(pos) then itab("-!- No passive component at "..pts..". Please reconfigure route!") break end end end -- advance c_sigd = c_rseg.next i = i + 1 end if c_sigd then local e_tcbs = ildb.get_tcbs(c_sigd) itab("Route end: "..sigd_to_string(c_sigd).." ("..(e_tcbs and e_tcbs.signal_name or "-")..")") else itab("Route ends on dead-end") end form = form.."textlist[0.5,2;7,4;rtelog;"..table.concat(tab, ",").."]" form = form.."button[0.5,6;2,1;back;<<< Back to signal]" form = form.."button[3.5,6;2,1;aspect;Signal Aspect]" form = form.."button[5.5,6;2,1;delete;Delete Route]" --atdebug(route.ars) form = form.."textarea[1,7.3;5.2,3;ars;ARS Rule List;"..atil.ars_to_text(route.ars).."]" form = form.."button[6,7.7;1,1;savears;Save]" minetest.show_formspec(pname, "at_il_routeedit_"..minetest.pos_to_string(sigd.p).."_"..sigd.s.."_"..routeid, form) end minetest.register_on_player_receive_fields(function(player, formname, fields) local pname = player:get_player_name() if not minetest.check_player_privs(pname, {train_operator=true, interlocking=true}) then return end local pts, connids, routeids = string.match(formname, "^at_il_routeedit_([^_]+)_(%d)_(%d+)$") local pos, connid, routeid if pts then pos = minetest.string_to_pos(pts) connid = tonumber(connids) routeid = tonumber(routeids) if not connid or connid<1 or connid>2 then return end if not routeid then return end end if pos and connid and routeid and not fields.quit then local sigd = {p=pos, s=connid} local tcbs = ildb.get_tcbs(sigd) if not tcbs then return end local route = tcbs.routes[routeid] if not route then return end if fields.setname and fields.name then route.name = fields.name end if fields.aspect then local suppasp = advtrains.interlocking.signal_get_supported_aspects(tcbs.signal) local callback = function(pname, asp) route.aspect = asp advtrains.interlocking.show_route_edit_form(pname, sigd, routeid) end advtrains.interlocking.show_signal_aspect_selector(pname, suppasp, route.name, callback, route.aspect) return end if fields.delete then -- if something set the route in the meantime, make sure this doesn't break. atil.route.update_route(sigd, tcbs, nil, true) table.remove(tcbs.routes, routeid) advtrains.interlocking.show_signalling_form(sigd, pname) end if fields.ars and fields.savears then route.ars = atil.text_to_ars(fields.ars) --atdebug(route.ars) end if fields.back then advtrains.interlocking.show_signalling_form(sigd, pname) end end end)