aboutsummaryrefslogtreecommitdiff
path: root/advtrains
Commit message (Collapse)AuthorAge
* Add setting to bypass coupler type checks when couplingHEADrelease-2.4.7masterMaverick27972024-11-09
| | | | Allows a server to disable the coupler checks when multiple coupler types are present, making everything effectively a universal coupler
* Fix depercated functions1F616EMO2024-11-09
|
* Implement staticdata for trainsY. Wang2024-11-09
| | | | | | | | | | | | | | | | | | | 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
* Address wagon aliasing issuesY. Wang2024-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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")
* Fix crashing when train hitting objects without armor group1F616EMO2024-11-09
|
* Allow operate on_rightclick nodes with track placers and wagon placers1F616EMO2024-11-09
| | | | Press sneak to force default behavior.
* Wagon iterator, lookup by id, and use them in code1F616EMO2024-11-09
|
* Messages french translation updateTanavit2024-11-05
| | | | | # Messages french translation update. # To be applied to commit eb0c5b78627505bcba409dc5f52dbb05891954c5 on l10n branch
* Various translation improvementsY. Wang2024-11-04
|
* Autogenerate .tr files from .po filesY. Wang2024-11-04
|
* Rework translation system to use PO filesywang2024-11-04
| | | | | | | | | | | | | | | | | 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>
* Avoid unnecessarily updating the driver HUDY. Wang2024-09-13
| | | | | This patch avoids sending the driver HUD if it contains the same text that was previously sent.
* Alias for wagon typesrelease-2.4.61F616EMO2024-09-03
|
* Add direct recipe for every orientation of wallmounted signals1F616EMO2024-09-02
|
* Move the Train ID information to a textarea[] without a name attribute so it ↵erstazi2024-09-02
| | | | remains transparent and the player can copy the Train ID.
* Add Wagon Properties ToolMaverick27972024-08-09
| | | | Also added the Wagon ID to the Wagon Properties formspec
* Fix boardcom train id display, add command to teleport to train by idgpcf2024-08-08
|
* Adding Train ID to Onboard Computer formspec so we know what the Train ID is ↵erstazi2024-08-08
| | | | without LuaATC
* Fix incorrect speed indicator; include routing info in text HUDY. Wang2024-08-08
|
* Rework graphical train HUD codeY. Wang2024-08-08
| | | | | | | | | | | | | | | - 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>
* Remove superfluous train_id check from reverse_lookuprelease-2.4.4orwell2024-08-01
| | | | Reported by Sebastien F4GRX, thank you!
* Fix crossing bell positional stereo1F616EMO2024-08-01
|
* Fix for broken get_trains_at, fixing LuaATC/Lines Scheduler executionorwell2024-05-06
|
* Fix use_texture_alpha for tracksY. Wang2024-02-25
| | | | | | | | | | | | | | | | 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
* Add chatcommand and luaatc function to get global_slowdownorwell2024-02-06
|
* Set maximum train length and prevent coupling if it would exceedorwell2023-12-20
|
* advtrains_techage: Liquid infotext display needs to be added in corerelease-2.4.3orwell962023-07-20
|
* Fix path_invalidate_ahead after recent commitorwell962023-07-01
|
* Occupation system: store multiple indices for the same train, introduce ↵orwell962023-06-24
| | | | reverse_lookup_sel() to select appropriate index out of multiple based on a heuristic
* Add function to get wagon in train from indexorwell962023-05-27
| | | | | Can be used to determine which wagon is at a certain world position Testing: use debugitems.lua
* Make selection boxes of track nodes largerBlockhead2023-04-12
| | | | | | | 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.
* Report coordinates of wagons with unregistered prototypesY. Wang2023-04-12
| | | | Related issue: https://forum.minetest.net/viewtopic.php?p=414307#p414307
* On_Joinplayer: fix train ID check for attachment updateorwell962022-06-13
| | | | Previously, statement was always false because train_id is no longer in the luaentity
* Fix new wagon positioning when wheel positions are asymmetric, and remove ↵orwell962022-02-24
| | | | leftover train.debug
* Wagons: Add two-pos wheel positioning logic for more realistic look of long ↵orwell962022-02-09
| | | | | | wagons Adds field "wheel_positions" in wagon definition
* atc_reset(): Removed unused string parameter and also clear ATC autocouple ↵orwell962021-12-31
| | | | | | flag (Cpl) Fixes H#189 and H#190
* Automatically group wagons and locomotives based on definition valuesMaverick27972021-12-29
| | | | | | | | | 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
* Fix speed sign allowing v>max_speedY. Wang2021-12-16
|
* Trivial fixup for train decoupling regressionrelease-2.4.1ywang2021-11-20
|
* Interlocking: Correct duplicate influence points semi-automaticallyrelease-2.4.0orwell962021-11-14
| | | | Searches and deletes duplicate influence points for the same signal when "Influence Point" formspec is opened.
* Add more unit tests, fix broken unit testGabriel Pérez-Cerezo2021-11-09
|
* New-Ks: minor additions/corrections to ywang's work:orwell962021-11-08
| | | | | | - 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)
* Add documentation on signal aspectsywang2021-11-07
|
* Make train HUD check for existing speed restrictionsywang2021-11-07
|
* Support different types of speed restrictions; add documentationywang2021-11-07
|
* On-Track Collision system: Fix train teleportation when using ↵orwell962021-11-04
| | | | | | 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.
* LuaATC: Add Mesecons LuaATC Controller (similar to Mesecons Luacontroller)orwell962021-11-02
|
* Coupler types: Better output when there are no couplers on a wagonorwell962021-10-25
|
* Coupling: Add concept of coupler types, allow coupling only when coupler ↵orwell962021-10-25
| | | | types match
* Train Coupling: Change behavior so that train direction of initiating train ↵orwell962021-10-25
| | | | is kept, add ATC Cpl command