[DGD] yet another object manager question.. or two

Mercy mercy at desolation.org
Fri Apr 9 03:38:25 CEST 2004


Hey guys,
I've spent the last three or four days thinking about object managers, 
and inheritance.
Basically I'm planning on writing a new object manager to support a 
persistant mudlib.
I've been reading over the archives and have a pretty good idea of what 
I need to do, and have been checking out Noah's objectd.c to see how he 
implements things.  So far so good, and I think I'm almost ready to 
start, but before I jump in the deep end, so to speak, I just want to 
see if I've missed anything obvious.


The object manager should know which inheritables a clonable inherits.
The object manager should know which inheritables are inherited by which 
inheritables.

Recompiling an inheritable should cause the object manager to:
destruct and compile the inheritable
recompile any cloneables (and LWO master objects) that use the inheritable
and..
repeat the process for each inheritable that inherits the newly 
recompiled inheritable.

Compiling and recompiling clonables and LWO master objects requires no 
special attention as clones and LWOs will automagically get updated.

The object manager should probably also keep track of clones and issues 
(... and LWOs? I dont think so..) depending on how I implement the 
above, right?


Are there any really obvious things I've missed out, or gaps in my 
logic?  Any hints would be greatly appreciated.  This is obviously just 
planning, I've yet to nail down a specific way of implementing 
everything.  I'm liking Noah's objectd as an example of using API_OBJREG 
for tracking things in a linked list.. I was starting to wonder about 
how I was going to implement that stuff.. and I see that alot of stuff 
is already handled in the kernal lib.  Excellent.

Finally, I've got a couple of other questions that I might as well tack 
on here. 

I posted a question about version numbers about a week ago, and got a 
good, quick reply, thanks Erwin. :)
Anyway, using my version, (still 1.2p4) I couldnt get Phantasmal to run 
'out of the box' due to its version-number checking.  I'm curious, Noah, 
would version 0.015pre2 require more than the bug fixes, included from 
the experimental versions, in the 1.2p4 release, to run correctly?  I 
hacked out the version checking, figuring that since it parses the 
version number format to check that it'll run, and that "1.2p4" doesnt 
fit the format expected by Phantasmal, so simply removing the check 
should get it to run, however I ran into errors.. so I'm guessing I'll 
need to patch to a new experimental version, complete with features, and 
not just bugfixes, if I want to try Phantasmal out?
Uhh.. is p4 even the equivilant of "1.2.57 or higher"? I just reread 
Erwin's reply and I think it might not be.  Oops.

Err.. I had another question, but in a moment of rare forethought, I 
checked out Noah's glossary of DGD terms and concepts.. and.. nevermind. :)

I figure now would be a good time to compliment everyone on their 
work... Felix for the great driver, Noah for his lib, examples and site 
in general, and everyone who posts on this list.. I've been here about 5 
minutes, but the archives are invaluable.

Since my name is Felix too, I'm just gonna use my nick to avoid confusion.
Thanks in advance,
Mercy
_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list