Updated: Thu May 28 1998 - MudOSa4DGD-1.1 | DriverLib for DGD-1.1xx
======================================================================
Features:
* a DriverLib package written in DGD-LPC to accompany MudOS-alike
mudlibs, or any DGD mudlib for that matter.
* DriverLib sourcecode is apart from any mudlib sharing its
environment in DGD. Interface for the mudlib happens through
the auto object. A userdefined simul_efun and master() object
should make it unnescessary to modify the DriverLib code itself.
* defines efuns typically found in MudOS, in the auto object.
All function naming and behaviour is improved and optimized.
* Most of the old behaviour and naming of MudOS may be turned on/
off by altering a userdefined configuration headerfile. In the
extreme, all of the unnescessary and bad MudOS-features/naming
can be turned off, leaving you only with the "good stuff".
* supports termcaps and perfect arbitrary wordwrapping, always
remembering the last coordinates. Wordwrapping works WITH
termcaps, even the clearscreen (CLS) termcap.
* Provides an excellent base for new DGD _mudlibs_.
Optimizations:
* functions are optimized for speed by as much use of kfuns as
possible. (tested with time() differences on a P166)
* heavy use of #define XX(YY) macros to simulate simple MudOS
functions and types without filling up the auto object
with too many functions.
* the DriverLib security is extremely quick and simple. A fast
identical check (by use of macros) in each vital function in
DriverLib objects, prevents malocious users to gain- or alter
any global information by direct calls. The method of local
checks prevents any unnescessary overall speed-overhead
contrary to overloading the call_other() kfun.
Compatibilities:
* can be used to migrate from MudOS to DGD. (not without problems)
* known to compile under DGD-1.1p5, but the author sees no
reason to why other versions of DGD-1.1 wouldn't work.
* no patches on the DGD sourcecode is required for the DriverLib
and example "mudlib" (very stripped) to compile and run.
Incompatibilities:
* to enjoy use of ANSI colour output from termcaps, an ANSI patch
on the DGD sourcecode is required.
* protected variables in DGD is automatically static. A patch is
required for a different effect similar to MudOS.
* DGD does not support // comments, so neither do this package by
default. A C++ comment patch is required for // comments.
* Networking and sockets capabilities must be aquired through a
sourcecode patch too, though the implementation of that will
probably differ from MudOS'.
* Most fundamental incompatibilities between DGD and MudOS LPC-
language in general.
* Most of the strange and driver-specific efuns in MudOS are
totally left out out.
* functionpointers are supported through functions and macros,
but that means (: :) and (*func)(args...) is not.
* get_dir(,flag) with flag argument behaviour may be simulated,
but the array result is not. This is mostly because the way
MudOS defines get_dir() and stat() is HIGHLY confusing.
Recent Changes:
* Effort has been made to make this package run under "standard"
DGD-1.1, be "totally" configurable, contain coherent function-
names and have the entire library optimized for speed and avoid
unnescessary use of memory. If needed, all specifics may be
completely stripped from the library.
* The package has been reworked with thought to support BOTH
migration from MudOS-alike platforms, AND as a base for new
mudlibs in DGD.
* Added documentation on all kfuns, efuns and almost all sfuns,
plus some extra explanation on how to use the DriverLib.
Todo's:
* Fix any hidden bugs that are left. (This will never go away)
Sites:
* (170k compressed)
http://colargol.idb.hist.no/~franks/MudOSa4DGD-1.1.tar.gz
(NB! This site will be empty when/if Felix agrees to put it up on ftp.
Which it should, since I'm very happy with it now.)
Copyright Notice:
"MudOS alike for DGD" is FREEWARE.
All COMMERCIAL RIGHTS are RESERVED.
Main Authors:
Frank Schmidt (Simone@VikingMUD)
EMAIL: franks@idb.hist.no