Text colour incorrect at start of a line

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: Text colour incorrect at start of a line

Re: Text colour incorrect at start of a line

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

Yeah, this was rather dumb. Fixed

Re: Text colour incorrect at start of a line

by 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.
Attachments
MAP01.wad
(1.91 KiB) Downloaded 49 times

Re: Text colour incorrect at start of a line

by Marisa the Magician » 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.

Re: Text colour incorrect at start of a line

by 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.

Re: Text colour incorrect at start of a line

by 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.

Re: Text colour incorrect at start of a line

by Marisa the Magician » Sun Mar 14, 2021 3:24 pm

Mods depend on broken color when breaking lines?

Re: Text colour incorrect at start of a line

by 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.

Re: Text colour incorrect at start of a line

by Marisa the Magician » 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.

Text colour incorrect at start of a line

by 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.

Top