[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