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
austin
Beginner


Joined: 07 Dec 2006
Posts: 16

PostPosted: Tue Dec 16, 2008 3:48 pm   

characters overwriting rather than printing in a line
 
One thing that's always bugged me about CMUD is that visual "progress bars" or timers don't display like they do in other mud clients. For example, when I type "bash dog" the mud outputs a stream of characters like:
-=+**+=- -=

Now some mud clients will print out each character in a new space, so the output looks like:
* HP:Healthy MV:Full > bash dog
-=+**+=- -=
Your bash at a small dog sends it sprawling!
* HP:Healthy MV:Full - a small dog: Wounded >

What CMUD does after I type "bash dog" is print out the character "-" then it erases the "-" and overwrites it with "=" and so on. So the final output looks like:
* HP:Healthy MV:Full > bash dog
=
Your bash at a small dog sends it sprawling!
* HP:Healthy MV:Full - a small dog: Wounded >

This is very annoying because it's very difficult to tell how far into my bash I am. With other mud clients, all it takes is a simple glance to instantly know that "-=+**" means I'm about halfway through my bash. But with CMUD, if all I see is "+" I have no idea.

So, does anyone know of a way to make CMUD print characters in a line instead of overwriting?
Reply with quote
charneus
Wizard


Joined: 19 Jun 2005
Posts: 1876
Location: California

PostPosted: Tue Dec 16, 2008 4:14 pm   
 
This sounds like a bug that should have been reported a long time ago, to be honest. If CMUD is eating up characters sent by the MUD, then that's something Zugg would want to look into, because this is very unusual behavior. However, I must state that I just did a #say with your stuff, and it appears for me just fine, so in retrospect, it may be something your MUD is sending that's causing it. Can you do us a favor and turn on script debugger with at least i and j selected under messages? (Possibly a and f as well). We might be able to determine exactly what is happening on your end.

Charneus
Reply with quote
Rahab
Wizard


Joined: 22 Mar 2007
Posts: 2320

PostPosted: Tue Dec 16, 2008 5:36 pm   
 
That is most likely due to codes being sent by your mud. The mud is probably sending escape sequences that work in vanilla telnet, and in Cmud. Other mud clients are probably not properly displaying it. In other words, I suspect that it is *supposed* to look like it does in Cmud, and not the way you are used to in other clients.

The script debugger could be used to see exactly what is being sent by the mud, to verify this.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Dec 16, 2008 5:46 pm   
 
You can turn on the Raw Input/output message in the Script Debugger in CMUD to see exactly what control codes are being sent by the MUD. CMUD is actually fully ANSI compliant and implements the full ANSI cursor control set, and many MUD clients do not implement that, so it's very possible that the MUD is sending invalid control codes and just don't notice it because they use a broken client. Or they might be doing something that uses some other standard, such as xTerm, that isn't part of the ANSI standard. But without seeing the exact control codes the MUD is sending, there isn't much else I can do to help.
Reply with quote
austin
Beginner


Joined: 07 Dec 2006
Posts: 16

PostPosted: Tue Dec 16, 2008 7:53 pm   
 
Okay, the mud is wotmud.org:2222 by the way:

