//Generate the height map and stash void Chunk::generateData() { auto mountain = new noise::module::RidgedMulti(); mountain->SetOctaveCount(20); mountain->SetFrequency(0.2); auto baseFlat = new noise::module::Billow(); baseFlat->SetOctaveCount(20); auto flatTerrain = new noise::module::ScaleBias(); flatTerrain->SetSourceModule(0, *baseFlat); flatTerrain->SetScale(0.125); flatTerrain->SetBias(-0.96); //Perlin to control which type of terrain to generate auto terrainType = new noise::module::Perlin(); terrainType->SetOctaveCount(4); terrainType->SetFrequency(0.5); terrainType->SetPersistence(0.25); auto select = new noise::module::Select(); m_noiseModule = select; select->SetSourceModule(0, *flatTerrain); select->SetSourceModule(1, *mountain); select->SetControlModule(*terrainType); select->SetBounds(0.0, 1000.0); select->SetEdgeFalloff(0.6); m_modules.push_back(mountain); m_modules.push_back(baseFlat); m_modules.push_back(flatTerrain); m_modules.push_back(terrainType); }
void SynchCorrection::Reset(bool soft) { Log("SynchCorrection::Reset %u", soft); m_dBiasCorrection = 0.0001; m_iBiasDir = 0; //m_dlastAdjustment = 1.0; if (!soft) { CAutoLock lock(&m_csSampleQueueLock); m_rtStart = 0; m_dEVRAudioDelay = 0.0; m_dlastAdjustment = 1.0; m_iQualityDir = 0; m_bQualityCorrectionOn = false; m_rtAHwStartSet = false; m_rtAHwStart = 0; { CAutoLock dLock(&m_csDeltaLock); m_dDeltaError = 0.0; } SetBias(1.0); SetAdjustment(1.0); Flush(); } }