mirror of
https://port.numenaute.org/aleajactaest/khanat-code-old.git
synced 2024-11-26 16:56:19 +00:00
Apply patch #231, new weather values, must be applied server-side as well. Needs to be tested
This commit is contained in:
parent
da373b3d4b
commit
5e13d65bd8
1 changed files with 2 additions and 10 deletions
|
@ -27,24 +27,16 @@
|
|||
//
|
||||
#include "weather_function_params_sheet_base.h"
|
||||
#include "nel/misc/algo.h"
|
||||
#include "nel/misc/random.h"
|
||||
#include "nel/misc/noise_value.h"
|
||||
#include "nel/misc/fast_floor.h"
|
||||
#include "nel/misc/wang_hash.h"
|
||||
//
|
||||
|
||||
|
||||
static NLMISC::CNoiseValue nv;
|
||||
|
||||
float CPredictWeather::getCycleWeatherValue(uint64 cycle, const CWeatherFunction &wf)
|
||||
{
|
||||
uint numWS = wf.getNumWeatherSetups();
|
||||
if (!numWS) return 0.f;
|
||||
NLMISC::CRandom rnd;
|
||||
NLMISC::OptFastFloorBegin();
|
||||
float noiseValue = nv.eval(NLMISC::CVector(cycle * 0.99524f, cycle * 0.85422f, cycle * -0.45722f));
|
||||
NLMISC::OptFastFloorEnd();
|
||||
noiseValue = fmodf(noiseValue * 10.f, 1.f); // make distribution more uniform
|
||||
uint32 value = (uint32) (noiseValue * (float) wf.getWeatherSetupsTotalWeight());
|
||||
uint32 value = NLMISC::wangHash64(cycle) % wf.getWeatherSetupsTotalWeight();
|
||||
uint32 currWeight = 0;
|
||||
for(uint k = 0; k < numWS; ++k)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue