Check for invalid cargoes */
| 935 | |
| 936 | /** Check for invalid cargoes */ |
| 937 | void FinaliseCargoArray() |
| 938 | { |
| 939 | for (CargoSpec &cs : CargoSpec::array) { |
| 940 | if (cs.town_production_effect == INVALID_TPE) { |
| 941 | /* Set default town production effect by cargo label. */ |
| 942 | switch (cs.label.base()) { |
| 943 | case CT_PASSENGERS.base(): cs.town_production_effect = TPE_PASSENGERS; break; |
| 944 | case CT_MAIL.base(): cs.town_production_effect = TPE_MAIL; break; |
| 945 | default: cs.town_production_effect = TPE_NONE; break; |
| 946 | } |
| 947 | } |
| 948 | if (!cs.IsValid()) { |
| 949 | cs.name = cs.name_single = cs.units_volume = STR_NEWGRF_INVALID_CARGO; |
| 950 | cs.quantifier = STR_NEWGRF_INVALID_CARGO_QUANTITY; |
| 951 | cs.abbrev = STR_NEWGRF_INVALID_CARGO_ABBREV; |
| 952 | } |
| 953 | } |
| 954 | } |
| 955 | |
| 956 | /** |
| 957 | * Check if a given housespec is valid and disable it if it's not. |
no test coverage detected