Add DNA to background

This commit is contained in:
2024-12-20 23:51:42 +01:00
parent 8ad328eb1e
commit ee7b674c6d
7 changed files with 107 additions and 55 deletions

25
src/values/Dna.cpp Normal file
View 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;
}

View File

@@ -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;
}
}