[Fixed] Text colour incorrect at start of a line

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Text colour incorrect at start of a line

Postby Talon1024 » Sun Mar 14, 2021 12:45 pm

Here's an example. The opening parenthesis before the URL should be gray, but it is orange. Only the URL should be orange.
Talon1024
 
 
 
Joined: 27 Jun 2016
Github ID: Talon1024
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: nVidia with Vulkan support

Re: Text colour incorrect at start of a line

Postby Marisa Kirisame » Sun Mar 14, 2021 2:06 pm

I can confirm this has been happening for a long time, seemingly arbitrarily, every time line breaking is involved. I just never figured a way to reproduce it consistently, though, so it's nice to see a proper report.
User avatar
Marisa Kirisame
ZScript Crimester
 
 
 
Joined: 08 Feb 2008
Location: Vigo, Galicia
Discord: 霧雨魔理沙#1666
Twitch ID: MarisaDOOM
Github ID: OrdinaryMagician
Operating System: Other Linux 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Text colour incorrect at start of a line

Postby Graf Zahl » Sun Mar 14, 2021 2:45 pm

If this is about line breaking screwing up text colors, yes, this is ancient. However, due to the inevitable fact that some mods depend on it it could not be fixed.
For multiline text, each line needs to start with a color control code then.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Text colour incorrect at start of a line

Postby Marisa Kirisame » Sun Mar 14, 2021 3:24 pm

Mods depend on broken color when breaking lines?
User avatar
Marisa Kirisame
ZScript Crimester
 
 
 
Joined: 08 Feb 2008
Location: Vigo, Galicia
Discord: 霧雨魔理沙#1666
Twitch ID: MarisaDOOM
Github ID: OrdinaryMagician
Operating System: Other Linux 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Text colour incorrect at start of a line

Postby Graf Zahl » Sun Mar 14, 2021 3:49 pm

Don't ask me, this was more than 10 years ago. Randi declined to fix it back then.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: Text colour incorrect at start of a line

Postby Talon1024 » Sun Mar 14, 2021 5:08 pm

Graf Zahl wrote:For multiline text, each line needs to start with a color control code then.


It's not exactly multi-line... It's one line of text, but it gets wrapped to 4 lines because of the SetHudSize call.
Talon1024
 
 
 
Joined: 27 Jun 2016
Github ID: Talon1024
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit
Graphics Processor: nVidia with Vulkan support

Re: Text colour incorrect at start of a line

Postby Marisa Kirisame » Mon Mar 15, 2021 3:59 am

Looking at V_BreakLines it does seem that it TRIES to preserve color escapes when splitting a line in half, but it doesn't always work, even though one quick look through the code tells me everything is fine, but maybe it goes deeper.
User avatar
Marisa Kirisame
ZScript Crimester
 
 
 
Joined: 08 Feb 2008
Location: Vigo, Galicia
Discord: 霧雨魔理沙#1666
Twitch ID: MarisaDOOM
Github ID: OrdinaryMagician
Operating System: Other Linux 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Text colour incorrect at start of a line

Postby AFADoomer » Fri Apr 23, 2021 9:05 pm

I think we have narrowed down the cause of this bug...

V_BreakLines does not account for colors that are defined after the space that ends up being use to split the string into lines once the max width is hit...

So something nonsensical like this:
SetHudSize(640, 400, 1);
SetHUDWrapWidth(150);
HudMessage(s:"\cCThis is a test string\cR!!!!!!!!"; 0, 1, CR_UNTRANSLATED, 100.0, 100.0, 0, 1.0);

...would end up split between 'test' and 'string', but because the "\cR" would have already been parsed before the max width was hit (but after the last whitespace was set), the next line would start out colored dark red (R), despite still being supposed to be gray (C).

Simple map with this script included is attached.
You do not have the required permissions to view the files attached to this post.
User avatar
AFADoomer
 
Joined: 15 Jul 2003

Re: Text colour incorrect at start of a line

Postby Graf Zahl » Wed Aug 11, 2021 8:02 am

Yeah, this was rather dumb. Fixed
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany


Return to Closed Bugs

Who is online

Users browsing this forum: No registered users and 0 guests