mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
mapgen stuff
This commit is contained in:
parent
e8a731adc5
commit
aed9e809a1
7 changed files with 393 additions and 197 deletions
39
src/noise.h
39
src/noise.h
|
@ -20,6 +20,45 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#ifndef NOISE_HEADER
|
||||
#define NOISE_HEADER
|
||||
|
||||
#include "debug.h"
|
||||
|
||||
class PseudoRandom
|
||||
{
|
||||
public:
|
||||
PseudoRandom(): m_next(0)
|
||||
{
|
||||
}
|
||||
PseudoRandom(int seed): m_next(seed)
|
||||
{
|
||||
}
|
||||
void seed(int seed)
|
||||
{
|
||||
m_next = seed;
|
||||
}
|
||||
// Returns 0...32767
|
||||
int next()
|
||||
{
|
||||
m_next = m_next * 1103515245 + 12345;
|
||||
return((unsigned)(m_next/65536) % 32768);
|
||||
}
|
||||
int range(int min, int max)
|
||||
{
|
||||
if(max-min > 32768/10)
|
||||
{
|
||||
//dstream<<"WARNING: PseudoRandom::range: max > 32767"<<std::endl;
|
||||
assert(0);
|
||||
}
|
||||
if(min > max)
|
||||
{
|
||||
assert(0);
|
||||
return max;
|
||||
}
|
||||
return (next()%(max-min+1))+min;
|
||||
}
|
||||
private:
|
||||
int m_next;
|
||||
};
|
||||
|
||||
double easeCurve(double t);
|
||||
|
||||
// Return value: -1 ... 1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue