Development:Misc Engine Work

From VsWiki
Revision as of 19:51, 4 February 2008 by safemode (talk | contribs) (Unit Class)
Jump to: navigation, search

Collider

Informational and ongoing development of the collider system.

  • Source location : src/cmd/collide2
  • Collider engine : OPCODE 1.3 from crystalspace 3d 1.2
  • Colliders Supported : AABB Tree collider, Ray Collider
  • Geometry Supported : Meshes should be triangles
  • API :
       - To be completed
  • Limitations :
       - To be completed
  • Status of Development :
       - To be completed
  • ToDo :
       - To be completed


Unit Class

This section involved the intended work to overhaul the unit class to streamline and clean Unit up.

  • Source location : src/cmd/unit_generic.h/.cpp
  • Intended purpose : unit base class
  • Intended structure :
                                     Helper Classes
   Unit Types            AI      Weapons     Network      Graphics 
   ----------------------------------------------------------------
   Missiles               *                      *             *
   planets                                       *             *
   asteroids                                     *             *
   nebula                                        *             *
   jump points                                   *             *
   ships                  *          *           *             *
   cargo                                         *             *
   Turrets                *          *           *             *
   
   
   Heirarchy:   Inheritance -  Unit -> UnitTypes 
                Templated   -  GameUnit<UnitTypes> 
  • API Outline :
 Unit is supposed to be the base class for all unit types. 
 Unit can not be initialized independently.
 It should contain only code that is shared amongst all unit types.
 It should have methods to wrap around the helper classes that are shared in all units
 
 Unit Types inherit unit and include any needed non-unit included helper classes
 Certain functions can be overloaded where special situations related to a specific type occur
 
 GameUnit templates unit types.  It inherits nothing. 
 GameUnit wraps all public access to it's type with it's own methods.  
 
  • Intended purpose:
 To reduce the complexity of Unit and remove unecessary bloat.
 
  • Status :
 Pre-planning stage.

Add more