@@ -2182,7 +2182,7 @@ static const char _data_FX_MODE_BPM[] PROGMEM = "Bpm@!;!;!;;sx=64";
21822182uint16_t mode_fillnoise8 () {
21832183 if (SEGENV.call == 0 ) SEGENV.step = hw_random ();
21842184 for (unsigned i = 0 ; i < SEGLEN; i++) {
2185- unsigned index = inoise8 (i * SEGLEN, SEGENV.step + i * SEGLEN);
2185+ unsigned index = perlin8 (i * SEGLEN, SEGENV.step + i * SEGLEN);
21862186 SEGMENT.setPixelColor (i, SEGMENT.color_from_palette (index, false , PALETTE_SOLID_WRAP, 0 ));
21872187 }
21882188 SEGENV.step += beatsin8_t (SEGMENT.speed , 1 , 6 ); // 10,1,4
@@ -2202,7 +2202,7 @@ uint16_t mode_noise16_1() {
22022202 unsigned real_x = (i + shift_x) * scale; // the x position of the noise field swings @ 17 bpm
22032203 unsigned real_y = (i + shift_y) * scale; // the y position becomes slowly incremented
22042204 uint32_t real_z = SEGENV.step ; // the z position becomes quickly incremented
2205- unsigned noise = inoise16 (real_x, real_y, real_z) >> 8 ; // get the noise data and scale it down
2205+ unsigned noise = perlin16 (real_x, real_y, real_z) >> 8 ; // get the noise data and scale it down
22062206 unsigned index = sin8_t (noise * 3 ); // map LED color based on noise data
22072207
22082208 SEGMENT.setPixelColor (i, SEGMENT.color_from_palette (index, false , PALETTE_SOLID_WRAP, 0 ));
@@ -2220,7 +2220,7 @@ uint16_t mode_noise16_2() {
22202220 for (unsigned i = 0 ; i < SEGLEN; i++) {
22212221 unsigned shift_x = SEGENV.step >> 6 ; // x as a function of time
22222222 uint32_t real_x = (i + shift_x) * scale; // calculate the coordinates within the noise field
2223- unsigned noise = inoise16 (real_x, 0 , 4223 ) >> 8 ; // get the noise data and scale it down
2223+ unsigned noise = perlin16 (real_x, 0 , 4223 ) >> 8 ; // get the noise data and scale it down
22242224 unsigned index = sin8_t (noise * 3 ); // map led color based on noise data
22252225
22262226 SEGMENT.setPixelColor (i, SEGMENT.color_from_palette (index, false , PALETTE_SOLID_WRAP, 0 , noise));
@@ -2241,7 +2241,7 @@ uint16_t mode_noise16_3() {
22412241 uint32_t real_x = (i + shift_x) * scale; // calculate the coordinates within the noise field
22422242 uint32_t real_y = (i + shift_y) * scale; // based on the precalculated positions
22432243 uint32_t real_z = SEGENV.step *8 ;
2244- unsigned noise = inoise16 (real_x, real_y, real_z) >> 8 ; // get the noise data and scale it down
2244+ unsigned noise = perlin16 (real_x, real_y, real_z) >> 8 ; // get the noise data and scale it down
22452245 unsigned index = sin8_t (noise * 3 ); // map led color based on noise data
22462246
22472247 SEGMENT.setPixelColor (i, SEGMENT.color_from_palette (index, false , PALETTE_SOLID_WRAP, 0 , noise));
@@ -2256,7 +2256,7 @@ static const char _data_FX_MODE_NOISE16_3[] PROGMEM = "Noise 3@!;!;!;;pal=35";
22562256uint16_t mode_noise16_4 () {
22572257 uint32_t stp = (strip.now * SEGMENT.speed ) >> 7 ;
22582258 for (unsigned i = 0 ; i < SEGLEN; i++) {
2259- int index = inoise16 (uint32_t (i) << 12 , stp);
2259+ int index = perlin16 (uint32_t (i) << 12 , stp);
22602260 SEGMENT.setPixelColor (i, SEGMENT.color_from_palette (index, false , PALETTE_SOLID_WRAP, 0 ));
22612261 }
22622262 return FRAMETIME;
@@ -4118,7 +4118,7 @@ static uint16_t phased_base(uint8_t moder) { // We're making si
41184118 *phase += SEGMENT.speed /32.0 ; // You can change the speed of the wave. AKA SPEED (was .4)
41194119
41204120 for (unsigned i = 0 ; i < SEGLEN; i++) {
4121- if (moder == 1 ) modVal = (inoise8 (i*10 + i*10 ) /16 ); // Let's randomize our mod length with some Perlin noise.
4121+ if (moder == 1 ) modVal = (perlin8 (i*10 + i*10 ) /16 ); // Let's randomize our mod length with some Perlin noise.
41224122 unsigned val = (i+1 ) * allfreq; // This sets the frequency of the waves. The +1 makes sure that led 0 is used.
41234123 if (modVal == 0 ) modVal = 1 ;
41244124 val += *phase * (i % modVal +1 ) /2 ; // This sets the varying phase change of the waves. By Andrew Tuline.
@@ -4187,7 +4187,7 @@ uint16_t mode_noisepal(void) { // Slow noise
41874187 if (SEGMENT.palette > 0 ) palettes[0 ] = SEGPALETTE;
41884188
41894189 for (unsigned i = 0 ; i < SEGLEN; i++) {
4190- unsigned index = inoise8 (i*scale, SEGENV.aux0 +i*scale); // Get a value from the noise function. I'm using both x and y axis.
4190+ unsigned index = perlin8 (i*scale, SEGENV.aux0 +i*scale); // Get a value from the noise function. I'm using both x and y axis.
41914191 SEGMENT.setPixelColor (i, ColorFromPalette (palettes[0 ], index, 255 , LINEARBLEND)); // Use my own palette.
41924192 }
41934193
@@ -4798,7 +4798,7 @@ uint16_t mode_perlinmove(void) {
47984798 if (SEGLEN <= 1 ) return mode_static ();
47994799 SEGMENT.fade_out (255 -SEGMENT.custom1 );
48004800 for (int i = 0 ; i < SEGMENT.intensity /16 + 1 ; i++) {
4801- unsigned locn = inoise16 (strip.now *128 /(260 -SEGMENT.speed )+i*15000 , strip.now *128 /(260 -SEGMENT.speed )); // Get a new pixel location from moving noise.
4801+ unsigned locn = perlin16 (strip.now *128 /(260 -SEGMENT.speed )+i*15000 , strip.now *128 /(260 -SEGMENT.speed )); // Get a new pixel location from moving noise.
48024802 unsigned pixloc = map (locn, 50 *256 , 192 *256 , 0 , SEGLEN-1 ); // Map that to the length of the strand, and ensure we don't go over.
48034803 SEGMENT.setPixelColor (pixloc, SEGMENT.color_from_palette (pixloc%255 , false , PALETTE_SOLID_WRAP, 0 ));
48044804 }
@@ -5056,7 +5056,7 @@ uint16_t mode_2Dfirenoise(void) { // firenoise2d. By Andrew Tuline
50565056 CRGBPalette16 pal = SEGMENT.check1 ? SEGPALETTE : SEGMENT.loadPalette (pal, 35 );
50575057 for (int j=0 ; j < cols; j++) {
50585058 for (int i=0 ; i < rows; i++) {
5059- indexx = inoise8 (j*yscale*rows/255 , i*xscale+strip.now /4 ); // We're moving along our Perlin map.
5059+ indexx = perlin8 (j*yscale*rows/255 , i*xscale+strip.now /4 ); // We're moving along our Perlin map.
50605060 SEGMENT.setPixelColorXY (j, i, ColorFromPalette (pal, min (i*indexx/11 , 225U ), i*255 /rows, LINEARBLEND)); // With that value, look up the 8 bit colour palette value and assign it to the current LED.
50615061 } // for i
50625062 } // for j
@@ -5449,11 +5449,11 @@ uint16_t mode_2Dmetaballs(void) { // Metaballs by Stefan Petrick. Cannot have
54495449 float speed = 0 .25f * (1 +(SEGMENT.speed >>6 ));
54505450
54515451 // get some 2 random moving points
5452- int x2 = map (inoise8 (strip.now * speed, 25355 , 685 ), 0 , 255 , 0 , cols-1 );
5453- int y2 = map (inoise8 (strip.now * speed, 355 , 11685 ), 0 , 255 , 0 , rows-1 );
5452+ int x2 = map (perlin8 (strip.now * speed, 25355 , 685 ), 0 , 255 , 0 , cols-1 );
5453+ int y2 = map (perlin8 (strip.now * speed, 355 , 11685 ), 0 , 255 , 0 , rows-1 );
54545454
5455- int x3 = map (inoise8 (strip.now * speed, 55355 , 6685 ), 0 , 255 , 0 , cols-1 );
5456- int y3 = map (inoise8 (strip.now * speed, 25355 , 22685 ), 0 , 255 , 0 , rows-1 );
5455+ int x3 = map (perlin8 (strip.now * speed, 55355 , 6685 ), 0 , 255 , 0 , cols-1 );
5456+ int y3 = map (perlin8 (strip.now * speed, 25355 , 22685 ), 0 , 255 , 0 , rows-1 );
54575457
54585458 // and one Lissajou function
54595459 int x1 = beatsin8_t (23 * speed, 0 , cols-1 );
@@ -5509,7 +5509,7 @@ uint16_t mode_2Dnoise(void) { // By Andrew Tuline
55095509
55105510 for (int y = 0 ; y < rows; y++) {
55115511 for (int x = 0 ; x < cols; x++) {
5512- uint8_t pixelHue8 = inoise8 (x * scale, y * scale, strip.now / (16 - SEGMENT.speed /16 ));
5512+ uint8_t pixelHue8 = perlin8 (x * scale, y * scale, strip.now / (16 - SEGMENT.speed /16 ));
55135513 SEGMENT.setPixelColorXY (x, y, ColorFromPalette (SEGPALETTE, pixelHue8));
55145514 }
55155515 }
@@ -5531,10 +5531,10 @@ uint16_t mode_2DPlasmaball(void) { // By: Stepko https://edito
55315531 SEGMENT.fadeToBlackBy (SEGMENT.custom1 >>2 );
55325532 uint_fast32_t t = (strip.now * 8 ) / (256 - SEGMENT.speed ); // optimized to avoid float
55335533 for (int i = 0 ; i < cols; i++) {
5534- unsigned thisVal = inoise8 (i * 30 , t, t);
5534+ unsigned thisVal = perlin8 (i * 30 , t, t);
55355535 unsigned thisMax = map (thisVal, 0 , 255 , 0 , cols-1 );
55365536 for (int j = 0 ; j < rows; j++) {
5537- unsigned thisVal_ = inoise8 (t, j * 30 , t);
5537+ unsigned thisVal_ = perlin8 (t, j * 30 , t);
55385538 unsigned thisMax_ = map (thisVal_, 0 , 255 , 0 , rows-1 );
55395539 int x = (i + thisMax_ - cols / 2 );
55405540 int y = (j + thisMax - cols / 2 );
@@ -5579,7 +5579,7 @@ uint16_t mode_2DPolarLights(void) { // By: Kostyantyn Matviyevskyy https
55795579 for (int x = 0 ; x < cols; x++) {
55805580 for (int y = 0 ; y < rows; y++) {
55815581 SEGENV.step ++;
5582- uint8_t palindex = qsub8 (inoise8 ((SEGENV.step %2 ) + x * _scale, y * 16 + SEGENV.step % 16 , SEGENV.step / _speed), fabsf ((float )rows / 2 .0f - (float )y) * adjustHeight);
5582+ uint8_t palindex = qsub8 (perlin8 ((SEGENV.step %2 ) + x * _scale, y * 16 + SEGENV.step % 16 , SEGENV.step / _speed), fabsf ((float )rows / 2 .0f - (float )y) * adjustHeight);
55835583 uint8_t palbrightness = palindex;
55845584 if (SEGMENT.check1 ) palindex = 255 - palindex; // flip palette
55855585 SEGMENT.setPixelColorXY (x, y, SEGMENT.color_from_palette (palindex, false , false , 255 , palbrightness));
@@ -5696,7 +5696,8 @@ uint16_t mode_2DSunradiation(void) { // By: ldirko https://edi
56965696 uint8_t someVal = SEGMENT.speed /4 ; // Was 25.
56975697 for (int j = 0 ; j < (rows + 2 ); j++) {
56985698 for (int i = 0 ; i < (cols + 2 ); i++) {
5699- byte col = (inoise8_raw (i * someVal, j * someVal, t)) / 2 ;
5699+ // byte col = (inoise8_raw(i * someVal, j * someVal, t)) / 2;
5700+ byte col = ((int16_t )perlin8 (i * someVal, j * someVal, t) - 0x7F ) / 3 ;
57005701 bump[index++] = col;
57015702 }
57025703 }
@@ -6394,10 +6395,10 @@ uint16_t mode_2DWaverly(void) {
63946395
63956396 long t = strip.now / 2 ;
63966397 for (int i = 0 ; i < cols; i++) {
6397- unsigned thisVal = (1 + SEGMENT.intensity /64 ) * inoise8 (i * 45 , t , t)/2 ;
6398+ unsigned thisVal = (1 + SEGMENT.intensity /64 ) * perlin8 (i * 45 , t , t)/2 ;
63986399 // use audio if available
63996400 if (um_data) {
6400- thisVal /= 32 ; // reduce intensity of inoise8 ()
6401+ thisVal /= 32 ; // reduce intensity of perlin8 ()
64016402 thisVal *= volumeSmth;
64026403 }
64036404 int thisMax = map (thisVal, 0 , 512 , 0 , rows);
@@ -6476,7 +6477,7 @@ uint16_t mode_gravcenter_base(unsigned mode) {
64766477 }
64776478 else if (mode == 2 ) { // Gravimeter
64786479 for (int i=0 ; i<tempsamp; i++) {
6479- uint8_t index = inoise8 (i*segmentSampleAvg+strip.now , 5000 +i*segmentSampleAvg);
6480+ uint8_t index = perlin8 (i*segmentSampleAvg+strip.now , 5000 +i*segmentSampleAvg);
64806481 SEGMENT.setPixelColor (i, color_blend (SEGCOLOR (1 ), SEGMENT.color_from_palette (index, false , PALETTE_SOLID_WRAP, 0 ), uint8_t (segmentSampleAvg*8 )));
64816482 }
64826483 if (gravcen->topLED > 0 ) {
@@ -6498,7 +6499,7 @@ uint16_t mode_gravcenter_base(unsigned mode) {
64986499 }
64996500 else { // Gravcenter
65006501 for (int i=0 ; i<tempsamp; i++) {
6501- uint8_t index = inoise8 (i*segmentSampleAvg+strip.now , 5000 +i*segmentSampleAvg);
6502+ uint8_t index = perlin8 (i*segmentSampleAvg+strip.now , 5000 +i*segmentSampleAvg);
65026503 SEGMENT.setPixelColor (i+SEGLEN/2 , color_blend (SEGCOLOR (1 ), SEGMENT.color_from_palette (index, false , PALETTE_SOLID_WRAP, 0 ), uint8_t (segmentSampleAvg*8 )));
65036504 SEGMENT.setPixelColor (SEGLEN/2 -i-1 , color_blend (SEGCOLOR (1 ), SEGMENT.color_from_palette (index, false , PALETTE_SOLID_WRAP, 0 ), uint8_t (segmentSampleAvg*8 )));
65046505 }
@@ -6620,7 +6621,7 @@ uint16_t mode_midnoise(void) { // Midnoise. By Andrew Tuline.
66206621 if (maxLen >SEGLEN/2 ) maxLen = SEGLEN/2 ;
66216622
66226623 for (unsigned i=(SEGLEN/2 -maxLen); i<(SEGLEN/2 +maxLen); i++) {
6623- uint8_t index = inoise8 (i*volumeSmth+SEGENV.aux0 , SEGENV.aux1 +i*volumeSmth); // Get a value from the noise function. I'm using both x and y axis.
6624+ uint8_t index = perlin8 (i*volumeSmth+SEGENV.aux0 , SEGENV.aux1 +i*volumeSmth); // Get a value from the noise function. I'm using both x and y axis.
66246625 SEGMENT.setPixelColor (i, SEGMENT.color_from_palette (index, false , PALETTE_SOLID_WRAP, 0 ));
66256626 }
66266627
@@ -6648,7 +6649,7 @@ uint16_t mode_noisefire(void) { // Noisefire. By Andrew Tuline.
66486649 if (SEGENV.call == 0 ) SEGMENT.fill (BLACK);
66496650
66506651 for (unsigned i = 0 ; i < SEGLEN; i++) {
6651- unsigned index = inoise8 (i*SEGMENT.speed /64 ,strip.now *SEGMENT.speed /64 *SEGLEN/255 ); // X location is constant, but we move along the Y at the rate of millis(). By Andrew Tuline.
6652+ unsigned index = perlin8 (i*SEGMENT.speed /64 ,strip.now *SEGMENT.speed /64 *SEGLEN/255 ); // X location is constant, but we move along the Y at the rate of millis(). By Andrew Tuline.
66526653 index = (255 - i*256 /SEGLEN) * index/(256 -SEGMENT.intensity ); // Now we need to scale index so that it gets blacker as we get close to one of the ends.
66536654 // This is a simple y=mx+b equation that's been scaled. index/128 is another scaling.
66546655
@@ -6679,7 +6680,7 @@ uint16_t mode_noisemeter(void) { // Noisemeter. By Andrew Tuline.
66796680 if (maxLen > SEGLEN) maxLen = SEGLEN;
66806681
66816682 for (unsigned i=0 ; i<maxLen; i++) { // The louder the sound, the wider the soundbar. By Andrew Tuline.
6682- uint8_t index = inoise8 (i*volumeSmth+SEGENV.aux0 , SEGENV.aux1 +i*volumeSmth); // Get a value from the noise function. I'm using both x and y axis.
6683+ uint8_t index = perlin8 (i*volumeSmth+SEGENV.aux0 , SEGENV.aux1 +i*volumeSmth); // Get a value from the noise function. I'm using both x and y axis.
66836684 SEGMENT.setPixelColor (i, SEGMENT.color_from_palette (index, false , PALETTE_SOLID_WRAP, 0 ));
66846685 }
66856686
@@ -7095,7 +7096,7 @@ uint16_t mode_noisemove(void) { // Noisemove. By: Andrew Tuli
70957096
70967097 uint8_t numBins = map (SEGMENT.intensity ,0 ,255 ,0 ,16 ); // Map slider to fftResult bins.
70977098 for (int i=0 ; i<numBins; i++) { // How many active bins are we using.
7098- unsigned locn = inoise16 (strip.now *SEGMENT.speed +i*50000 , strip.now *SEGMENT.speed ); // Get a new pixel location from moving noise.
7099+ unsigned locn = perlin16 (strip.now *SEGMENT.speed +i*50000 , strip.now *SEGMENT.speed ); // Get a new pixel location from moving noise.
70997100 // if SEGLEN equals 1 locn will be always 0, hence we set the first pixel only
71007101 locn = map (locn, 7500 , 58000 , 0 , SEGLEN-1 ); // Map that to the length of the strand, and ensure we don't go over.
71017102 SEGMENT.setPixelColor (locn, color_blend (SEGCOLOR (1 ), SEGMENT.color_from_palette (i*64 , false , PALETTE_SOLID_WRAP, 0 ), uint8_t (fftResult[i % 16 ]*4 )));
@@ -7545,7 +7546,7 @@ uint16_t mode_2Dsoap() {
75457546 int32_t ioffset = scale32_x * (i - cols / 2 );
75467547 for (int j = 0 ; j < rows; j++) {
75477548 int32_t joffset = scale32_y * (j - rows / 2 );
7548- uint8_t data = inoise16 (noisecoord[0 ] + ioffset, noisecoord[1 ] + joffset, noisecoord[2 ]) >> 8 ;
7549+ uint8_t data = perlin16 (noisecoord[0 ] + ioffset, noisecoord[1 ] + joffset, noisecoord[2 ]) >> 8 ;
75497550 noise3d[XY (i,j)] = scale8 (noise3d[XY (i,j)], smoothness) + scale8 (data, 255 - smoothness);
75507551 }
75517552 }
@@ -8050,7 +8051,7 @@ uint16_t mode_particlefire(void) {
80508051 if (SEGMENT.call % 10 == 0 )
80518052 SEGENV.aux1 ++; // move in noise y direction so noise does not repeat as often
80528053 // add wind force to all particles
8053- int8_t windspeed = ((int16_t )(inoise8 (SEGENV.aux0 , SEGENV.aux1 ) - 127 ) * SEGMENT.custom2 ) >> 7 ;
8054+ int8_t windspeed = ((int16_t )(perlin8 (SEGENV.aux0 , SEGENV.aux1 ) - 127 ) * SEGMENT.custom2 ) >> 7 ;
80548055 PartSys->applyForce (windspeed, 0 );
80558056 }
80568057 SEGENV.step ++;
@@ -8059,7 +8060,7 @@ uint16_t mode_particlefire(void) {
80598060 if (SEGMENT.call % map (firespeed, 0 , 255 , 4 , 15 ) == 0 ) {
80608061 for (i = 0 ; i < PartSys->usedParticles ; i++) {
80618062 if (PartSys->particles [i].y < PartSys->maxY / 4 ) { // do not apply turbulance everywhere -> bottom quarter seems a good balance
8062- int32_t curl = ((int32_t )inoise8 (PartSys->particles [i].x , PartSys->particles [i].y , SEGENV.step << 4 ) - 127 );
8063+ int32_t curl = ((int32_t )perlin8 (PartSys->particles [i].x , PartSys->particles [i].y , SEGENV.step << 4 ) - 127 );
80638064 PartSys->particles [i].vx += (curl * (firespeed + 10 )) >> 9 ;
80648065 }
80658066 }
@@ -8276,8 +8277,8 @@ uint16_t mode_particlebox(void) {
82768277 SEGENV.aux0 -= increment;
82778278
82788279 if (SEGMENT.check1 ) { // random, use perlin noise
8279- xgravity = ((int16_t )inoise8 (SEGENV.aux0 ) - 127 );
8280- ygravity = ((int16_t )inoise8 (SEGENV.aux0 + 10000 ) - 127 );
8280+ xgravity = ((int16_t )perlin8 (SEGENV.aux0 ) - 127 );
8281+ ygravity = ((int16_t )perlin8 (SEGENV.aux0 + 10000 ) - 127 );
82818282 // scale the gravity force
82828283 xgravity = (xgravity * SEGMENT.custom1 ) / 128 ;
82838284 ygravity = (ygravity * SEGMENT.custom1 ) / 128 ;
@@ -8348,11 +8349,11 @@ uint16_t mode_particleperlin(void) {
83488349 uint32_t scale = 16 - ((31 - SEGMENT.custom3 ) >> 1 );
83498350 uint16_t xnoise = PartSys->particles [i].x / scale; // position in perlin noise, scaled by slider
83508351 uint16_t ynoise = PartSys->particles [i].y / scale;
8351- int16_t baseheight = inoise8 (xnoise, ynoise, SEGENV.aux0 ); // noise value at particle position
8352+ int16_t baseheight = perlin8 (xnoise, ynoise, SEGENV.aux0 ); // noise value at particle position
83528353 PartSys->particles [i].hue = baseheight; // color particles to perlin noise value
83538354 if (SEGMENT.call % 8 == 0 ) { // do not apply the force every frame, is too chaotic
8354- int8_t xslope = (baseheight + (int16_t )inoise8 (xnoise - 10 , ynoise, SEGENV.aux0 ));
8355- int8_t yslope = (baseheight + (int16_t )inoise8 (xnoise, ynoise - 10 , SEGENV.aux0 ));
8355+ int8_t xslope = (baseheight + (int16_t )perlin8 (xnoise - 10 , ynoise, SEGENV.aux0 ));
8356+ int8_t yslope = (baseheight + (int16_t )perlin8 (xnoise, ynoise - 10 , SEGENV.aux0 ));
83568357 PartSys->applyForce (i, xslope, yslope);
83578358 }
83588359 }
@@ -9720,7 +9721,7 @@ uint16_t mode_particleBalance(void) {
97209721 int32_t increment = (SEGMENT.speed >> 6 ) + 1 ;
97219722 SEGENV.aux0 += increment;
97229723 if (SEGMENT.check3 ) // random, use perlin noise
9723- xgravity = ((int16_t )inoise8 (SEGENV.aux0 ) - 128 );
9724+ xgravity = ((int16_t )perlin8 (SEGENV.aux0 ) - 128 );
97249725 else // sinusoidal
97259726 xgravity = (int16_t )cos8 (SEGENV.aux0 ) - 128 ;// ((int32_t)(SEGMENT.custom3 << 2) * cos8(SEGENV.aux0)
97269727 // scale the force
@@ -10072,7 +10073,7 @@ uint16_t mode_particle1Dsonicstream(void) {
1007210073 else PartSys->particles [i].ttl = 0 ;
1007310074 }
1007410075 if (SEGMENT.check1 ) // modulate colors by mid frequencies
10075- PartSys->particles [i].hue += (mids * inoise8 (PartSys->particles [i].x << 2 , SEGMENT.step << 2 )) >> 9 ; // color by perlin noise from mid frequencies
10076+ PartSys->particles [i].hue += (mids * perlin8 (PartSys->particles [i].x << 2 , SEGMENT.step << 2 )) >> 9 ; // color by perlin noise from mid frequencies
1007610077 }
1007710078
1007810079 if (loudness > threshold) {
0 commit comments