From fbc232569c149518911ca66fa8d71e2ef2183439 Mon Sep 17 00:00:00 2001 From: PeterN Date: Sat, 24 Apr 2021 22:27:47 +0100 Subject: [PATCH] Fix #9097: Upper 16 bits of cargo base payment rate were discarded. (#9098) NewGRF spec says that base payment rate is 32 bits, but it was loaded into a 16 bit variable. This value is loaded into Money variable after inflation is applied. --- src/cargotype.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cargotype.h b/src/cargotype.h index 9645bf7c59..f6b3eaead5 100644 --- a/src/cargotype.h +++ b/src/cargotype.h @@ -59,7 +59,7 @@ struct CargoSpec { uint8 rating_colour; uint8 weight; ///< Weight of a single unit of this cargo type in 1/16 ton (62.5 kg). uint16 multiplier; ///< Capacity multiplier for vehicles. (8 fractional bits) - uint16 initial_payment; + uint32 initial_payment; ///< Initial payment rate before inflation is applied. uint8 transit_days[2]; bool is_freight; ///< Cargo type is considered to be freight (affects train freight multiplier).