| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch exposes train.staticdata that can be used by other modders to
save data in trains across restarts. It additionally exposes two new
APIs for modders where this is relevant:
* advtrains.te_register_on_couple(function(init_train, stat_train)):
registers a callback for train coupling, where stat_train is couple
into init_train and is subsequently removed. This callback is run
before the actual coupling takes place; in particular, it is run
before stat_train is removed.
* advtrains.te_register_on_decouple(function(train, newtrain, index)):
registers a callback for train decoupling, where newtrain is created
by splitting the train at the given index (the wagon at the index is
part of the new train). This callback is run after decoupling takes
place.
advtrains.te_register_on_decouple(function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As it turns out, not fully testing new features is not necessarily a
good idea ...
This patch follows up 1F616EMO's patch by
* Making get_wagon_prototype return the resolved alias,
* Handling recursive wagon alises (in particular, loops), and
* Adding (partial) unittest for the wagon aliasing system. [v2]: The
testcases are complemented a bit more to cover situations where the
alias resolution system should return nil.
[v2]: This patch should hopefully also warn about not spawning wagons.
Note that this only warns about the missing wagon entity and does _not_
actually fix the issue.
How to test:
* In a world with both advtrains_train_subway and advtrains_train_japan
enabled, place a subway wagon, a Japanese engine, and a regular
Japanese wagon.
* Add the test mod to the world; do NOT remove advtrains_train_japan.
* Restart the world. Notice that the Japanese wagons still appear as
Japanese wagons despite being aliased to subway wagons.
* Restart the world without the advtrains_train_japan mod. Notice that
the engine appears as the subway wagon while the regular Japanese
wagon appears as the wagon placeholder. [v2]: Also note that the
warning message about the missing wagon prototype still mentions the
regular Japanese wagon.
* Restart the world again with the advtrains_train_japan mod. Notice
that both type of Japanese wagons reappear as Japanese wagons.
* Observe that unittests work.
Test mod:
advtrains.register_wagon_alias("advtrains:engine_japan", "advtrains:subway_wagon")
advtrains.register_wagon_alias("advtrains:wagon_japan", "advtrains:wagon_japan")
|
| |
|
|
|
|
| |
Press sneak to force default behavior.
|
| |
|
|
|
|
|
| |
# Messages french translation update.
# To be applied to commit eb0c5b78627505bcba409dc5f52dbb05891954c5 on l10n branch
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The French translations are provided by Tanavit. Unfortunately I was not
able to keep this addition as a separate commit as the translation file
was originally added as a .tr file that I then converted to .po file in
the meantime.
Also note that this commit is created from squashing 20+ commits from
the l10n branch that preceded the transition to PO files. In addition to
changes to the locale files (which were all included in the single
commit for transitioning to PO files), these commits also included code
that has now become obsolete for l10n work. In particular, it included a
GUI program written in Tcl to edit .tr files; this program can now be
found in the following repo: https://codeberg.org/y5nw/mt_tr_editor
Co-authored-by: Tanavit <tanavit@posto.ovh>
|
|
|
|
|
| |
This patch avoids sending the driver HUD if it contains the same text
that was previously sent.
|
| |
|
| |
|
|
|
|
| |
remains transparent and the player can copy the Train ID.
|
|
|
|
| |
Also added the Wagon ID to the Wagon Properties formspec
|
| |
|
|
|
|
| |
without LuaATC
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- A basic texture manipulation API is added; currently this is only a
(selected) subset of texture modifiers provided by MT; the goal is to
avoid writing (potentially incorrect) texture strings by hand;
- The graphical HUD code is cleaned up; in particular, most code used
for generating texture patterns are moved to texture.lua so that the
code can be used outside of the HUD;
- Inactive elements are given the darkslategray background.
A basic unittest is added; however, it needs to be expanded for better
coverage.
Reported-by: Lars Müller <appgurulars@gmx.de>
|
|
|
|
| |
Reported by Sebastien F4GRX, thank you!
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The use of textures with transparent pixels (for the default tracks: the
"features" on the track) without specifying use_texture_alpha (at least
for the mesh drawtype) has been deprecated in a PR from August 2020[1]
(i.e. since 5.4.0[2]) and removed in the latest dev version[3]. As a
consequence, regular tracks are now rendered with black markers at the
same position where e.g. the blue (Lua)ATC marker would be found.
This commit fixes the issue by enabling use_texture_alpha by default for
all tracks.
[1] https://github.com/minetest/minetest/pull/10122
[2] https://dev.minetest.net/Changelog#5.3.0_.E2.86.92_5.4.0
[3] https://github.com/minetest/minetest/pull/13929
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
reverse_lookup_sel() to select appropriate index out of multiple based on a heuristic
|
|
|
|
|
| |
Can be used to determine which wagon is at a certain world position
Testing: use debugitems.lua
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Related issue: https://forum.minetest.net/viewtopic.php?p=414307#p414307
|
|
|
|
| |
Previously, statement was always false because train_id is no longer in the luaentity
|
|
|
|
| |
leftover train.debug
|
|
|
|
|
|
| |
wagons
Adds field "wheel_positions" in wagon definition
|
|
|
|
|
|
| |
flag (Cpl)
Fixes H#189 and H#190
|
|
|
|
|
|
|
|
|
| |
Based on the advtrains wiki groups:
Type Group Classifier
- Locomotives: group:at_loco is_locomotive = true
- Controllable: group:at_control seat_groups.dstand
- Passengers: group:at_pax seat_groups.pass
- Freight: group:at_freight has_inventory = true
|
| |
|
| |
|
|
|
|
| |
Searches and deletes duplicate influence points for the same signal when "Influence Point" formspec is opened.
|
| |
|
|
|
|
|
|
| |
- Add sign for line speed 20 (else no way to return to max line speed once set)
- When no distant signal info available (default), Ks displays green light (2 sections free)
- Normal and wall signals again signal maximum speed (persistent restriction can be given via line speed nouw)
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
split_at_index() from LuaATC
Issue was that train thought it would collide with the newly added back portion although it was already long past this train. Added additional check that current train index is not further than the collision point.
|
| |
|
| |
|
|
|
|
| |
types match
|
|
|
|
| |
is kept, add ATC Cpl command
|
|
|
|
| |
(such as single minecarts) to solve #155
|
|
|
|
|
|
|
| |
- Adds a separate collision system for trains sharing a path
- Moved some coupling-related code to couple.lua and refactor it
- Handle coupling in a way that the initiating train always keeps its ID
- As a side effect, engine has its direction reversed after coupling
|