- Partially addresses Hemiptera #165 / Notabug #6
- Will recalculate wagon textures when the inventory is modified
- Only acts as a loading ramp when in a loaded area.
- Retains previous flood loading of entire train when area unloaded
This reduces the difficulty of having to point at the centre of the
correct track node, and hopefully does not prevent placing tracks in
more than a couple of cases. Three-way turnouts on an angle may be
an exception but they may be worth it. User feedback is needed.
- Set a freight code in the track to whitelist only wagons with that FC as the current one
- Set as # to disable the track
- Set as a blank field (default) to allow all wagons to activate, irrespective of their FC
- LuaATC remains non-craftable for now (elevated privs necessary anyway)
- Some crafts altered from dario's proposal
Co-authored-by: W3RQ01 <dario23@linux-forks.de>
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.
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.
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.