Almost seems like you need to make a FILO list (stack?) on a character with the bottom position being something special so you don't try to pop off a value that you shouldn't. Have a variable on the char store the current color, every time you see a color push the current one onto the stack and every time you see the &n for example, pop a color off the stack and use it to clear the old color settings. You would probably want to do this in the process_color() and replace all the &n's with an appropriate color. Designate another variable to be your normal (default) color scheme. --Angus Patrick Dughi <dughi@IMAXX.NET> on 04/30/99 05:59:21 PM A minor cosmetic problem I've noticed with color is that while reading a message, or some other long string pushed through page_string(), color doesn't stay what it ought to if it's interrupted. If I am reading a board or something, and get a tell (which has color in it, and terminates by 'returning' the color to nothing, or default) the color in the message that I am reading is also nulled out. So, I need to either a) register each color a character recieves make the 'saved' color immutable once they recieve the line that reads: [Return to continue, (q)uit, (r)efresh, (b)ack, or page number (x/x) ] (or something like that) return to 'saved' color after return, q, refresh, back, or page number? or b) find a way to query the client for it's current color, and save that state, and return it when you're done. In anycase, I was curious if anyone else tackled this one. It seems like it could possibly be done in a better way. PjD +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+ +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST