mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r27426) -Change: Round loading percentage in loading indicators and conditional orders towards 50%, so that 0% and 100% mean completely empty or full.
This commit is contained in:
parent
44d1fc4253
commit
312809228d
|
@ -1290,6 +1290,9 @@ void AgeVehicle(Vehicle *v)
|
|||
* @param front The front vehicle of the consist to check.
|
||||
* @param colour The string to show depending on if we are unloading or loading
|
||||
* @return A percentage of how full the Vehicle is.
|
||||
* Percentages are rounded towards 50%, so that 0% and 100% are only returned
|
||||
* if the vehicle is completely empty or full.
|
||||
* This is useful for both display and conditional orders.
|
||||
*/
|
||||
uint8 CalcPercentVehicleFilled(const Vehicle *front, StringID *colour)
|
||||
{
|
||||
|
@ -1337,7 +1340,13 @@ uint8 CalcPercentVehicleFilled(const Vehicle *front, StringID *colour)
|
|||
if (max == 0) return 100;
|
||||
|
||||
/* Return the percentage */
|
||||
return (count * 100) / max;
|
||||
if (count * 2 < max) {
|
||||
/* Less than 50%; round up, so that 0% means really empty. */
|
||||
return CeilDiv(count * 100, max);
|
||||
} else {
|
||||
/* More than 50%; round down, so that 100% means really full. */
|
||||
return (count * 100) / max;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue