[Home] [Downloads] [Search] [Help/forum]

Gammon Software Solutions forum

See www.mushclient.com/spam for dealing with forum spam. Please read the MUSHclient FAQ!

[Folder]  Entire forum
-> [Folder]  MUSHclient
. -> [Folder]  General
. . -> [Subject]  Display Problem
Home  |  Users  |  Search  |  FAQ
Username:
Register forum user name
Password:
Forgotten password?

Display Problem

[Reply to this subject]  Reply to this subject   [New subject]  Start a new subject   [Refresh] Refresh page


Posted by Fadedparadox   USA  (91 posts)  [Biography] bio
Date Wed 01 Jul 2009 01:44 AM (UTC)  quote  ]

Amended on Wed 01 Jul 2009 01:45 AM (UTC) by Fadedparadox

Message
I'm not sure if this is a problem in MUSHclient, or with one of my settings. In some lines in Achaea where the text from titles is too long, it displays an unprintable character (odd square) for every letter that is too long. My guess is Achaea send some sort of 'backspace' char that MUSHclient isn't recognizing. Any enlightenment would be helpful.

Here's what I see:

http://sites.google.com/site/trevizemoonflair/stuff/temp_mush.png

And here's the section of the packet involved:

 the Apocalypse,   20 74 68 65 20 41 70 6f 63 61 6c 79 70 73 65 2c
 .[36mImyrr.[37m   20 1b 5b 33 36 6d 49 6d 79 72 72 1b 5b 33 37 6d
 Rousseau, Angel   20 52 6f 75 73 73 65 61 75 2c 20 41 6e 67 65 6c
 of Destruction.   20 6f 66 20 44 65 73 74 72 75 63 74 69 6f 6e 08
  6  On  Occulti   20 20 36 20 20 4f 6e 20 20 4f 63 63 75 6c 74 69


It displays fine in every other MUD client I've tried.
[Go to top] top

Posted by Nick Gammon   Australia  (19,470 posts)  [Biography] bio   Forum Administrator
Date Reply #1 on Wed 01 Jul 2009 03:45 AM (UTC)  quote  ]

Amended on Wed 01 Jul 2009 07:32 AM (UTC) by Nick Gammon

Message
That is really weird. Why on earth would a server send backspaces out like that? I mean, if you edit a document in notepad, and find a misspelt word (like "doog") and position the cursor to the right of the second "o" and hit backspace, then the "o" should be removed. It doesn't store: "doo\08g" in the document, and hope that the person looking at it will think "Oh, I have to backspace out that o there".

Let me put it another way - backspace is intended for humans to correct typing errors, so you backspace them out. It isn't really intended for servers (which are machines) to send out text and then "oops I meant to omit that last character, here I'll transmit a backspace, you do it for me".

Anyway, after my rant, see this thread:

http://www.gammon.com.au/forum/bbshowpost.php?id=5724

(Warning - another rant in there - also a solution in the form of a plugin).

Also see:

http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=4283

In that thread I point out that, what is supposed to happen if the server "backspaces" out a newline? Is the newline there or not? Bear in mind that MUSHclient process newlines as they are received (which is when triggers are processed), it doesn't look ahead to see if there is a backspace further on (especially as "further on" might be in a packet which hasn't been received yet).

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Nick Gammon   Australia  (19,470 posts)  [Biography] bio   Forum Administrator
Date Reply #2 on Wed 01 Jul 2009 03:55 AM (UTC)  quote  ]
Message
Just before I totally calm down - isn't it amazing there servers are *still* doing this? This issue was raised in 2004 and then in 2005.

A server is sending out a who list, and if names are too long, it doesn't simply truncate them - which is the logical thing to do - to fit into the list. Instead it sends out the too-long name, followed by backspace characters. This is just adding to the amount of data that needs to be sent in the first place - it also is likely to throw out any triggers which are set to match on that line.

I mean, what happens if they want to limit a chat message to 100 characters, but someone types in 200 characters. Do they send out the 200 characters followed by 100 backspaces? The whole thing is crazy.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by David Haley   USA  (3,881 posts)  [Biography] bio   Moderator
Date Reply #3 on Wed 01 Jul 2009 06:03 PM (UTC)  quote  ]
Message
Almost seems like it's more work to do the whole backspace thing than to just print out the string with the appropriate cap in the first place. What a bizarre thing to do.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
[Go to top] top

Posted by Shadowfyr   USA  (1,776 posts)  [Biography] bio
Date Reply #4 on Wed 01 Jul 2009 06:58 PM (UTC)  quote  ]
Message
The code they are using is probably borrowed from much earlier code for the old BBS systems, whose clients fully supported backspace as both incoming and outgoing data, when editing things. Someone simply never bothered to "fix" it, since at the time there probably wasn't a lot of "left(<string>, <number>)" functions around, and those that did exist would probably have taken "more" time than sending the sequences.

Its rather absurd, but understandable, if someone used old code, then figured on all clients working with it anyway, so didn't bother to apply something saner to it.

main {
__if (Schrodinger_Cat is Alive or version >= "XP"){
____if version = "Vista" then Performance /= Number_of_Cores;
____call Functional_Code();}
__else
____call Crash_Windows();}
[Go to top] top

Posted by David Haley   USA  (3,881 posts)  [Biography] bio   Moderator
Date Reply #5 on Wed 01 Jul 2009 08:09 PM (UTC)  quote  ]
Message
Quote:
Someone simply never bothered to "fix" it, since at the time there probably wasn't a lot of "left(<string>, <number>)" functions around, and those that did exist would probably have taken "more" time than sending the sequences.

Sorry, I don't agree with the claim that it's more efficient to send backspaces. The correct solution would be to simply say: from string X, output at most 80 characters. Sending backspaces requires you to first count how many characters are in the string, and then send the appropriate number of backspaces.

So far it strikes me as very odd pretty much no matter how you look at it.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
[Go to top] top

Posted by Fadedparadox   USA  (91 posts)  [Biography] bio
Date Reply #6 on Wed 01 Jul 2009 10:22 PM (UTC)  quote  ]

Amended on Wed 01 Jul 2009 10:23 PM (UTC) by Fadedparadox

Message
I do agree it's silly for the MUD, and I have emailed the admins about it at least once before. It is lazy coding on the part of whoever did it. But I still have to live with it doing it since they haven't fixed it.

I did get the plugin, thanks! Nick, would you mind if I hosted this on my site, for Achaea plugins? I'd give you credit, of course, and leave it in its original form.
[Go to top] top

Posted by Nick Gammon   Australia  (19,470 posts)  [Biography] bio   Forum Administrator
Date Reply #7 on Thu 02 Jul 2009 01:13 AM (UTC)  quote  ]
Message
Sure, go ahead.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Fadedparadox   USA  (91 posts)  [Biography] bio
Date Reply #8 on Thu 02 Jul 2009 01:42 AM (UTC)  quote  ]

Amended on Sat 04 Jul 2009 08:24 AM (UTC) by Fadedparadox

Message
Thanks! It's now here:

http://sites.google.com/site/trevizemoonflair/plugins/backspace
[Go to top] top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


4,160 views.

[Reply to this subject]  Reply to this subject   [New subject]  Start a new subject   [Refresh] Refresh page

Go to topic:           Search the forum


[Go to top] top

Quick links: MUSHclient. MUSHclient help. Forum shortcuts. Posting templates. Lua modules. Lua documentation.

[Home]

Written by Nick Gammon - 5K

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( http://www.gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Web site powered by FutureQuest.Net]