[DGD] A simple lib
Robert Forshaw
iouswuoibev at hotmail.com
Tue Jan 6 17:44:54 CET 2004
I originally began coding my mudlib in MudOS, then I realised it lacked
certain features I wanted and moved to LDMUD. Now I've discovered DGD and
I've decided to build a mudlib from scratch.
After taking a look at the kernel lib it seemed sophisticated but also very
complicated, with lots of resource management and security functionality
that I wasn't going to try and understand (I would rather implent everything
I need from scratch). Right now, I'm just trying to write something that
works, nothing more, nothing less. I am using the windows port of DGD 1.2.
I have been attempting to code a login process (which I think I have done
successfully) which initiates when attempting to connect via the specified
telnet port. It compiles and then clones a user object and then returns it
from telnet_connect(). After that... well, nothing happens! I try to connect
and it either immediately drops my connection or hangs around forever (I
think the hanging around forever is how it should be). The DGD window
becomes impossible to close except via the task manager. It totally refuses
to print any messages to the terminal or the DGD window.
I've uploaded the relevent code here:
http://www.rbf.org.uk/basiclib.zip.
Its not much to look at. I have auto.c, which contains a few custom
functions (if I want to have what are effectually 'sfuns', is this the right
place to put them? Reason I ask is, don't they get loaded into every object
even when they aren't required? I've also had to include them in driver.c,
so it would appear the auto object isn't loaded 'everywhere'), driver.c,
where I basically copied all the functions and accompanied text from
/doc/introduction and added code where I thought it to be necessary.
Interactive.c I've added some functions to divert input to various
functions, and user.c. which is the object that telnet_connect() is supposed
to be cloning, and inherits interactive.c.
Incidently, is there any way to transfer 'interactivity' to a different
object and destruct the old one? Right now the only way I can see to do it
is to pass messages from the object returned by telnet_connect() to whatever
object you want, but it still requires the first object to exist and is
where the messages first go to. MUDOS and LDMUD both have this feature, so
it would appear that DGD should also?
Another missing feature that kept causing errors until I noticed it is the
absence of // style comments. Or are they supported in a more recent patch?
I haven't figured out how to patch DGD for windows. Do I have to install
Cygwin?
That's all for now, thanks.
_________________________________________________________________
It's fast, it's easy and it's free. Get MSN Messenger today!
http://www.msn.co.uk/messenger
_________________________________________________________________
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list