[DGD] Question: Implementing ANSI

Noah Gibbs noah_gibbs at yahoo.com
Fri May 6 23:35:02 CEST 2005


--- Trance Junkie <trance_junkie2002 at hotmail.com> wrote:
> I think I mentioned, that the only dgd-1.1 I could find required Visual C++ 
> to compile,

  Just so that we're on the same page here:  being able to compile with the
ANSI modifications will first require being able to compile.  So I hope
somebody helps you out.  But if nobody does - sorry, dude, you'll just have to
figure out how to compile DGD.

  And yes, Cygwin includes a lot of stuff other than GCC.

> >   On a semi-related note, it is possible to fake ANSI color by 
> > implementing your own telnet protocol in DGD.
>
> The mudlib I'm planning on creating will also be built on top of the kernel 
> library, though the likely result will include a LOT of modification to the 
> standard kernel lib

  Dare I ask why?  There is nothing that can be built in DGD which can't be
built on top of the standard, unmodified kernel.  Make sure you have very good
reasons before modifying the kernel library.  The mailing list has much
discussion on this topic, if that helps.

> I was focusing on 
> the packages which all refer to patching the driver itself,

  Yeah.  That's the easy, messy, nonportable way to do it.

> though I do 
> remember reading somewhere in my researching that the driver either omits or 
> strips ansi codes..

  Sort of.  There are zero or more telnet ports and zero or more binary ports. 
Telnet ports strip telnet command codes and ANSI color codes, plus most control
characters and international characters.  Binary connections do none of these
things.  So you need to implement telnet protocol on the binary port rather
than the telnet port to avoid having all the codes stripped.  But then you've
got to write all your own telnet handling code in LPC - which will also let you
handle all the telnet codes that DGD doesn't support yet, if you're so
inclined.

> I'll research Phantasmal a bit deeper for pointers on how to implement it 
> this way, but any additional help you can give would be greatly appreciated.

  First and foremost, look at the CVS version of Phantasmal.  No
currently-released version has this functionality, only the CVS version. 
You'll be looking at files like "/usr/System/obj/mudclient_conn.c" and
"/usr/System/sys/mudclient_port.c".  Note that "mudclient", in this case,
refers primarily to telnet protocol.  There's some other stuff for other
protocols, but it's not implemented usefully.  And telnet doesn't work
perfectly yet either, it's just much closer to done :-)

> If ansi colour can 
> be implemented without modifying the driver, so much the better.

  You can.  It's just more work.  Again, Phantasmal has a lot of it, but not
all, done already.





		
__________________________________ 
Yahoo! Mail Mobile 
Take Yahoo! Mail with you! Check email on your mobile phone. 
http://mobile.yahoo.com/learn/mail 



More information about the DGD mailing list