<!-- MHonArc v2.4.4 --> <!--X-Subject: Re: Resets and repops --> <!--X-From-R13: ptNnzv-pt.UenlEntr.Sqzbagba.OP.QO (Quevf Uenl) --> <!--X-Date: from babe.globecomm.net [207.51.48.8] by mx01.ca.us.ibm.net id 859187147.76138-1 Mon Mar 24 07:05:47 1997 --> <!--X-Message-Id: 9703232348.7wc6@ami-cg.GraySage.Edmonton.AB.CA --> <!--X-Content-Type: text/plain --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, Re: Resets and repops</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00195.html">Previous</a> | <a href="msg00196.html">Next</a> ] Thread: [ <a href="msg00195.html">Previous</a> | <a href="msg00196.html">Next</a> ] Index: [ <A HREF="author.html#00194">Author</A> | <A HREF="#00194">Date</A> | <A HREF="thread.html#00194">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>Re: Resets and repops</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI> <LI><em>Subject</em>: Re: Resets and repops</LI> <LI><em>From</em>: <A HREF="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</A> (Chris Gray)</LI> <LI><em>Date</em>: Sun, 23 Mar 97 16:48:48 MST</LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> :Yeah, we do this. Although we don't chunk together the messages (no cr/lf's :except to break up natural text blocks) in order to increase readability, :we do have basically three seperate windows. There is a single status bar :line which replaces the normal mud prompt, and contains things like your :fatigue level, what task you're currently doing, and whatever else you desire :to throw in there. Everything above this line is the text window, and :everything below it is the command line. This is user configurable, but :normally you have a single line for text input, leaving screen height - 2 :lines availible for text output. :I fooled around with ncurses for a while, trying to get it to work with :descriptors, but it was both hacky and not very quick, so I finally gave :up and just did it with raw vt-100 codes. (If anyone wants the reference :I used or the even the code let me know, I've posted it to r.g.m.a and :alt.mud.programming before as well.) :As it is we don't even support non-vt100 terminals, which I suppose is a bad :thing. One of these days I'll put support for 'normal' mud output (ie an :undefined teletype style terminal), but the windowed thing is just soooooo :nice that I'm loathe to actually do so. Sounds similar to mine. I don't have a status line in the text window, but the scenario could do that in the graphics window if desired. So, there is no separation between the input line and the output area. This makes is look quite natural when you hit RETURN, since your input line is just inserted, prompt-included, into the output area. Do you use the 'readline' functions to allow input history editing? I find that quite useful, especially when you get into situations like combat, where you enter the same comands[s] multiple times. I do output formatting in two places. The server does the main stuff, based on three things: the current indent amount the current output prefix if any (I use this to distinguish output produced in some special way, e.g. from a remote viewer) the current output width (defaults to the width of the client's text area, but can be changed by the scenario) The client will also do word-wrapping, but that's really only a fall-back when you force the server to believe an incorrect width. There can also optionally be a leading '@' to distinguish output produced by apprentice code as opposed to full wizard code. I've found that these, in combination with prompt-changing, allow me to do pretty much everything I've thought of so far. Of course, I *do* require a custom client for this. Without the custom client, I so far don't do anything at all, so you get the usual mishmash of input and output. Does anyone have any nice code for using the telnet protocol to improve the output a bit? Right now I just use simple text I/O both ways, but my understanding is that you can handshake with a telnet program to get it to do some handy things for you. I know it can do password blanking, but I'm hoping there is more there, too. -- Chris Gray cg#ami-cg,GraySage.Edmonton.AB.CA </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00195.html">Re: Resets and repops</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00196.html">Re: Resets and repops</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00195.html">Re: Resets and repops</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00196.html">Re: Resets and repops</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00194"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00194"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><STRONG>Re: Resets and repops</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00188" HREF="msg00188.html">Re: Resets and repops</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Mon 24 Mar 1997, 03:44 GMT </LI> <LI><strong><A NAME="00189" HREF="msg00189.html">Re: Resets and repops</A></strong>, Nathan Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Mon 24 Mar 1997, 03:52 GMT </LI> <LI><strong><A NAME="00197" HREF="msg00197.html">Re: Resets and repops</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 24 Mar 1997, 15:01 GMT </LI> <LI><strong><A NAME="00195" HREF="msg00195.html">Re: Resets and repops</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 24 Mar 1997, 15:01 GMT </LI> <LI><strong><A NAME="00194" HREF="msg00194.html">Re: Resets and repops</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 24 Mar 1997, 15:05 GMT </LI> <LI><strong><A NAME="00196" HREF="msg00196.html">Re: Resets and repops</A></strong>, Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Mon 24 Mar 1997, 15:05 GMT </LI> <LI><strong><A NAME="00201" HREF="msg00201.html">Re: Resets and repops</A></strong>, Adam Wiggins <a href="mailto:nightfall#inficad,com">nightfall#inficad,com</a>, Tue 25 Mar 1997, 13:00 GMT </LI> <LI><strong><A NAME="00218" HREF="msg00218.html">Re: Resets and repops</A></strong>, claw <a href="mailto:claw#null,net">claw#null,net</a>, Wed 26 Mar 1997, 01:26 GMT </LI> <LI><strong><A NAME="00209" HREF="msg00209.html">Re: Resets and repops</A></strong>, claw <a href="mailto:claw#null,net">claw#null,net</a>, Wed 26 Mar 1997, 01:44 GMT </LI> </ul> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>