convert all DNA to uint8_t

This commit is contained in:
Nikola Petrov 2025-01-02 22:19:37 +01:00
parent 4d3474bc18
commit 8066ba5103
4 changed files with 33 additions and 18 deletions

View File

@ -18,7 +18,7 @@ private:
void drawStars(); void drawStars();
void drawSun(); void drawSun();
void drawMounten(size_t mountenSegments, int min, int max, Color color, float scale); void drawMounten(size_t mountenSegments, int min, int max, Color color, float scale);
int getColorSet();
Dna *m_dna; Dna *m_dna;
uint128 mountenSeed; uint128 mountenSeed;

View File

@ -50,9 +50,11 @@ struct Branch
struct Dna struct Dna
{ {
Moon moon; uint8_t moonX;
int colorSet; uint8_t moonY;
int time; uint8_t moonSize;
uint8_t colorSet;
uint128 mountenSeed; uint128 mountenSeed;
uint128 starSeed; uint128 starSeed;
uint128 branchSeed; uint128 branchSeed;

View File

@ -28,10 +28,11 @@ void BackGround::draw(Dna *dna)
m_dna = dna; m_dna = dna;
mountenSeed = dna->mountenSeed; mountenSeed = dna->mountenSeed;
starSeed = dna->starSeed; starSeed = dna->starSeed;
int time = std::floor(Remap(m_dna->moonY / 255.0f, 0, 1, 4, 0));
int colorSet = getColorSet();
BackGroundColors::setColor(colorSet, time);
BackGroundColors::setColor(m_dna->colorSet, m_dna->time); if (colorSet == 3)
if (m_dna->colorSet == 3)
{ {
ClearBackground(BackGroundColors::backGroundColor); ClearBackground(BackGroundColors::backGroundColor);
drawStars(); drawStars();
@ -89,21 +90,21 @@ void BackGround::drawStars()
void BackGround::drawSun() void BackGround::drawSun()
{ {
int r = ((m_dna->moon.y * (maxSizeOfMoon - minSizeOfMoon)) + minSizeOfMoon) * canvasSize; int r = ((m_dna->moonY / 255.0f * (maxSizeOfMoon - minSizeOfMoon)) + minSizeOfMoon) * canvasSize;
int xpos = Lerp(canvasSize * moonXOffset, canvasSize - canvasSize * moonXOffset, m_dna->moon.x); int xpos = Lerp(canvasSize * moonXOffset, canvasSize - canvasSize * moonXOffset, m_dna->moonX / 255.0f);
int ypos = Lerp(canvasSize * moonXOffset, maxYPosOfMoon * canvasSize, m_dna->moon.y); int ypos = Lerp(canvasSize * moonXOffset, maxYPosOfMoon * canvasSize, m_dna->moonY / 255.0f);
if (m_dna->colorSet == 3) if (getColorSet() == 3)
{ {
Circle::setColor(BackGroundColors::moonColor); Circle::setColor(BackGroundColors::moonColor);
r = ((m_dna->moon.size * (maxSizeOfMoon - minSizeOfMoon)) + minSizeOfMoon) * canvasSize; r = (((m_dna->moonSize / 255.0f) * (maxSizeOfMoon - minSizeOfMoon)) + minSizeOfMoon) * canvasSize;
} }
else else
{ {
Color color = {0}; Color color = {0};
color.r = 255; color.r = 255;
color.g = std::lerp(200, 50, m_dna->moon.y); color.g = std::lerp(200, 50, m_dna->moonY / 255.0f);
color.b = std::lerp(50, 0, m_dna->moon.y); color.b = std::lerp(50, 0, m_dna->moonY / 255.0f);
color.a = 255; color.a = 255;
Circle::setColor(color); Circle::setColor(color);
@ -164,4 +165,16 @@ void BackGround::drawMounten(size_t mountenSegments, int min, int max, Color col
} }
rlEnd(); rlEnd();
rlSetTexture(0); rlSetTexture(0);
}
int BackGround::getColorSet()
{
uint8_t colorSet = m_dna->colorSet;
if (colorSet < 64)
return 0;
if (colorSet < 128)
return 1;
if (colorSet < 192)
return 2;
return 3;
} }

View File

@ -7,10 +7,10 @@
void newDna(Dna &dna) void newDna(Dna &dna)
{ {
TraceLog(LOG_INFO, "SIZE OF DNA:%d", sizeof(dna)); dna.moonX = mrand::getValue(0, 254);
dna.moon = {mrand::getFloat(), mrand::getFloat(), mrand::getFloat()}; dna.moonY = mrand::getValue(0, 254);
dna.colorSet = mrand::getValue(0, 3); dna.moonSize = mrand::getValue(0, 254);
dna.time = std::floor(Remap(dna.moon.y, 0, 1, 4, 0)); dna.colorSet = mrand::getValue(0, 254);
dna.mountenSeed.a = mrand::getInt(); dna.mountenSeed.a = mrand::getInt();
dna.mountenSeed.b = mrand::getInt(); dna.mountenSeed.b = mrand::getInt();