mirror of https://github.com/OpenTTD/OpenTTD.git
Fix: #10735: {POP_COLOUR} fails if string is drawn with extra flags.
This commit is contained in:
parent
3ed8c35dfe
commit
23c46e1abf
|
@ -47,7 +47,8 @@ struct FontState {
|
||||||
*/
|
*/
|
||||||
inline void SetColour(TextColour c)
|
inline void SetColour(TextColour c)
|
||||||
{
|
{
|
||||||
assert(c >= TC_BLUE && c <= TC_BLACK);
|
assert((c & TC_COLOUR_MASK) >= TC_BLUE && (c & TC_COLOUR_MASK) <= TC_BLACK);
|
||||||
|
assert((c & (TC_COLOUR_MASK | TC_FLAGS_MASK)) == c);
|
||||||
if ((this->cur_colour & TC_FORCED) == 0) this->cur_colour = c;
|
if ((this->cur_colour & TC_FORCED) == 0) this->cur_colour = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -279,6 +279,9 @@ enum TextColour {
|
||||||
TC_IS_PALETTE_COLOUR = 0x100, ///< Colour value is already a real palette colour index, not an index of a StringColour.
|
TC_IS_PALETTE_COLOUR = 0x100, ///< Colour value is already a real palette colour index, not an index of a StringColour.
|
||||||
TC_NO_SHADE = 0x200, ///< Do not add shading to this text colour.
|
TC_NO_SHADE = 0x200, ///< Do not add shading to this text colour.
|
||||||
TC_FORCED = 0x400, ///< Ignore colour changes from strings.
|
TC_FORCED = 0x400, ///< Ignore colour changes from strings.
|
||||||
|
|
||||||
|
TC_COLOUR_MASK = 0xFF, ///< Mask to test if TextColour (without flags) is within limits.
|
||||||
|
TC_FLAGS_MASK = 0x700, ///< Mask to test if TextColour (with flags) is within limits.
|
||||||
};
|
};
|
||||||
DECLARE_ENUM_AS_BIT_SET(TextColour)
|
DECLARE_ENUM_AS_BIT_SET(TextColour)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue