You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current recolouring algorithm for company colours, bridge recolours, etc. in 32bpp is extremely bright. This leads to several problems. For a "sensible" 32bpp render (using all grey values from 0 to 255) recolouring is essentially always too bright.
For a test grf which demonstrates this problem see 32bppCCDemo.grf. To see the result of the recolouring open the company information window. The bus showing the company colour is replaced with a 32bpp image with grey values from 0 (left) to 255 (right) recoloured with the 8 company colour shades from darkest (top) to lightest (bottom).
Even using the darkest company colour in the 8bpp recolour masks company colours are easily oversaturated. When using the darkest company colour for reshading light company colours (like white, orange, yellow) saturate uncontrollably. Recolouring_Brightness1.png
It is impossible to achieve sensible recolourings for some company colours (brown, purple) when forced to use the darkest shades of company colour in the 8bpp recolour mask. Brown goes to orange and purple to pink. Recolouring_Brightness2.png
The current recolouring algorithm is:
pixel = colour_from_palette * max(R,G,B) / 64
I suggest it is changed to:
pixel = colour_from_palette * max(R,G,B) / 128
This would allow the use of lighter shades of company colour in recolour masks (solving problem 2) and solve oversaturation problems (problem 1). Solving this issue quickly is important before too many 32bpp graphics are available which depend on the recolouring algorithm.
These examples focus on company colours, but bridge recolours and similar also have the same problems.
Zephyris opened the ticket and wrote:
Attachments
Reported version: Version?
Operating system: All
This issue was imported from FlySpray: https://bugs.openttd.org/task/5316
The text was updated successfully, but these errors were encountered: