Signed-off-by: suve <veg@svgames.pl>
Jeff's patch was written for the 0.1.12 stable release.
Adapted to work with the "dev" branch (as of commit 13098ee).
* refactored model loading code based on code from dev-models
* support new model format V2 (without LOD levels)
* removed LOD levels support in CEngine and from model files
* preparations for new model format V3:
- support for multiple meshes in one model file
- support for saving crash spheres and shadow spots
- removed all direct dependencies on CEngine enum values
- quantized model rendering states to new flags and enums
* remove unused functions and members
* make protected functions used only locally or in factory
* rename some functions to be more meaningful
* refactor some enums to enum classes
* move functions creating objects to new class CObjectFactory
* replace calls to CObject::Create*() with CObjectManager::Create()
* move creation/deletion of some objects to better places
* make CModelManager non-singleton
* clean up some code in changed functions
* removed classes managed by CInstanceManager
except for CObject, CPyro, CBrain and CPhysics
because of dependencies
* refactored instance searching to use existing singleton instances of
CApplication, CEngine and CRobotMain and calling their getter
functions
- new class CModelManager
- rewritten engine object structure in CEngine
- created shared model data instead of separate objects per each
model instance
- minor refactoring
- changed tabs to spaces and DOS line endings to Unix
(except in CBot and metafile)
- changed language to English
- fixed #include <d3d.h> in d3dengine.h
- changed structs from D3DVECTOR to Math::Vector
and from D3DMATRIX to Math::Matrix
- changed functions to new Math namespace functions
- moved mainmovie module from graphics to object
- added Get and Set to Math::Matrix
- changed FPOINT to Math::Point and some functions
from math module to the new implementation
- moved old function and FPOINT struct declarations to math3d.cpp
- removed some unused functions in math module
- fixed some #include dependencies
- moved #define STRICT and #define D3D_OVERLOADS to compile options