voxelinc/voxellancer — pull request #342 by mrzzzrm (2014-02-04 23:44:41+00:00)
Title: [WIP] Dynamic configurable weapons, engines, bullet, rockets and ships

The big goal of this PR is to make inserting new models and equipment into the game easy and making engines configurable. Also, it is the foundation for easy name-based creation of objects in scripts

* For worldobject, no matter of what subtype, create an .ini in data/worldobjects
* For weapons or engines do the same in data/equipment
* Currently you also have to add one line to register the new object in main.cpp loadWorldObjectConfigs() or loadEquipmentConfigs(). This will eventually happen automatically.

#### This is still WIP because,
* Rockets, here being Projectile and not Ships, aren't target-searching currently.
* Sound is disabled at some points because engine-management changed. This may be okay to some extend since engine-sound has to be done differently anyway, amongst other minor complaints. #334
* Engines don't take their WorldObjects weight into account when calculating their acceleration

#### What else changed
* WorldObjectComponents manages EngineSlots and Hardpoints
* This, e.g., also means ships without engines won't continue flying
* Properties now can read lists and vec4, supporting defaultValues, can be read from multiple files using prefixes
* Stripped some hand-through functions from interfaces to keep them slim

Quite a lot of stuff that could be done based on this (fieldOfAim, engineTrail Color, etc, pp.) isn't done yet.
This will probably go into review when the rocket-situation is resolved.