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:
parent
8724fe6e3f
commit
20bd6bdb68
17 changed files with 1986 additions and 279 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue