}
glm::dmat4 Creature::LocalTransform() noexcept {
- // TODO: surface transform
const double half_size = size * 0.5;
const glm::dvec3 &pos = situation.Position();
const glm::dmat3 srf(world::Planet::SurfaceOrientation(situation.Surface()));
Creature *a = new Creature(c.GetSimulation());
const Situation &s = c.GetSituation();
a->Name(c.GetSimulation().Assets().name.Sequential());
- // TODO: mutate
c.GetGenome().Configure(*a);
s.GetPlanet().AddCreature(a);
// TODO: duplicate situation somehow