the silver tubular bridge has gray track and gray ground "inside" the bridge
#7 Updated by planetmaker almost 7 years ago
Differences must be found between recolour sprites 0x321 and 0x323
static const PaletteID PALETTE_TO_STRUCT_YELLOW = 0x321; // Sets the bridge colour to yellow (suspension and tubular)
static const PaletteID PALETTE_TO_TRANSPARENT = 0x322; // This sets the sprite to transparent
/* This is used for changing the tubular bridges to the silicon display, or some grayish colour */
static const PaletteID PALETTE_TO_STRUCT_GREY = 0x323;
#11 Updated by foobar over 6 years ago
It came to my attention that PALETTE_TO_STRUCT_YELLOW translates all 10 "bridge-brown" colours, while PALETTE_TO_STRUCT_CONCRETE only translates the middle 8 of those colours. This is basically the reason why the tubular bridge works fine in yellow, but shows ugly brown pixels in grey.
One solution could be to repaint the bridge and loose some detail such that it only uses 8 colours. The other (IMO correct) solution would be to modify the colour translation table to actually translate all 10 "bridge-browns" to concrete-ish colours, like yellow does.
A patch to this extent is attached, as well as a screenshot showing how the bridge looks now and how it will look with the patch applied.
It has to be noted that other OpenGFX sprites (as well as third party NewGRFs) possibly rely on the outer two brown colours not being translated. If that is actually the case is not too easy to establish.
We could go ahead and apply this patch and announce the change at the forums. If no bugreports pop up and nobody else complains about the new behaviour we can leave it in, otherwise we have to resort to repainting the bridge. If no problems occur, I'm in favour of applying this also in OpenTTD's "fix TTD sprites".
#12 Updated by planetmaker over 6 years ago
Well, cannot change the recolour sprites, as that needs to be a base set independent sprite or the colour translation result will be different on different base sets... except we fix the openttd.grf as well...
It actually can be argued that the default recolour sprites could be taken out of the base sets for this reason, but that seems to be not be worth the trouble... tmwftlg