There was a rare case when Old Model Manager's model base object list was not working correctly.
Testcase:
CreateObject pos=10;0 dir=1.5 type=LeggedTrainer selectable=1 team=1
CreateObject pos=-10;0 dir=0.25 type=LeggedTrainer selectable=1 team=2
Expected result (after fix): models are displayed correctly
Actual result (before fix): some legs are missing, instead of them giant surfaces are floating high above the model
The reason was is failing to find the element that was just created and added with `m_models.find(FileInfo(fileName, mirrored, team))`
This happened for objects that had mirrored body parts (at least Ants, Wasps and all Legged units were affected) in case they were assigned to several teams.
Everyone were missing some legs since the `modelManager->AddModelReference("ant6.mod", true, rank, m_object->GetTeam())`
Wasps were also usually missing some wings.
* added reading/writing working version of new model format V3
* added CStaticObject with minial interface intended for
non-interactive static objects like trees
* converted first model, tree0, to new format
* 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