My answer to Loading pattern for multiple convoys to the same destination (http://forum.simutrans.com/index.php?topic=5572.0).
Goods/passengers will use one convoy if several is available. (A lot like loading queue). It works for each player separately.
Github link (http://github.com/inkelyad/simutrans-experimental/tree/loading_queue)
A question about this - will passengers continue to pile into an overcrowded vehicle (thus compromising their comfort and therefore the player's profitability) if non-overcrowded vehicles are available? Also, what happens if, during loading of one convoy, another convoy arrives which will reach the destination faster? Perhaps this is of little relevance to passengers in any event, as it is seldom sensible to set them to wait for a certain loading level; but perhaps overcrowding at least should be excluded from the loading queue?
Quote from: jamespetts on October 23, 2010, 12:36:10 PM
A question about this - will passengers continue to pile into an overcrowded vehicle (thus compromising their comfort and therefore the player's profitability) if non-overcrowded vehicles are available?
Yes, they will. ( convoi_t::hat_gehalten try load convoy up to its max capacity)
Quote
Also, what happens if, during loading of one convoy, another convoy arrives which will reach the destination faster?
There was code to test this (see commented code in line 2362 of simhalt.cc, commit d5346d7c7a709c) but it was bad for some reason ( unwanted oscillations).
Quote
Perhaps this is of little relevance to passengers in any event, as it is seldom sensible to set them to wait for a certain loading level; but perhaps overcrowding at least should be excluded from the loading queue?
It is not queue, technically. It works like this: remember in connexion where we loading. And if said convoy is still here, skip loading in current convoy.
Hmm. Do you think that you could modify this so as not to continue loading an overcrowded convoy (or a convoy about to become overcrowded) when there is a non-overcrowded convoy available? Or alternatively, perhaps, just exclude passengers from the loading queue system entirely (as passengers are rarely that conveniently behaved)?
I'll try. But I need test map first.
Hmm, in the current released version of Pak128.Britain-Ex, most of the vehicles do not have overcrowded capacities, although I have uploaded versions to Github that do. Will this be a problem?
Github version is fine. But what repository? You have too many of them.
This one: http://github.com/jamespetts/simutrans-pak128.britain (http://github.com/jamespetts/simutrans-pak128.britain)
Done (github (http://github.com/inkelyad/simutrans-experimental/tree/loading_queue)). It is a bit ugly, so please read before using. I so not sure everything is right.
I wanted to look at this for Standard too. But I feel unable to find the relevant changes as a diff to this subject only.
Uh. You have to cherry-pick commit d5346d7c7a709ca06f96, e420ea50a2f8afcfc66f, 5103399a6c2e895ef058.
Network feature of git hub should help too.
Honestly, I have no idea how to do that, since installing GIT messes up my mingw runtime, which I need to release simutrans.
d5346d7c7a709ca06f96 (https://github.com/inkelyad/simutrans-experimental/commit/d5346d7c7a709ca06f96),
e420ea50a2f8afcfc66f (https://github.com/inkelyad/simutrans-experimental/commit/e420ea50a2f8afcfc66f),
5103399a6c2e895ef058 (https://github.com/inkelyad/simutrans-experimental/commit/5103399a6c2e895ef058)
But my patch is useless for Standard. I use new field inside struct haltestelle_t::connexion. It is Experemental specific.
Edit:
It works like this:
Each destination remember (inside haltestelle_t) what convoy was used last time. And then haltestelle_t::hole_ab
skip loading if that convoy hasn't left yet.
Loading queue algorithm changed to Standard implementation.
Github link (http://github.com/inkelyad/simutrans-experimental/tree/loading_queue)
Thank you - implemented.
This has now been incorporated into 9.0.