Entities that are "planted" on bodies of water are floating.
This does away with the "floating" mode.
To mark that entities should by default be floating when placed in
water the boolean property "floats" has been added.
If an entity is in mode "planted" we should check for any existing
planted entities below it, to see if we should add it on top of them, or
on top of the terrain.
We do this by using the GImpact shapes. These work, but are resource
intensive. So make sure you don't use too many of these in free mode.
This isn't thouroughly researched though. It might be worth looking into
btCollisionHull, or to alter some of the parameters to fine tune the
simulation.
The script is copied from the GoogleMock project and adapted
to instead generate stubs.
Two stub files are generated, one being named *_custom.h.
Any custom behaviour can be added to the latter, since it won't be
regenerated when the stub is recreated.
Since it's more common that the position changes that the mod itself does
we want to pre parse the data in the translator first, and then supply
the pos and orientation when creating the mod.
These properties didn't work out when we moved to a physics based world.
Instead we've introduced the properties "planted-offset" and "planted-scaled-offset".
These properties takes a float and specified vertical offset for planted entities.
Likewise with "planted-rotation" which specifies a rotation applied for planted entities.
"active-rotation" keeps track of any applied rotation.
This property tells how the entity should behave when put into
different modes. Currently we only allow for specific transformations
to occur.
The mode specifications are registed in properties where "mode-" forms
a prefix, and the mode a suffix. For example, "mode-planted".
This also does away with the "plantable" property.