1
0
Fork 0

(svn r12868) [0.6] -Backport from trunk r12795, r12776, r12683, r12681, r12678:

- Fix: Vehicles could break down during loading and keep loading. The intention of the break down code is not to break down when having zero speed, therefor break downs now do not happen when loading [FS#1938] (r12795)
- Fix: [OSX] In some rare cases when using an uncalibrated monitor the system colour space could not be retrieved. Show an error when this happens instead of just trying an assertion (r12776)
- Fix: In some cases a news messages would not be shown [FS#1906] (r12683)
- Fix: When a road vehicle has a tram only stop multiple times in a row in it's orders, only the first one would be skipped [FS#1918] (r12678)
release/0.6
rubidium 2008-04-24 12:32:37 +00:00
parent 4cb6a89e81
commit c973bd87ce
6 changed files with 9 additions and 6 deletions

View File

@ -2150,7 +2150,7 @@ static void AircraftEventHandler(Vehicle *v, int loop)
if (v->breakdown_ctr <= 2) {
HandleBrokenAircraft(v);
} else {
v->breakdown_ctr--;
if (!v->current_order.type == OT_LOADING) v->breakdown_ctr--;
}
}

View File

@ -1022,6 +1022,7 @@ void DeleteVehicleNews(VehicleID vid, StringID news)
if (_total_news == 0) {
assert(_latest_news == _oldest_news);
_latest_news = INVALID_NEWS;
_current_news = INVALID_NEWS;
}
/* Since we only imitate a FIFO removing an arbitrary element does need

View File

@ -790,7 +790,8 @@ static void ProcessRoadVehOrder(Vehicle *v)
if (order->type == v->current_order.type &&
order->flags == v->current_order.flags &&
order->dest == v->current_order.dest) {
order->dest == v->current_order.dest &&
v->dest_tile != 0) {
return;
}
@ -1940,7 +1941,7 @@ static void RoadVehController(Vehicle *v)
HandleBrokenRoadVeh(v);
return;
}
v->breakdown_ctr--;
if (!v->current_order.type == OT_LOADING) v->breakdown_ctr--;
}
if (v->vehstatus & VS_STOPPED) return;

View File

@ -646,7 +646,7 @@ static void ShipController(Vehicle *v)
HandleBrokenShip(v);
return;
}
v->breakdown_ctr--;
if (!v->current_order.type == OT_LOADING) v->breakdown_ctr--;
}
if (v->vehstatus & VS_STOPPED) return;

View File

@ -3570,7 +3570,7 @@ static void TrainLocoHandler(Vehicle *v, bool mode)
HandleBrokenTrain(v);
return;
}
v->breakdown_ctr--;
if (!v->current_order.type == OT_LOADING) v->breakdown_ctr--;
}
if (HasBit(v->u.rail.flags, VRF_REVERSING) && v->cur_speed == 0) {

View File

@ -175,7 +175,8 @@ static CGColorSpaceRef QZ_GetCorrectColorSpace()
CMCloseProfile(sysProfile);
}
assert(colorSpace != NULL);
if (colorSpace == NULL)
error("Could not get system colour space. You might need to recalibrate your monitor.");
}
return colorSpace;