treender/src/values/Dna.cpp

36 lines
991 B
C++

#include "values/Dna.hpp"
#include "values/mrand.hpp"
#include <raymath.h>
void newDna(Dna &dna)
{
dna.moon = {mrand::getFloat(), mrand::getFloat(), mrand::getFloat()};
dna.colorSet = mrand::getValue(0, 3);
dna.time = std::floor(Remap(dna.moon.y, 0, 1, 4, 0));
dna.mountenSeed.a = mrand::getInt();
dna.mountenSeed.b = mrand::getInt();
dna.mountenSeed.c = mrand::getInt();
dna.mountenSeed.d = mrand::getInt();
dna.starSeed.a = mrand::getInt();
dna.starSeed.b = mrand::getInt();
dna.starSeed.c = mrand::getInt();
dna.starSeed.d = mrand::getInt();
for (size_t i = 0; i < MAX_DEPTH; i++)
{
uint8_t r = mrand::getValue(0, 255);
uint8_t g = mrand::getValue(0, 255);
uint8_t b = mrand::getValue(0, 255);
dna.branches[i].color = {r, g, b, 255};
dna.branches[i].numOfBranches = mrand::getValue(1, 3);
dna.branches[i].lenghthRatio = ((float)mrand::getValue(600, 700)) / 1000.0f;
}
dna.branches[0].color = dna.branches[1].color;
return;
}