(svn r18404) -Codechange: link drive through stops better together

-Feature: make penalty for road stop occupancy user configurable
-Fix [FS#1944]: road vehicles would not pick an empty drive through stop. Now they will *if* the penalty for driving around is less than the occupancy penalty
-Fix [FS#1495]: long (articulated) road vehicles could block loading of others when the following road vehicle already got 'permission' to go to the next bay even when it could not reach it
-Change: improve the throughput of the drive through road stops by letting them stop closer together
This commit is contained in:
rubidium
2009-12-04 20:52:19 +00:00
parent 53416773ee
commit 0fed86a779
16 changed files with 459 additions and 50 deletions

View File

@@ -1096,6 +1096,16 @@ void StateGameLoop()
CallWindowTickEvent();
NewsLoop();
} else {
/* Temporary strict checking of the road stop cache entries */
const RoadStop *rs;
FOR_ALL_ROADSTOPS(rs) {
if (IsStandardRoadStopTile(rs->xy)) continue;
assert(rs->GetEntry(DIAGDIR_NE) != rs->GetEntry(DIAGDIR_NW));
rs->GetEntry(DIAGDIR_NE)->CheckIntegrity(rs);
rs->GetEntry(DIAGDIR_NW)->CheckIntegrity(rs);
}
if (_debug_desync_level > 1) {
Vehicle *v;
FOR_ALL_VEHICLES(v) {