[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