The "largest cargo first" thread there was also discussion on express/local lines.
My remark there was :
QuoteWhat about this option :
Create an option to designate a line as "express line" with this behavior.
Local line : A>B>C>D>E>F
Express line : A> C> F
Unload/Load algorithm for "this line" (generic)
1. Unload all cargo/pass with destination "this station" (as it now now).
2. If there is any expressline visiting "this station" and "this line" is a "non express line"
-> unload cargo/pass which have destination on any "express line"
-> load only cargo/pass which have destination not on any "express line" (using current procedure)
else
-> load using current procedure
This would lead to
-> "express line destinations" not being served by "non express lines"
-> cargo/pass transfer to "express line" when possible
Benefit
-> Not complex ?
-> Full backward compatibility when not using "express lines"
Less realistic
-> Not taken into account that there is a possibility to go "A>C>(D,E)" using "express line" first and then transfer to "non express line"
I took the challenge and created such an option.
Instead of express/local line I used a priority of a line (default = 0)
In order not to need also GUI updates, I used LineNames for giving priority.
First char = '!' -> second char is priority (f.e. !1ExpressLine)
Attached is the following :
- Patch of the ExpressLine update
- A test/example sve file, based on pak64
Patch is based on latest trunk Simutrans
Comments are welcome
Updated attachments