Commit Graph

481 Commits (master)

Author SHA1 Message Date
orwell96 3256c2778d Forbid track modification when train, IP or TCB is on it, better handle removing of TCBs (H#149) 2020-10-07 17:20:47 +02:00
orwell96 a73236d7eb Don't allow wagons with non-empty inventories to be destroyed (H#164) 2020-10-07 15:19:55 +02:00
orwell96 b892d793ac Add windows compatibility in nodedb saving (H#153)
Note: it does not simply add os.delete()  but reverts to the "old" behavior of directly overwriting the file, because this did work before.
2020-10-07 14:41:57 +02:00
Gabriel Pérez-Cerezo 1a743c2dd6 Fix manual switching on regular track switches. 2020-09-14 16:51:43 +02:00
Blockhead 61009bf00d Fix issues introduced by changes to switching
The code I wrote worked only for my y-turnout and 3-way variants because
it assumed the variant name == the switching state, which is obviously
wrong for the default sw(l|r)(st|cr) variants. I have added a
'switchprefix' property to address this.
2020-09-14 19:59:15 +10:00
Blockhead 487ca4e38c Enable three-way turnouts with proper conns support on all sides
I chose to make three-way turnouts have 5 conns (last one is not used) so
that they can be distinguished from crossings easily without refactoring the
code. Three-ways should have their last entry with {["3"]=0} instead as a sort
of internal mark.
2020-09-11 17:19:23 +10:00
Blockhead 1d224d6b4c Add 3-way turnouts and y-turnouts (both diverging) 2020-09-11 04:25:38 +10:00
Gabriel Pérez-Cerezo 606fc83465 localize split function to prevent conflicts with the builtin one 2020-09-04 20:25:12 +02:00
orwell96 0aa83e4932 Escape fields in wagon properties (H#158) 2020-09-04 16:15:27 +02:00
Relatio e4ccf8ffce Fix seating_from_key_helper: use pname instead of player:get_player_name() 2020-08-27 19:18:52 +02:00
Blockhead 595f26b450 Deprecate old 4590 crossings
This is done with a task that runs once when the nodedb is loaded. A new
field of advtrains_ndb will keep a version integer to indicate migration
versions. This introduces verson 1, no version being equivalent to 0.
An LBM is also registered to replace the tracks in the world.
2020-08-21 16:02:02 +02:00
Blockhead b707f20ba2 Add two new sets of diamond crossing types
Add two new sets of diamond crossings in addition to the current set
of perpendicular crossings. Also cleans up the inside edges on the
perpendicular set models. All of these varieties have their mirror
images, which was previously a problem with the 45/90 crossing.

The naming convention for all of these rail types is this: when facing
east and param2=0, the angle and direction of the two crossing rails is
indicated. So 30l45r means 30 degrees left and 45 degrees right. The
mirror image of that would be 30r45l.

There is a recipe for each set of crossing types and the trackworker can
change geometry within types with left cick, and rotate between two 90
degree rotations with right-click. When left-clicking, the angles move
in an intuitive fashion like rotating rails.

* The perpendicular set (already existing) has rails that cross at 90
degrees.
* The 90+x set has 90 degree (straight, node aligned) rails plus a rail
intersecting that at 30, 45 or 60 degrees.
* The diagonal set has both rails not axis-aligned, for example 30r-45l,
60l60r. The latter is quite useful for scissors crossovers.
2020-08-21 16:02:02 +02:00
Gabriel Pérez-Cerezo b23d346ace add maximum length parameter to split_at_fc and split_off_locomotive 2020-08-21 15:58:12 +02:00
Gabriel Pérez-Cerezo 36d8c8b716 Add command to split off locomotive 2020-07-28 20:39:35 +02:00
Gabriel Pérez-Cerezo 45413ee5c0 Add function to step through freight codes 2020-07-26 23:30:07 +02:00
Gabriel Pérez-Cerezo c54e0b341a add split_train_at_fc luaatc command
This command splits the train at the second non-empty FC it
encounters, taking with it the first few freight cars that all go to
the same destination.
2020-07-26 23:30:07 +02:00
Gabriel Pérez-Cerezo de8add139c add Freightcodes to wagon properties formspec 2020-07-26 23:30:07 +02:00
orwell96 00031064a5 Do not unload wagons when a player that is logged in sits in it 2020-07-26 18:53:16 +02:00
Blockhead d65ba80df7 Add low 45 degree platforms
I would like to take this opportunity to credit Och_Noe as the original
author for the plans to the 45 degree platform model. I failed to credit
him properly when the first lot of 45 degree platforms were added.
2020-07-25 19:14:57 +02:00
Gabriel Pérez-Cerezo 9d52770f21 Add client side translations by ywang 2020-07-19 23:04:13 +02:00
Gabriel Pérez-Cerezo 8c66f1caf4 Fix error in workaround causing train entities to despawn. 2020-07-19 23:00:07 +02:00
Gabriel Pérez-Cerezo 7de2a9142f Merge branch 'master' of bananach.space:advtrains 2020-07-19 22:57:29 +02:00
ywang cc78b63e34 [BREAKING] Use client-side translations instead of intllib; add zh_CN translations
* Client-side translations is used instead of intllib. [Breaks MT4 compat]
* Existing locale files have been moved to advtrains/locale and named with the format advtrains.[lang].tr
* Add zh_CN locale. (requires a font that supports CJK text)
2020-07-19 16:21:08 +02:00
orwell96 19509acf56 Add workaround to unload wagons that are too far away from players 2020-07-12 20:37:51 +02:00
Blockhead 3040c53413 Move recipes to train_track and add crossing recipes 2020-07-10 22:14:39 +02:00
techniX 74bf177cc8 optimize path_get_index_by_offset
Instead of calling path_get_adjacent twice (which calls path_get
twice, i.e. 4 times overall), we call path_get directly only 2 times
with min and max indices to generate all the path we need for
calculations.
2020-07-10 12:02:23 +02:00
orwell96 f33bb563e7 Add "Fallback state" for freed routes, move p_mesecon_iface.lua to core 2020-07-07 14:25:47 +02:00
Blockhead 96236c04dc Add perpendicular and 45/90 degree crossing rails
Add a set of new models for crossings to make some new track
arrangements possible. This commit adds perpendicular crossigns that can
be rotated at any angle: 30/45/60/90 and 45/90 degree crossings in two
rotations. In future, further crossing types can be added to the blender
file.

Add the blender file in rail_crossings.blend that is the source of these
files and which refers to the texture inside advtrains_train_track.

Add a set of prototypes for rail crossings to advtrains/tracks.lua and
register the new crossings in advtrains_train_track.
2020-07-06 17:32:22 +02:00
Blockhead eb2e5f4cdf Fix access control to wagon properties
Previously, players were able to open the wagon properties of any wagon at all
through the wagon properties button on the inventory formspec and through the
wagon buttons on the onboard computer. Add a check for ownership before
allowing players to open wagon properties.
2020-06-29 01:37:35 +02:00
Gabriel Pérez-Cerezo 0b14d8ddb1 Add autocouple mode
The shunting mode no longer makes trains couple, since it was meant
for other purposes. For autocoupling, the new autocoupling mode is
used. If trains are in autocouple mode, they couple when they collide
with another train.
2020-06-29 01:30:27 +02:00
Gabriel Pérez-Cerezo f458f39fde comment out annoying debug info 2020-06-14 12:24:30 +02:00
Gabriel Pérez-Cerezo 51c0920bc0 Merge branch 'master' of bananach.space:advtrains 2020-06-14 12:04:13 +02:00
Gabriel Pérez-Cerezo ae79af604c display oncoming lzb speed restrictions in HUD 2020-06-14 12:02:48 +02:00
orwell96 b13c725976 Workaround to handle split points (dt. aufgefahrene Weichen), fixing H#77 2020-06-10 20:56:35 +02:00
Gabriel Pérez-Cerezo d61c2145a0 Merge branch 'wagon_prop_formspec' of https://github.com/Montandalar/advtrains 2020-06-08 13:50:08 +02:00
Gabriel Pérez-Cerezo 943e5208a9 Fix trains flipping when autocoupling 2020-06-08 00:25:29 +02:00
Blockhead e57c1eaa7f Remove debugging print statement 2020-04-12 18:44:57 +10:00
Blockhead f43254c282 Add road numbers to wagon properties, bordcom
A road number is used to allow users to set their own wagon numbers
other than the internal IDs assigned by advtrains. A railway company
would typically keep a roster of what rollingstock it has in road
numbers.

The road number can be set on the wagon properties formspec. It is
displayed above the wagon's inventory icon in the onboard computer as a
button, which will then open the wagon properties on that wagon.

Road numbers might be displayable as additional text entities on the
wagon like signs.

Currently opening the wagon properties (and sometimes onboard computer)
formspecs can be quite unreliable (at least on windows), so I hope that
closing the wagon 'main menu' before opening other formspecs helps that
reliability. It seems to be an upstream bug.
2020-04-07 14:16:47 +10:00
Blockhead d0629469aa Show the wagon properties button only to the owner 2020-03-18 01:13:06 +11:00
Blockhead 2da11c5a49 Use a standard wagon inventory formspec
This new formspec also allows access to the wagon properties. Once
whitelisted in the wagon properties, other players can access its
inventory.

Note on 'useless use' of OO: I tried passing just the wagon ID and
avoiding using the `self` object in order to bypass the need to look up
the lua entitie out of the list, but it ended up retrieving nil data.
The best way to solve this overhead might be to wait for some kind of
better way upstream in minetest's lua API to get entities, or to keep a
central record of entities. Either way, the solution is outside the
scope of this commit.
2020-03-18 00:35:30 +11:00
Gabriel Pérez-Cerezo fb837a449a Merge branch 'diagonal_platforms' of https://github.com/Montandalar/advtrains 2020-03-15 12:04:10 +01:00
Blockhead 301dcf953e Reduce the profile of the platforms by 0.1
Currently some trains clip the platform (especially E231
modpack), but they won't after the platform edge is moved
back slightly.
2020-03-15 21:56:42 +11:00
Blockhead 09fda4ffaa Add 45 degree diagonal platforms with a mesh 2020-03-15 21:51:38 +11:00
Blockhead 3b87ac5372 Delete train if it ends up off track, show a warning 2020-03-03 23:00:20 +11:00
Blockhead 0689c70aac Save clipboard on item metadata
Also a minor user feedback text cleanup
2020-03-03 23:00:20 +11:00
Blockhead 8a08d77166 Remove debugging print statements 2020-03-03 23:00:20 +11:00
Blockhead 378d862572 Draft copy tool
The copy tool copies a train to a global clipboard.  It copies
the Line number, Routing code, inside text and outside text.
It copies the kinds of wagons in the train and whether they
are flipped around.

Pasting with the copy tool will conditionally flip the train
such that 'your front' of the train, rather than the absolute
front of the train, is what is output. The new train is
oriented to travel forward with the placing player's view.

Conditons are:
- Multi-unit/push-pull train (= has locomotives on both ends):
  Never flipped
- Locomotive-hauled train (= has one end with a locomotive):
  Flipped so that the locomotive is always at the front. If the
  locomotive points long hood forward, it will still point long
  hood forward.
- Rake of wagons (= has no locomotives on ends):
  Flipped according to which end of the train the player copies
  from. If the player is towards the back (wagon out of train
  divded by total wagons > 0.5), then the back becomes the new
  front. If the player is towards the front, no change.
2020-03-03 23:00:20 +11:00
orwell96 9d7b21c451 Relicense under AGPLv3 and update information in readme.txt 2020-02-15 22:19:22 +01:00
orwell96 1bb1d825f4 Use minetest.safe_file_write() to atomically save state [Breaks MT4 compat] 2020-01-10 14:08:56 +01:00
Blockhead c0c6fcf00b Apply minetest.formspec_escape() to prevent formspec injection (H#143) 2020-01-04 18:33:57 +01:00
orwell96 a8ae0a5332 Simplify and optimize path_get_index_by_offset (cherrypicked) 2019-12-09 11:00:21 +01:00
orwell96 8d794525b3 Fix repeated log file opening/closing (H#136) 2019-12-04 10:09:19 +01:00
orwell96 e0662b2971 use group:wood in bumper recipe (H#120) 2019-12-04 10:09:19 +01:00
Gabriel Pérez-Cerezo 3db3f24857 Tentative fix for #31
This might fix #31 by clearing the HUD entry for the player when
joining
2019-12-03 21:35:42 +01:00
Gabriel Pérez-Cerezo 25a335203f Allow painting coupled wagons 2019-12-01 12:25:06 +01:00
Gabriel Pérez-Cerezo 0518fbbf3a Merge branch 'master' of https://git.bananach.space/advtrains 2019-12-01 12:09:04 +01:00
Gabriel Pérez-Cerezo b71c72b4ab Add experimental liveries feature
Please do not use this in your train mods yet, this may be subject to
changes!
2019-12-01 12:08:28 +01:00
ywang 2157a7ef36 Simplify formula for brake distance calculation 2019-11-27 10:37:25 +01:00
orwell96 7082038f75 Don't spawn couple entities when not loaded 2019-11-26 16:43:47 +01:00
orwell96 cf2179dea5 remove obsolete code/comments 2019-11-26 16:01:51 +01:00
orwell96 4ff8e05755 Fix trains not stopping when colliding with environment H#122 2019-11-26 15:49:36 +01:00
Gabriel Pérez-Cerezo ca4d65050c Add wagon_width attribute
This allows for wider vehicles than trains, such as boats to discharge
the passengers onto the platforms.
2019-11-22 20:29:57 +01:00
Gabriel Pérez-Cerezo 7977776b4a Changes for linetrack
Allows defining a suitable substrate for tracks, and liquid pointable tracks
2019-10-21 16:36:35 +02:00
Gabriel Pérez-Cerezo 2d8c13885a Shunting mode now couples trains on collision.
Trains now get coupled when one of them is in coupling mode.
2019-08-11 20:16:11 +02:00
Gabriel Pérez-Cerezo 1f6038c75a Add decoupling to luaatc 2019-08-11 17:42:30 +02:00
Gabriel Pérez-Cerezo d074d3223a Change API to return the id of a newly created train when discoupling 2019-08-09 19:11:26 +02:00
Gabriel Pérez-Cerezo 95fb122eca New version 3 save system.
This new save system exists to split up the save file into several
smaller ones, to bypass lua limitations.
2019-07-23 20:15:37 +02:00
Gabriel Pérez-Cerezo 91bb555bc2 No longer require server priv for /at_sync_ndb
The check for server priv was hidden where no one would have expected
it.
2019-07-17 14:44:36 +02:00
Gabriel Pérez-Cerezo daba00b6a2 Various small fixes
- Also do atomic operations on nodedb
- no longer require Worldedit for at_sync_ndb
- "overrun LZB 0 restriction" should now show where it happened.
2019-07-16 17:26:53 +02:00
Gabriel Pérez-Cerezo 7a6740eb8c Keep a backup file where stuff is written to when saving
This should prevent yet another train service disaster.
2019-07-16 17:17:18 +02:00
orwell96 24e56dbfc2 Railway Time: Basic time counter and utility functions 2019-06-19 09:56:30 +02:00
orwell96 d6cfa7dbf6 Run entity overrun checking only in loaded areas 2019-06-05 15:49:53 +02:00
orwell96 ff94129761 Fix occurences of old lzb_invalidate 2019-04-23 22:30:33 +02:00
orwell96 b56cda8695 Fix remote routesetting 2019-04-16 12:59:17 +02:00
orwell96 ea33ad9de0 Move LZB system to core and unify approach callback mechanism 2019-04-16 09:16:44 +02:00
Pedro Gimeno c50224e05c Set wagon pitch on slopes 2019-04-06 13:38:00 +02:00
orwell96 1227456d46 Ugly workaround for green signals bug 2019-03-15 17:39:31 +01:00
orwell96 7149137990 Add setting for death behavior and implement damage checks better 2019-03-09 11:29:22 +01:00
orwell96 bc31f205cd Configurable interval for get_off setpos and door pos fix for japanese train 2019-03-09 11:17:14 +01:00
orwell96 56a105dd2e Restore old door status display behavior 2019-03-09 09:58:17 +01:00
orwell96 391a57f90c Prioritize LZB callback (possible bugfix for H#100) 2019-02-19 15:49:01 +01:00
orwell96 84f1c3d8a5 Fix stop rails sometimes not sending stop command 2019-02-16 21:51:14 +01:00
orwell96 2d2cd9605b No crash when train does not exist on check_collision() 2019-02-06 23:22:48 +01:00
orwell96 392adc838d Fix slope placer protection 2019-02-05 14:23:00 +01:00
orwell96 e7dcee1127 Force LZB Halt setting 2019-02-05 11:23:17 +01:00
orwell96 8b8c5a2c1f Fix sending empty ATC commands 2019-02-05 10:51:55 +01:00
orwell96 9da148347d Basic functions of "stop rail", missing ARS rules and signal.
For signal, need to think of a callback system for signals and moving atlatc queue to core?
2019-01-24 17:50:26 +01:00
orwell96 2976bae452 Point speed restriction rails 2019-01-24 13:43:22 +01:00
orwell96 1c3ea96041 Possible fix for braking problems + debug outputs 2019-01-23 15:37:18 +01:00
orwell96 f6f922c90c Fix last commit (and another warn2log) 2019-01-22 23:40:53 +01:00
orwell96 f2a62c2d77 Fix atc command evaluation BB command 2019-01-22 23:26:20 +01:00
orwell96 9bdddb619b output step distance in train (debugging purposes) 2019-01-22 21:42:07 +01:00
orwell96 7c60b8ffd1 Fix small bug in routeui and make another message log-only 2019-01-22 21:06:26 +01:00
orwell96 6c18d5b89a Make "Can't restore train" a log message instead of atwarn() 2019-01-22 17:14:32 +01:00
orwell96 97a2ff7db0 Fix dropping of items on wagon destroy 2019-01-22 12:31:18 +01:00
orwell96 240e7dd091 Warn when something clears the path winthin train step 2019-01-22 12:26:31 +01:00
orwell96 e2ae763dba Revert "Correct last commit"
This reverts commit 5f290819cd.
2019-01-22 12:11:35 +01:00
orwell96 dac65af983 Revert "Debugging code to trace down path_invalidate within callbacks error"
This reverts commit 1965e846b6.
2019-01-22 12:11:14 +01:00
orwell96 48e52f0546 Revert "Index NaN check (tracking obscure error detected on LW migration)"
This reverts commit e915b61da6.
2019-01-22 12:09:59 +01:00
orwell96 adc8db22fb Fix for path invalidation within update callbacks (issue was caused by detector rails) 2019-01-22 00:18:24 +01:00
orwell96 5f290819cd Correct last commit 2019-01-22 00:13:11 +01:00
orwell96 1965e846b6 Debugging code to trace down path_invalidate within callbacks error 2019-01-22 00:06:59 +01:00
orwell96 85f1600f53 Workaround 2019-01-21 23:57:19 +01:00
orwell96 f705feb4ee Do not run train steps when path has been deleted 2019-01-21 23:40:09 +01:00
orwell96 f162ebf63f Avoid division through zero in get_acceleration 2019-01-21 22:41:57 +01:00
orwell96 e915b61da6 Index NaN check (tracking obscure error detected on LW migration) 2019-01-21 22:26:11 +01:00
orwell96 97145e0f06 Additional info print for path_print() 2019-01-21 22:16:00 +01:00
orwell96 12f8e26cb4 Do not clear tarvelocity when setting new, potential no-op command 2019-01-15 15:38:17 +01:00
orwell96 c3c96274be Add "routingcode" property
Used for ARS and stop points
2019-01-09 16:10:56 +01:00
orwell96 b332a31d48 Make track protection radius configurable 2018-12-18 11:56:48 +01:00
orwell96 36357bd444 Fix player_to_train_mapping (H#74)
Entries were not inserted, thus neither damage protection nor teleport-to-train did work
2018-12-16 20:39:55 +01:00
orwell96 fb10420c38 Fix 144e1fc4e0 (there's no self in one of the instructions) 2018-12-10 23:07:27 +01:00
orwell96 c8788e6ca7 Fix crashes:
1. when train hit a route, nil access to already cancelled route caused crash
2. fix crash when trying to ensure_init a train that doesn't exist
2018-12-10 22:57:16 +01:00
orwell96 144e1fc4e0 Change get_inventory_formspec API - add invname parameter 2018-12-10 22:54:23 +01:00
orwell96 c3c5431412 Shunt signals (not exactly Ks), along with fixes in other components that those rely on 2018-12-08 17:12:57 +01:00
orwell96 e37f4f9188 Apply speed restriction 0.5 indexes later, do not cap tarvelocity by speed_restriction 2018-12-04 19:27:44 +01:00
orwell96 ec68eaa229 Added on_train_approach callback, non-permanent external LZB brakepoints and basis for "stop rails"
Stop rails ATM use the aforementioned things to add a pointwise "2" speed restriction. Seems to work.
2018-11-29 17:52:56 +01:00
orwell96 01ffee4d58 Implement new position encoding function and benchmark it
This shall replace all "pos_to_string" hashes in the long term. Performs a bit better than pos_to_string (but still worse than the "nested tables" layout the nodedb uses
(an unmatched open parenthesis leaves a tension that will stay all day... 2 do even more
2018-11-29 17:00:57 +01:00
orwell96 0f295ec4a9 Fix discouple positioning when wagon was just loaded 2018-11-20 12:37:34 +01:00
orwell96 df29faccc0 Remove superfluous "tarvelocity" assignments 2018-11-20 12:03:34 +01:00
orwell96 37166b5c14 Make "Line" property accessible from OBC and gettable via LATC, change subway wagon texture handling 2018-11-20 11:57:46 +01:00
orwell96 8b80742fa5 Remove debug print 2018-11-20 00:24:39 +01:00
orwell96 5874a6d3f4 Fix protection regarding tracks (track_builder and railway_operator) and documentation on privileges 2018-11-12 22:24:56 +01:00
orwell96 07fa21f992 Increase savefile version to 2
(Master downgrade protection)
2018-11-10 22:53:12 +01:00
orwell96 b872bdae82 Remove "couple locks" and apply protection to the actual coupling process, and fix permissions on that 2018-11-10 12:12:52 +01:00
orwell96 06216b0ca1 No static_save for discouple entities 2018-10-30 15:42:30 +01:00
orwell96 fbed4e29d1 Document fix 0a982b6356
Add comment that explains why fix was necessary
2018-10-29 23:51:41 +01:00
orwell96 0a982b6356 Actually set last_connid to 1, to prevent warning 2018-10-29 23:42:47 +01:00
orwell96 93726db4e3 Handle the case that a train is not initialized (train_ensure_init returns nil/false)
Fixes H#72
2018-10-29 21:19:49 +01:00
orwell96 60b7254992 atdump() to treat certain values special 2018-10-29 19:32:43 +01:00
orwell96 9f6ae55e37 Small fixes which do not have any effect 2018-10-29 16:04:36 +01:00
orwell96 e194732596 Complete Ks Main signals 2018-10-26 18:41:24 +02:00
orwell96 fe4b4a695a Fix node database ATC rail bug
After successfully registering newly-placed ATC rails in the nodedb, the rail's after_place_node() callback
(local apn_func()) immediately cleared it again by passing a "node" object that was actually a player object
and thus had no "name" or "param2" to ndb.update(), which it handled how it should not in this situation.
Since those ndb.update calls were unnecessary anyways, I removed them completely.
2018-10-17 21:05:06 +02:00
orwell96 267ce6fe6d Prevent any user control except "Brake" when an ATC override is present
Solves the problem of accidentally breaking atc-driven trains
2018-10-17 19:10:37 +02:00
orwell96 b4534c6f12 Improve ATC-LZB-User control interaction, smoothen LZB control operations
(prevent flickering view when atc battles against lzb)
2018-10-17 18:58:57 +02:00
orwell96 cd38b17eab Address H#60, H#17, M#18 and M#7
duplicate "message" to "msg"
make operation panel "cracky"
remove inexistent dtime_s parameter
add bones:bones to the list of not_blocking_trains nodes
2018-10-17 18:11:11 +02:00
orwell96 c6bef1c358 Fix H#69
Cause was a cascaded crash, original cause was something different
2018-10-17 17:45:51 +02:00
orwell96 87621caf1f Fix H#66 (Hemiptera 66) crash on missing double_conn match 2018-10-17 17:42:32 +02:00
orwell96 e04d84cb4c Actually allow what manual promises (setting IP on non-assigned signals) 2018-10-17 17:37:03 +02:00
orwell96 11fe530e18 Properly handle speed restrictions 2018-10-10 23:31:12 +02:00
orwell96 9db52bcd32 Remote Routesetting from Onboard Computer
+ Fix lzb oncoming item deletion/speed restriction
2018-10-10 23:17:31 +02:00
orwell96 842a85606e Properly implement invalidate_all_paths, recheck lzb on aspect change 2018-10-10 22:41:59 +02:00
orwell96 33c839b40d Add signal safety control override, restructure control system 2018-10-10 21:49:52 +02:00
orwell96 8f8f009425 Make signal influence point (~halt point) specifiable
Also extend signal api necessarily
2018-10-09 12:07:23 +02:00
orwell96 8df7bcf6b6 Improve route programming:
- 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
2018-10-07 22:21:49 +02:00
orwell96 2596866b74 Add interlocking guide/manual, silence debug outputs 2018-09-14 21:36:59 +02:00
orwell96 05cb6090ac Move passive API to the advtrains core
to remove dependency of interlocking on luaautomation
2018-08-16 19:18:03 +02:00
orwell96 5fad61e9c9 Fix various bugs found while testing 2018-08-13 11:27:38 +02:00
orwell96 3dc5b28774 Teleport player to their train every 2 seconds instead of just on_joinplayer
Solves problem of wagon being unloaded while player sitting inside it because of network lag
2018-08-12 18:01:50 +02:00
orwell96 b80ba056d9 Fix some incompatibility crash for old worlds 2018-08-12 17:56:02 +02:00