36 lines
991 B
C++
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;
|
|
} |