Add DNA to background
This commit is contained in:
25
src/values/Dna.cpp
Normal file
25
src/values/Dna.cpp
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
|
||||
#include "values/Dna.hpp"
|
||||
#include "values/mrand.hpp"
|
||||
|
||||
#include <raymath.h>
|
||||
|
||||
Dna newDna()
|
||||
{
|
||||
Dna dna = {0};
|
||||
dna.moon = {mrand::getFloat(), mrand::getFloat(), mrand::getFloat()};
|
||||
dna.colorSet = mrand::getValue(0, 3);
|
||||
dna.time = std::floor(Remap(mrand::getFloat(), 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();
|
||||
|
||||
return dna;
|
||||
}
|
||||
@@ -48,6 +48,11 @@ namespace mrand
|
||||
rprand_state[3] = (uint32_t)((rprand_splitmix64(rprand_seed) & 0xffffffff00000000) >> 32);
|
||||
}
|
||||
|
||||
uint32_t getInt()
|
||||
{
|
||||
return my_rprand_xoshiro(rprand_state);
|
||||
}
|
||||
|
||||
int getValue(int min, int max)
|
||||
{
|
||||
int value = my_rprand_xoshiro(rprand_state) % (std::abs(max - min) + 1) + min;
|
||||
@@ -60,15 +65,15 @@ namespace mrand
|
||||
return my_rprand_xoshiro(rprand_state) / 4294967295.0f;
|
||||
}
|
||||
|
||||
int getValue(int min, int max, uint32_t state[4])
|
||||
int getValue(int min, int max, uint128 *state)
|
||||
{
|
||||
int value = my_rprand_xoshiro(state) % (std::abs(max - min) + 1) + min;
|
||||
int value = my_rprand_xoshiro((uint32_t *)state) % (std::abs(max - min) + 1) + min;
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
float getFloat(uint32_t state[4])
|
||||
float getFloat(uint128 *state)
|
||||
{
|
||||
return my_rprand_xoshiro(state) / 4294967295.0f;
|
||||
return my_rprand_xoshiro((uint32_t *)state) / 4294967295.0f;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user