733 Commits

Author SHA1 Message Date
orwell96
0a9cb548d7 Prevent calling approach callbacks during routesetting
interlocking.set_route() was updating the signal aspect, which caused LZB's invalidate_ahead callback to run, although the route isn't yet fully set. Don't look ahead at this point, but instead in the next train step.
2021-02-10 20:55:20 +01:00
orwell96
1e0ae9fcc5 fix legacy signal aspect converter 2021-02-10 18:28:50 +01:00
orwell96
96bb7d5e7e LZB: don't look ahead past red signal 2021-02-10 18:27:09 +01:00
orwell96
0859e50c6e Fix manual train control 2021-02-10 18:26:53 +01:00
orwell96
17e29a2511 Make anti-LZB-flicker system work after rebase onto hud redesign 2021-02-10 17:07:38 +01:00
orwell96
fad6f88bab Fix hud and trainlogic to work together 2021-02-10 16:45:29 +01:00
orwell96
556e0782f7 Replace deprecated object:getxxx()/setxxx() by get_xxx()/set_xxx() 2021-02-10 16:42:15 +01:00
orwell96
1b8a3dfaf2 Add save interval setting, fix accidental global variable, at_sync_ndb on server priv not limited, timetaking for restore_all 2021-02-10 16:42:15 +01:00
orwell96
4d13b15842 luaatc: Train event: also remember arrow connection in enter callback, remove obsolete code 2021-02-10 16:39:46 +01:00
orwell96
56fe578916 Log how long saving takes 2021-02-10 16:39:46 +01:00
orwell96
080fbcf2fc Make dtime limiting a setting 2021-02-10 16:39:46 +01:00
orwell96
672b4a422c Remove debug facilities 2021-02-10 16:39:46 +01:00
orwell96
41568a3e2e luaatc: don't fail train event when train has already passed the rail at event time 2021-02-10 16:39:46 +01:00
orwell96
0cef88ba7f Add global slowdown factor instead of hard dtime limiting 2021-02-10 16:39:46 +01:00
orwell96
4f7c1b1b5d Rewrite movement logic again 2021-02-10 16:39:46 +01:00
orwell96
8f4c90c5a5 Add debug prints, modify LZB to fix problems with look_ahead 2021-02-10 16:39:46 +01:00
orwell96
3c42d87dc0 Stoprail: Set LZB checkpoint speed back to 2
Caused problems when approaching stoprail in manual control
also better for compatibility
2021-02-10 16:39:46 +01:00
orwell96
080b8fb273 Add IGNORE_WORLD mode to test using only the advtrains save data 2021-02-10 16:39:45 +01:00
orwell96
9a775eff5b Add sign to make shunt moves proceed as main and improve doc of signals 2021-02-10 16:37:21 +01:00
orwell96
838cf61eac Make cab signalling work with renamed lzb fields 2021-02-10 16:37:21 +01:00
orwell96
114b915518 Fix new green signals bug caused by old trav_lzbdata, and callback loop in signalling formspec 2021-02-10 16:36:24 +01:00
orwell96
61329c11a2 Start using path_invalidate_ahead() 2021-02-10 16:36:24 +01:00
orwell96
d3b2f614be Hm, forget about it for now. Might be perfectly valid when train goes farther than train length in step 2021-02-10 16:36:24 +01:00
orwell96
b5f8737095 More debug info to hopefully gain more info on the bug 2021-02-10 16:36:24 +01:00
orwell96
a3247dea28 Fix HUD position and Remote Routesetting button 2021-02-10 16:36:24 +01:00
orwell96
227a4aaeac Try to track down why ATC is broken 2021-02-10 16:36:24 +01:00
orwell96
aee7f0d419 Fix things, rework signal aspect select dialog, transform old aspects on-the-fly 2021-02-10 16:36:24 +01:00
orwell96
119a09b784 Simplify Signal Aspect Table (H#132) [breaks compatibility with signal API] 2021-02-10 16:36:24 +01:00
orwell96
573d6b06b2 Always do zero-barrier check and prevent LZB 0 overruns in movement logic 2021-02-10 16:36:24 +01:00
orwell96
8660794ef8 Fix lots of things around new LZB 2021-02-10 16:36:24 +01:00
orwell96
5c2534cc35 Remove pcall wrappers completely, add command to disable advtrains mainloop 2021-02-10 16:36:24 +01:00
orwell96
b59b0d587d Implement a LZB speed lookup table for the path and rewrite velocity controls 2021-02-10 16:35:45 +01:00
orwell96
a78ff65b31 Fix inconsistency between node enter callback and lzb approach callbacks
(this caused the lzb approach to be called on nodes that have just received an enter event, which is not intended)
2021-02-10 16:35:45 +01:00
orwell96
816245588d Disable ARS train flag and surrounding uses 2021-02-10 16:35:45 +01:00
orwell96
74a219937d Add approach callback mechanism to LuaATC 2021-02-10 16:34:34 +01:00
orwell96
e935136d58 Make is_node_loaded() checks also for mesecon interactions and digiline_send(), move on_updated_from_nodedb to advtrains table 2021-02-04 12:35:24 +01:00
orwell96
8ae405f00f Discard get_node_or_nil() for area-loaded check and use either a distance-based approach or minetest.is_block_active() if available
See also https://github.com/minetest/minetest/pull/10897
2021-02-03 09:30:44 +01:00
Gabriel Pérez-Cerezo
d8d1d27ccb add unit tests for serialize_lib 2021-01-31 11:53:31 +01:00
ywang
ef21e70479 Use graphical indication for more elements; improve 7-segment display 2021-01-20 17:12:25 +01:00
ywang
371b5ac503 Use absolute positioning from the bottom of the screen 2021-01-19 16:38:20 +01:00
Blockhead
b4c8de8695 Fix serialisation: breach of contract, file left open
Previous commit did not fix saving, but is kept because there is a corner case for which it is required (see MT forum)
2021-01-18 15:27:50 +01:00
orwell96
7fa1a402bf Fix atomic saving on windows when save file does not exist 2021-01-17 10:27:16 +01:00
orwell96
6202c1cb00 Fix removing stale TCB nodes 2021-01-12 14:40:24 +01:00
orwell96
0ba5874b4f Some more serializer fixes (backported from new_lzb):
- Move DUMP_DEBUG_SAVE block before the actual saving so it can be used to trace serializer errors
- Don't crash on functions in data, ignore them silently
- Increase the save interval
2021-01-12 13:31:03 +01:00
orwell96
9d12c72499 serialize_lib: Allow empty strings in key 2021-01-12 13:27:27 +01:00
orwell96
ce4631dbee Backport ndb format from cellworld to also store the cids in the ndb file; integrate ndb in serialize_lib atomic system 2021-01-12 13:27:00 +01:00
orwell96
e42fbf9dcc Make advtrains use serialize_lib (save version 4)
Old save format will be gracefully migrated
2021-01-12 13:27:00 +01:00
orwell96
d0bd4ac30e Serialize_lib: finish up and add atomic api 2021-01-12 13:27:00 +01:00
orwell96
e6b656e937 Implement basic serialization and file opening 2021-01-12 13:27:00 +01:00
orwell96
bdc49b919d DUMP_DEBUG_SAVE also dumps interlocking data 2021-01-12 13:27:00 +01:00