mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-09 07:29:44 +00:00
(svn r19277) -Fix [FS#3646]: [NewGRF] Ensure prices can't be set to zero. Zero prices break a lot of the internal logic to determine whether something has been done.
This commit is contained in:
parent
d9b2bf78c5
commit
e338c26504
@ -668,6 +668,16 @@ void RecomputePrices()
|
||||
price >>= -shift;
|
||||
}
|
||||
|
||||
/* Make sure the price does not get reduced to zero.
|
||||
* Zero breaks quite a few commands that use a zero
|
||||
* cost to see whether something got changed or not
|
||||
* and based on that cause an error. When the price
|
||||
* is zero that fails even when things are done. */
|
||||
if (price == 0) {
|
||||
price = Clamp(_price_base_specs[i].start_price, -1, 1);
|
||||
/* No base price should be zero, but be sure. */
|
||||
assert(price != 0);
|
||||
}
|
||||
/* Store value */
|
||||
_price[i] = price;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user