   setupObjectDBC(<objNum>,<GroupNum>,<Collision Type>)
        -objNum:        the object you want to setup
        -groupNum:      the group that you want this object to belong to
                        if you're not using groups then this value is ignored
        -collisionType: sets the type of collision to use with this object
                        0 - polygon collision, will check with every polygon in the object
                        1 - sphere collision, will create an ellipse around the object and check collisions with that
                        2 - box collision, will create a box around the object for collisions.

      Mesh 255, memblock 255 and memblock 254 must not be in use.
      This command sets up an object for collision, need only be called once for each object.
      this command will also work when the object has been scaled before calling it
      but any further scaling of the object will not be updated in the collision (not even with update object)

   setupComplexObjectDBC(<objNum>,<GroupNum>,<FacesPerNode>)
        -objNum:        the object you want to setup
        -groupNum:      the group that you want this object to belong to
                        if you're not using groups then this value is ignored
        -FacesPerNode:  sets the maximum number of faces per tree node, usually the smaller this value 
                        the better the performance but I'll give you the option of changing this 
                        value to see if another value works better for your object.
                        If you are unsure of this option just use a value of 2.

      Mesh 255, memblock 255 and memblock 254 must not be in use.
      almost exactly the same as setup object except this command will setup optimized polygon collision on a
      complex (high poly) object so that you get much better performance for these types of object.
      realistically you probably won't notice any difference between this and normal polygon collision
      for objects of less than 30-40 polys, but higher polycounts definately benifit from higher performance.
      You can think of it as splitting the object up into little bits, of size specified by facesPerNode,
      and only checking collision with sections near the ray, therefore cutting out alot of polygons.

   updateObjectDBC(<objNum>)
       -objNum:       the object you want to update

       memblock 255 must not be in use.
       Will update the collision data with the object's new position and rotation.
       Should be called for any object that is changed before a collision
         - for example if you want to move an object and check collision, move agian
            and check collision again, then update should be called after both moves.
            however, if you move an object, move it again, then check collision, you only
            need to call the update method after the second move.

   intersectObjectDBC(<obj/groupNum>,<GroupFlag>,<oldx>,<oldy>,<oldz>,<x>,<y>,<z>,<excludeObj>)
         -obj/groupNum:  the object or group you want to check for collision use 0 for all objects or groups
         -GroupFlag:      set this to 0 if you want to work with objects or 1 if you want to work with groups
         -oldx...z:      the start and end points of the ray to check.
         -excludeObj:   an object to exclude from the collision check (excludes a single object from both
                     object and group checks)

         returns: if checking groups or all objects then the object number collided with is returned
                if checking a specific object then a 1 is returned if a collision occured.
                in either case, returns 0 if no collision occured.

         will check if the ray starting at oldx#,oldy#,oldz# and ending at
         x#,y#,z# collides with the specified object or group (obj=0 for all).
         does not collide with backfaces, will return the number of the object
         hit first, or 0 for no collision.

   setObjectCollisionOffDBC(<objNum>)
          -objNum:      the object you want to turn off collision.

          turns off collision with this object in both object and group collisions.

   setObjectCollisionOnDBC(<objNum>)
          -objNum:      the object you want to turn on collision.

          turns on collision with this object in both object and group collisions.
          the default setting from setup object is ON.

   collisionStatusDBC(<objNum>)
         -objNum:      the object you want to know the status of.

         returns the current collision setting for this object, 1 for on, 0 for off.

   getStaticCollisionX()
          returns the x co-ordinate of actual collision point
   getStaticCollisionY()
          returns the y co-ordinate of actual collision point
   getStaticCollisionZ()
          returns the z co-ordinate of actual collision point

   getCollisionNormalX()
          returns the x component of the collision normal
   getCollisionNormalY()
          returns the y component of the collision normal
   getCollisionNormalZ()
          returns the z component of the collision normal

   getCollisionBounceX()
          returns the x component of the bounce vector
   getCollisionBounceY()
          returns the y component of the bounce vector
   getCollisionBounceZ()
          returns the z component of the bounce vector

   The bounce vector is the vector (like the normal) representing the direction
   the ray would end up if it bounced off the collision point (like a bullet ricohet)