Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
raviden
Novice


Joined: 02 Nov 2010
Posts: 45

PostPosted: Mon Aug 04, 2014 5:14 pm   

Keeping MUD color through #SUB
 
Hey,

the mud is providing some text with color (ansi/xterm). I'd like to keep that color unchanged while subbing the text. Is there a way to do that?
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Mon Aug 04, 2014 11:19 pm   
 
Not with the #SUBSTITUTE command, unless you happen to know what the color position is (you can provide the coloring yourself, via %ansi() or the mxp color tag or even the raw ansi code).

If you don't need to replace the entire line, check out #PSUB.
_________________
EDIT: I didn't like my old signature
Reply with quote
raviden
Novice


Joined: 02 Nov 2010
Posts: 45

PostPosted: Wed Aug 06, 2014 10:17 pm   
 
What do you mean by 'color position'?
Coloring myself is not an option, the same line can be coloured by MUD in different colors, depending on data I do not have myself.
I do need to replace whole line, unfortunatly.

Is there not an way to extract color data from mud line, f.e. by using color trigger?

What is mxp color tag?
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Thu Aug 07, 2014 12:09 am   
 
Quote:

What do you mean by 'color position'?


I mean it in a literal sense. The place where a color code would go if you were building the line yourself.

Quote:

Coloring myself is not an option, the same line can be coloured by MUD in different colors, depending on data I do not have myself.

Is there not an way to extract color data from mud line, f.e. by using color trigger?


CMud has exactly two color-preservation features. The first one does not let you change anything about the line and is better known as the #CAPTURE command. The second is that ansi codes can be matched on and captured into %1...%99 variables when a trigger's Ansi Trigger option is turned on. Outside of these, no color info of any kind is accessible to the user as it's already been processed out of the text stream.

Quote:

What is mxp color tag?


It's just another formatting scheme, in this case it's a part of the MXP spec (which is itself a mudding-specific extension of the XML language). <color blue>this how a blue piece of text is colored via the mxp color tag</color>.
_________________
EDIT: I didn't like my old signature
Reply with quote
raviden
Novice


Joined: 02 Nov 2010
Posts: 45

PostPosted: Thu Aug 07, 2014 10:17 pm   
 
I used the second one for exit #tagging (Colour trigger), however I have no idea how can I capture ansi / xterm code and use that in %ansi, since I dont see where the code is located in the text.

Could you show me an example of the trigger that assigns ansi codes to %1..%99?

This is how an example collored (ansi) line looks like for exit #tag.

<trigger priority="75570" ansi="true" id="7557">
<pattern>%e[1;32m(*).%e[0m$</pattern>
<value>$name = %1.

#tag name {$name}</value>
</trigger>
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Thu Aug 07, 2014 11:44 pm   
 
You already have the example. If you want to capture data, use () around what you want to capture.
_________________
EDIT: I didn't like my old signature
Reply with quote
raviden
Novice


Joined: 02 Nov 2010
Posts: 45

PostPosted: Fri Aug 08, 2014 3:30 pm   
 
Sorry, I don't know where in that example I can find color data and how to use it properly.
Reply with quote
raviden
Novice


Joined: 02 Nov 2010
Posts: 45

PostPosted: Tue Aug 26, 2014 8:11 pm   
 
Another problem (last one I didn't solve ofc):

The CMUD colours the line properly, but when i #CAPTURE the line into other window, the colour inherited from previous line, that was painting beginning of my captured line is missing. Any idea how to fix that?
Reply with quote
raviden
Novice


Joined: 02 Nov 2010
Posts: 45

PostPosted: Tue Aug 26, 2014 8:26 pm   
 
It seems it's not from previous line. No idea why not colouring while #capture then:

<27>[0m<27>[22;35mText
<27>[0m<27>[22;38;5;68mText2 <27>[0m<27>[35;1mText3

While in main window Text, Text2 and Text3 are properly coloured, when #capturing second line, only Text3 is coloured.
Reply with quote
raviden
Novice


Joined: 02 Nov 2010
Posts: 45

PostPosted: Wed Aug 27, 2014 5:58 pm   
 
-


Last edited by raviden on Wed Aug 27, 2014 6:14 pm; edited 1 time in total
Reply with quote
raviden
Novice


Joined: 02 Nov 2010
Posts: 45

PostPosted: Wed Aug 27, 2014 6:03 pm   
 
No, sorry:


<27>[1z<27>[0m<27>[0m<27>[22;38;5;154m(TEXT).<27>[K

vs

<27>[1z(TEXT).<27>[K

It makes sense why there is no color in second line. How to copy whole line then?
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net