********* Info about some globals and macros *********

Most of the globals and macros are self explanatory but I'll mention
a selection here that may otherwise confuse you.

Macros
------

WORD_LEN, MAX_WORDS : 
When a user inputs a sentence it is broken up into words (rather like argv) 
and put into an array called word[MAX_WORDS][WORD_LEN].
I could have dynamically allocated space for each word on the fly but its 
rather complex and slows things down. If a word is longer than WORN_LEN 
its truncated but if a user enters a word longer than 30 (which is the 
current WORD_LEN) then he's probably only messing around anyway so its not
going to matter.

DESC_LEN: Max length of user description
PHRASE_LEN: Mac length of user and npc's entry and exit phrases

GEN_SIZE:
Size of gen array in user and objects structure. This array is for general
use and is saved on logging out for users and reloaded on logging in.

WITH_OBJ: 
If an item is inside/carried by another object then its room is set to this.
Also the structure element obj_with is set to the object carrying it.

WITH_USER:
Ditto above except carried by a user. user_with is set to the user 
carrying it.

MAX_BARRIER: 
Defines the size of the barrier array.
Npc's have barrier rooms. They cannot move into these rooms and this is the 
method of containing them in an area if moving them randomly rather than
using a room patrol sequence. Npc's cannot patrol into barrier rooms either.

MAX_PATROL:
Defines the size of the patrol room array. Npc's can patrol a sequence of
rooms rather than moving randomly. The last room in the sequence must be
linked to the first (ie can move between the rooms) however or the npc 
will become stuck.

OBJ_PRE_LEN:
Objects as well as having a name have a word (preposition) that goes in
front of their names eg 'a','the','some'.

WIZARD, DEMI_GOD, GOD:
These are superusers levels. The levels can be changed since the mud
uses these macro names not hardwired values to work out who is a wizard etc.


User structure
--------------

The user structure array ustr[] is initialised to have MAX_USER structures on
boot up.


Object structure
----------------

On boot up the structure obj_data pointers *obj_first and *obj_last are 
initailised to NULL though this soon changes when the objects are constructed
and cloned. Objects are kept in a linked list of object structures.
The structure element ->next points to the next structure and ->prev points
to the previous one.

Time
----

Some global time variables gave been set up. These are:

hours, minutes, seconds, date, year

Seconds is only accurate to within HEARTBEAT seconds. The date contains
the number of the day in the month eg 21. The year is in the form of "1994"
These variables are reset at boot up , during a mud soft restart and in 
every event loop by set_date_time();



