<feed xmlns='http://www.w3.org/2005/Atom'>
<title>advtrains.git/advtrains/trainlogic.lua, branch release-2.9.0</title>
<subtitle>Advtrains mod for minetest.</subtitle>
<id>https://git.bananach.space/advtrains.git/atom?h=release-2.9.0</id>
<link rel='self' href='https://git.bananach.space/advtrains.git/atom?h=release-2.9.0'/>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/'/>
<updated>2025-06-23T21:09:15+00:00</updated>
<entry>
<title>Get door closing time from wagon definition, no longer user configurable, and restore waitsig in stoprail atc command</title>
<updated>2025-06-23T21:09:15+00:00</updated>
<author>
<name>orwell</name>
<email>orwell@bleipb.de</email>
</author>
<published>2025-06-23T21:06:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/commit/?id=e04728f0424d4e42943fc187f295eb62a73bc5ce'/>
<id>urn:sha1:e04728f0424d4e42943fc187f295eb62a73bc5ce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove attrans, unify translation strings with S</title>
<updated>2025-06-10T19:39:50+00:00</updated>
<author>
<name>orwell</name>
<email>orwell@bleipb.de</email>
</author>
<published>2025-06-10T19:39:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/commit/?id=934dcc3f21a6053d3f6fff08a02ede6f75385173'/>
<id>urn:sha1:934dcc3f21a6053d3f6fff08a02ede6f75385173</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ATC: add "G" command to wait for green signal, improve ATC hud, potentially fix LZB issue</title>
<updated>2025-01-28T21:24:03+00:00</updated>
<author>
<name>orwell</name>
<email>orwell@bleipb.de</email>
</author>
<published>2025-01-28T21:24:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/commit/?id=a212310913c33fb855ca0f262beda6d857382ff8'/>
<id>urn:sha1:a212310913c33fb855ca0f262beda6d857382ff8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Various bugfixes found in lunixforks debug</title>
<updated>2025-01-09T07:38:09+00:00</updated>
<author>
<name>orwell</name>
<email>orwell@bleipb.de</email>
</author>
<published>2025-01-08T23:57:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/commit/?id=8c91ce1ec178d6d49f3ddefc57d99eecd0caef3c'/>
<id>urn:sha1:8c91ce1ec178d6d49f3ddefc57d99eecd0caef3c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Node Callbacks: Call Enter/Leave at center of rail (.0 index)</title>
<updated>2024-11-25T19:18:25+00:00</updated>
<author>
<name>orwell</name>
<email>orwell@bleipb.de</email>
</author>
<published>2024-11-25T19:18:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/commit/?id=73c393e223b1d2d81b767d8036c7fdec7ca20100'/>
<id>urn:sha1:73c393e223b1d2d81b767d8036c7fdec7ca20100</id>
<content type='text'>
- Unifies behavior of LZB and node callbacks (has_entered is obsoleted)
- Permits to set signal influence point on a TCB without issues
- Potentially solves bug which was happening when reversing a train at exactly index .5
(PS: Och_Noe will not like this :)
</content>
</entry>
<entry>
<title>Merge branch 'master' into route_prog_rework</title>
<updated>2024-11-11T19:50:28+00:00</updated>
<author>
<name>orwell</name>
<email>orwell@bleipb.de</email>
</author>
<published>2024-11-11T19:50:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/commit/?id=380c26f7a851f4b4edb3879b544a542e7bfbb490'/>
<id>urn:sha1:380c26f7a851f4b4edb3879b544a542e7bfbb490</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement staticdata for trains</title>
<updated>2024-11-09T21:10:06+00:00</updated>
<author>
<name>Y. Wang</name>
<email>y5nw@protonmail.com</email>
</author>
<published>2024-09-20T12:45:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/commit/?id=b075d8e3336dfb2755dd1b9dc29c5320a155013b'/>
<id>urn:sha1:b075d8e3336dfb2755dd1b9dc29c5320a155013b</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Address wagon aliasing issues</title>
<updated>2024-11-09T21:09:00+00:00</updated>
<author>
<name>Y. Wang</name>
<email>y5nw@protonmail.com</email>
</author>
<published>2024-09-19T18:39:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/commit/?id=66868e2eefe97b7a6d35fa3fecc895b9c7bbc4cc'/>
<id>urn:sha1:66868e2eefe97b7a6d35fa3fecc895b9c7bbc4cc</id>
<content type='text'>
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")
</content>
</entry>
<entry>
<title>Fix crashing when train hitting objects without armor group</title>
<updated>2024-11-09T21:06:38+00:00</updated>
<author>
<name>1F616EMO</name>
<email>root@1f616emo.xyz</email>
</author>
<published>2024-09-13T23:36:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/commit/?id=86e80e4cfb0d7017ff962e40ab99a4ab6addf8f2'/>
<id>urn:sha1:86e80e4cfb0d7017ff962e40ab99a4ab6addf8f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Wagon iterator, lookup by id, and use them in code</title>
<updated>2024-11-09T21:00:33+00:00</updated>
<author>
<name>1F616EMO</name>
<email>root@1f616emo.xyz</email>
</author>
<published>2024-10-21T22:59:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bananach.space/advtrains.git/commit/?id=6d3c5a5f38d66a74c7b2bc219ee16f258ba50a2b'/>
<id>urn:sha1:6d3c5a5f38d66a74c7b2bc219ee16f258ba50a2b</id>
<content type='text'>
</content>
</entry>
</feed>
