michael blunck wrote:
that probably needs some overhaul on how vehicles are stored/processed. in particular, vehicle chains need to be doubly linked lists [maybe they already are, haven't checked], so processing vehicle movement can run through them in one way, while NewGRF property/callabck evaluation an run the other way. afair Frosch has done some preliminary work on this once
Maybe "reworking reversing" would be also beneficial for the old "push-pull" problem?
that would be "just" an addon where the NewGRF would return a callback result about "may run backwards"
however, going down this path opens up a few other cans of worms. like, if you attach an engine to a train that already has an engine on the other side (e.g. a banking engine), which side should now be considered "forward".
Querying the engine
Some applications need querying the engine, either by "wagon override" or by using CB36. E.g., consists of rail cars expanded by (non-motorized) coaches. Usually, these come in fitting liveries, which get broken on decoupling. Supplying coaches with fitting liveries would be excessive, and would confuse the player. There needs to be some method to either retain the overridden livery, or to prevent such trains from decoupling (set by the newgrf).
that's why i originally suggested that livery oerride should prevent shunting.
however, the most extreme corner case i can think of right now that might be worth testing: In the DBSetXL, version 0.82 (the "current" version), the ET87 has only 1hp, and only gets ists "real" hp from attaching powered wagons, which afair also change length. while this is easily the worst way i have seen people abuse wagon override, it is a real-world-existing way, so it should be addressed somehow
Although there´s maintenance cost for wagons, there´s no real "maintenance" for wagons in depots
yes, "last maintained" date only gets set on the front engine. this is also a minor problem when you take apart an older train inside the depot which consists of multiple engines. the previously non-front engine will get a "wrong" livery, and only update its livery on being "serviced" while exiting the depot.
michael blunck wrote:
[...] one thing that is probably going to cause trouble for shunting is "powered wagons"
IIRC, I´ve never used that feature (MUs can be better modeled by articulated vehicles). Would be interesting to see which train sets are using it.
i do realize that you're living in a parallel universe where there is a DBSet 0.9, however, the rest of us must still live with your horrible hacks from over a decade ago...
You might not exactly be interested in Ferion
, but if you are, have fun