Currently cargo distribution in OpenTTD is switched on and off by a rather crude collection of settings: You can choose the distribution mode for passengers, mail, valuables, or "other" cargo. Internally this works by checking if the cargo belongs to the respective cargo classes, where passengers overrides mail and valuables, and mail overrides valuables. So far NewGRFs that define those cargoes have no way of finding out about those settings.
There has been a suggestion to expose the distribution mode as NewGRF property of cargoes. Like that NewGRFs could read (e.g. to reduce passenger production) or possibly set the distribution mode for specific cargoes. If NewGRFs were to be able to set the distribution mode for single cargoes, that would enable more fine grained control over which cargoes are distributed how. We'd need to define how the interaction with the settings works. I see the following possibilities:
- NewGRF overrides setting. You could still set the distribution mode for cargoes that don't specify the property, but if the NewGRF specifies it the player cannot change it.
- Setting overrides NewGRF. The NewGRF could specify the distribution mode and the setting would have a default value "NewGRF defined", which would accept that. By changing the setting to any of the actual distribution types the player could override the NewGRF property.
- No setting. Distribution mode would be manual unless some NewGRF is loaded that defines it.
Option 2 initially sounds like a good idea as it gives sufficient control to both the NewGRF author and the player. However, from an architectural point of view it seems messy. NewGRFs can already provide their own settings which could allow a player to choose a distribution mode for NewGRF defined cargoes. Having a separate setting elsewhere to override it is redundant and confusing. With that in mind Option 3 is not as extreme as it seems. We could provide a minimal NewGRF that just allows you to set the distribution mode for the default cargoes. Load that and you get the same options as before and some more.
The guy on the picture is not me, it's Alonso.