forked from mirror/OpenTTD
(svn r18283) -Feature: [NewGRF] Add new price bases for removing industries, building/removing unmovables (new objects), building/removing rail-waypoints/buoys, interacting with town-authority, building foundations, funding primary industries (when not prospecting) and towns.
If a GRF does not set price multipliers for these new prices, but for the previously used ones, the old modifiers will be propagated to the new bases.
This commit is contained in:
@@ -6217,8 +6217,21 @@ static void FinalisePriceBaseMultipliers()
|
||||
}
|
||||
}
|
||||
|
||||
/* Decide local/global scope of price base multipliers */
|
||||
/* Apply fallback prices */
|
||||
const GRFFile * const *end = _grf_files.End();
|
||||
for (GRFFile **file = _grf_files.Begin(); file != end; file++) {
|
||||
PriceMultipliers &price_base_multipliers = (*file)->price_base_multipliers;
|
||||
for (Price p = PR_BEGIN; p < PR_END; p++) {
|
||||
Price fallback_price = _price_base_specs[p].fallback_price;
|
||||
if (fallback_price != INVALID_PRICE && (byte)price_base_multipliers[p] == 0x80) {
|
||||
/* No price multiplier has been set.
|
||||
* So copy the multiplier from the fallback price, maybe a multiplier was set there. */
|
||||
price_base_multipliers[p] = price_base_multipliers[fallback_price];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Decide local/global scope of price base multipliers */
|
||||
for (GRFFile **file = _grf_files.Begin(); file != end; file++) {
|
||||
PriceMultipliers &price_base_multipliers = (*file)->price_base_multipliers;
|
||||
for (Price p = PR_BEGIN; p < PR_END; p++) {
|
||||
|
Reference in New Issue
Block a user