| i WoTMUD <<CR><LF>
0.0000 | The sun begins its journey to its peak in the sky.<CR><LF>
0.0004 | a WoTMUD |* HP:Healthy MV:Strong >
0.0011 | a WoTMUD |The sun begins its journey to its peak in the sky.
0.3063 | i WoTMUD <* HP:Healthy MV:Full >
0.0005 | a WoTMUD ]* HP:Healthy MV:Full >
3.8735 | ---
0.0003 | c WoTMUD | [1] WoTMUD Comline : start :
0.0015 | a WoTMUD |* HP:Healthy MV:Full > bash cute
0.0012 | i WoTMUD >bash cute<CR><LF>
0.0004 | d WoTMUD | [1] WoTMUD Comline : stopped
0.5893 | i WoTMUD <<CR>
0.0000 | <NUL>
0.2668 | i WoTMUD < <CR>
0.0000 | <NUL><CR>
0.0000 | <NUL>
0.0004 | a WoTMUD ]
0.4773 | i WoTMUD <<CR>
0.0000 | <NUL>-
0.0004 | a WoTMUD ]-
0.3255 | i WoTMUD <<CR>
0.0000 | <NUL>=<CR>
0.0000 | <NUL>+
0.0004 | a WoTMUD ]+
0.3033 | i WoTMUD <<CR>
0.0000 | <NUL>*
0.0007 | a WoTMUD ]*
0.3012 | i WoTMUD <<CR>
0.0000 | <NUL>
0.2979 | i WoTMUD <<CR>
0.0000 | <NUL>*
0.0004 | a WoTMUD ]*
0.2995 | i WoTMUD <<CR>
0.0000 | <NUL>+<CR>
0.0000 | <NUL>=
0.0003 | a WoTMUD ]=
0.3015 | i WoTMUD <<CR>
0.0000 | <NUL>-
0.0004 | a WoTMUD ]-
0.2976 | i WoTMUD <<CR>
0.0000 | <NUL>
0.0003 | a WoTMUD ]
0.2894 | i WoTMUD <<CR>
0.0000 | <NUL>-
0.0002 | a WoTMUD ]-
0.3176 | i WoTMUD <<CR>
0.0000 | <NUL>=<CR><LF>
0.0000 | Your bash at a brown deer sends him sprawling!<CR><LF>
0.0000 | * HP:Healthy MV:Full - a brown deer: Scratched >
0.0004 | a WoTMUD |=
0.0003 | a WoTMUD |Your bash at a brown deer sends him sprawling!
0.0003 | a WoTMUD ]* HP:Healthy MV:Full - a brown deer: Scratched >
0.7766 | i WoTMUD <<CR><LF>
0.0000 | <ESC>[32mYou pound a brown deer's body extremely hard.<CR><LF>
0.0000 | <ESC>[0m
0.0003 | a WoTMUD |* HP:Healthy MV:Full - a brown deer: Scratched >
0.0005 | a WoTMUD |You pound a brown deer's body extremely hard.
0.3359 | i WoTMUD <* HP:Healthy MV:Full - a brown deer: Battered >
0.0003 | a WoTMUD ]* HP:Healthy MV:Full - a brown deer: Battered >
3.4469 | i WoTMUD <<CR><LF>
0.0001 | <ESC>[32mYou pound a brown deer's body into bloody fragments!<CR><LF>
0.0000 | <ESC>[0mA brown deer is dead! R.I.P.<CR><LF>
0.0000 | Not tired of this yet?<CR><LF>
0.0000 | Your blood freezes as you hear a brown deer's death cry.<CR><LF>
0.0003 | a WoTMUD |* HP:Healthy MV:Full - a brown deer: Battered >
0.0004 | a WoTMUD |You pound a brown deer's body into bloody fragments!
0.0002 | a WoTMUD |A brown deer is dead! R.I.P.
0.0002 | a WoTMUD |Not tired of this yet?
0.0003 | a WoTMUD |Your blood freezes as you hear a brown deer's death cry.
0.2658 | i WoTMUD <* HP:Healthy MV:Full >
0.0003 | a WoTMUD ]* HP:Healthy MV:Full >
0.0000 |
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Tue Dec 16, 2008 9:42 pm   
 
Yep, it's the MUD. They are sending a bunch of CR NULL codes. This is the Telnet code for "move the cursor to the beginning of the line". So the MUD sends:

CR NULL -
CR NULL =
CR NULL +

etc

In each case, CMUD properly moves the cursor to the beginning of the line and then overwrites the current character at the beginning of the line with the new character.

I have no idea why the MUD is sending this, but it's something you'll need to contact WoTMUD about to find out what they are really trying to accomplish. But CMUD is processing the CR NULL combination correctly.
Reply with quote
Rahab
Wizard


Joined: 22 Mar 2007
Posts: 2320

PostPosted: Wed Dec 17, 2008 2:08 pm   
 
I have seen this kind of thing before, in old telnet or UNIX programs. It serves like a flickering hourglass, changing as it steps through its timing. I think that's the purpose here, to give a visual sense of time passing. It is almost certainly deliberate; too bad a lot of the players never see it the way it was intended.
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5182

PostPosted: Wed Dec 17, 2008 5:47 pm   
 
I would have to second Rahab's opinion that it is intentional. Seeing something like that really brings back memories of my ANSI art animations. This is a very old school technique for doing such an animation, and I am glad CMud handles it correctly.
_________________
The only good questions are the ones we have never answered before.
Search the Forums
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