Re: [Code] new_prompt.diff patch

From: Daniel Koepke (dkoepke@california.com)
Date: 02/25/97


On Tue, 25 Feb 1997, John Evans wrote:

> I had this same problem. I tracked it down to the fact that a custom
> prompt longer than 256 bytes long would crash the mud when it
> (was attempting to be) displayed. I didn't have any problems with people
> saving, but the prompt display is called more often than the character
> save, so I prolly didn't have time to get to that stage.

Wow, I didn't have any such problem on my Linux system...

> I also added in some code to make sure that no one could make a custom
> prompt above this new 512 byte limit. Keep in mind that each color change
> is approx 10 bytes in size, and the %o and %t flags in the prompt have
> several color changes and data up to an additional 40? bytes (20 bytes for
> %t) for the name of the mob/player that will be displayed.

I'll add the length limit and update the patch (yah, sure I will,
like I ever do half of what I say I will) after I can think properly
again (I've had a migrane since a bit before 1p today, and some advil
at 1:15 did nothing [it actually got worse!] and some tylenol at 6p
did nothing, either). I'll put it in my TODO list. Although, the more
I think about it, I never read my TODO list, just add stuff to it...

Anyway, as far as the byte count goes for colors. Using my color system
the average color code is 7bytes long (\x1b being only one byte). I
figured that was just about as efficient as you could get them in both
shorter and longer strings. My original plan was to do it so that you
do an individual code for turning on/off intense colors. So, like:

  &h&rThis is high-intensity. &n&rAnd this would be normal.

...which would be 4bytes for each color code, but in longer strings
you get the problem of having "&h&rh&n&me&wl&h&bl&n&co" which is very
inconvenient and hard to follow for players and really doesn't save
that much space. Now, if there was an universally supported code to
turn off high intensity and not affect background color, then it could
get highly efficient as it already is, having color codes of only 3
bytes on average. But since I'm unaware of such a code that is
supported in wide, I have to use 0 to turn off intensity, which means
that I have to keep adding in the background color.

There is some efficiency, though, that can be gained. I think I'll
try something out now (screw the headache).


--
Daniel Koepke
dkoepke@california.com
Forgive me father, for I am sin.


+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |
|    Or send 'info circle' to majordomo@cspo.queensu.ca     |
+-----------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/18/00 PST