I remember a while back when someone submitted a patch to allow dynamic setting of spec procs via OLC controls, which was fairly useful, in fact. Perhaps it'd be a nice time to add an update to that, and use dll's/shared object files to allow for a pluggable module system? Actually, spec procs were the first thing I thought of, but then I realized that other things; skills, spells, etc, all could be distributed in binary modules in the same fashion as world files. It started to seem like a fairly exciting project, especially to push in a new command/skill/spell and give it a wide distribution; all you'd have to do is pop a file in a directory, and perhaps run an update command from the mud (or send a signal, or have it simply check for new/deleted entries on a timed pulse). That's all fair and well, probably not even that hard to do; dlopen, dlsym or LoadLibrary/GetProcAddress are really pretty straightforward. Then you'd just need a standard name and access scheme and you'd be set. What'd I'm curious about though, is there any sort of saftey net associated with so's/DLL's? The only reason I'd be scared to add things in this modular form would be that someone else wrote them, so if they fail, I want to have my mud keep going. Really though, that's a minor concern. As long as the source code accompanied it, which it might have to, inorder to be relinked against the header files if you made interesting changes, you'd be - eventually - fine. Anyway, just mostly opening up the topic to discussion. Until I finish, oh, a mountain of projects for work, which haven't decreased in number or need for the last, oh, 18 months or so, I don't have the time to actually _do_ it, but I do have the time to talk about it. PjD -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | | Newbie List: http://groups.yahoo.com/group/circle-newbies/ | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/25/03 PDT