1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-06 17:41:04 +00:00

Animated particlespawners and more (#11545)

Co-authored-by: Lars Mueller <appgurulars@gmx.de>
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: Dmitry Kostenko <codeforsmile@gmail.com>
This commit is contained in:
Lexi Hale 2022-07-13 11:57:12 +02:00 committed by GitHub
parent 8724fe6e3f
commit 20bd6bdb68
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 1986 additions and 279 deletions

View file

@ -46,11 +46,22 @@ void myrand_bytes(void *out, size_t len)
g_pcgrand.bytes(out, len);
}
float myrand_float()
{
u32 uv = g_pcgrand.next();
return (float)uv / (float)U32_MAX;
}
int myrand_range(int min, int max)
{
return g_pcgrand.range(min, max);
}
float myrand_range(float min, float max)
{
return (max-min) * myrand_float() + min;
}
/*
64-bit unaligned version of MurmurHash

View file

@ -223,6 +223,8 @@ u32 myrand();
void mysrand(unsigned int seed);
void myrand_bytes(void *out, size_t len);
int myrand_range(int min, int max);
float myrand_range(float min, float max);
float myrand_float();
/*
Miscellaneous functions
@ -446,3 +448,24 @@ inline irr::video::SColor multiplyColorValue(const irr::video::SColor &color, fl
core::clamp<u32>(color.getGreen() * mod, 0, 255),
core::clamp<u32>(color.getBlue() * mod, 0, 255));
}
template <typename T> inline T numericAbsolute(T v) { return v < 0 ? T(-v) : v; }
template <typename T> inline T numericSign(T v) { return T(v < 0 ? -1 : (v == 0 ? 0 : 1)); }
inline v3f vecAbsolute(v3f v)
{
return v3f(
numericAbsolute(v.X),
numericAbsolute(v.Y),
numericAbsolute(v.Z)
);
}
inline v3f vecSign(v3f v)
{
return v3f(
numericSign(v.X),
numericSign(v.Y),
numericSign(v.Z)
);
}

View file

@ -45,7 +45,7 @@ public:
Buffer()
{
m_size = 0;
data = NULL;
data = nullptr;
}
Buffer(unsigned int size)
{
@ -53,7 +53,7 @@ public:
if(size != 0)
data = new T[size];
else
data = NULL;
data = nullptr;
}
// Disable class copy
@ -82,7 +82,7 @@ public:
memcpy(data, t, size);
}
else
data = NULL;
data = nullptr;
}
~Buffer()
@ -166,7 +166,7 @@ public:
if(m_size != 0)
data = new T[m_size];
else
data = NULL;
data = nullptr;
refcount = new unsigned int;
memset(data,0,sizeof(T)*m_size);
(*refcount) = 1;
@ -201,7 +201,7 @@ public:
memcpy(data, t, m_size);
}
else
data = NULL;
data = nullptr;
refcount = new unsigned int;
(*refcount) = 1;
}
@ -216,7 +216,7 @@ public:
memcpy(data, *buffer, buffer.getSize());
}
else
data = NULL;
data = nullptr;
refcount = new unsigned int;
(*refcount) = 1;
}
@ -256,3 +256,4 @@ private:
unsigned int m_size;
unsigned int *refcount;
};