- speedsq[i] = dir[i * 3] * dir[i * 3] + dir[i * 3 + 1] * dir[i * 3 + 1];
- f = random() / 2147483647.0;
- blad[i] = 2 + (int) (f * 17.0);
- f = random() / 2147483647.0;
- ang[i] = f;
- f = random() / 2147483647.0;
- spn[i] = (f - 0.5) * 40.0 / (10 + blad[i]);
- f = random() / 2147483647.0;
- sca[i] = (f * 0.1 + 0.08);
- dir[i * 3] *= sca[i];
- dir[i * 3 + 1] *= sca[i];
-
- f = random() / 2147483647.0;
- hsv[i * 3] = f * 360.0;
-
- f = random() / 2147483647.0;
- hsv[i * 3 + 1] = f * 0.6 + 0.4;
-
- f = random() / 2147483647.0;
- hsv[i * 3 + 2] = f * 0.7 + 0.3;
-
- f = random() / 2147483647.0;
- hpr[i * 3] = f * 0.005 * 360.0;
- f = random() / 2147483647.0;
- hpr[i * 3 + 1] = f * 0.03;
- f = random() / 2147483647.0;
- hpr[i * 3 + 2] = f * 0.02;
-
- geep[i] = 0;
- f = random() / 2147483647.0;
- peep[i] = 0.01 + f * 0.2;
+ bp->speedsq[i] = bp->dir[i * 3] * bp->dir[i * 3] + bp->dir[i * 3 + 1] * bp->dir[i * 3 + 1];
+ f = random() / (double) RAND_MAX;
+ bp->blad[i] = 2 + (int) (f * 17.0);
+ f = random() / (double) RAND_MAX;
+ bp->ang[i] = f;
+ f = random() / (double) RAND_MAX;
+ bp->spn[i] = (f - 0.5) * 40.0 / (10 + bp->blad[i]);
+ f = random() / (double) RAND_MAX;
+ bp->sca[i] = (f * 0.1 + 0.08);
+ bp->dir[i * 3] *= bp->sca[i];
+ bp->dir[i * 3 + 1] *= bp->sca[i];
+
+ f = random() / (double) RAND_MAX;
+ bp->hsv[i * 3] = f * 360.0;
+
+ f = random() / (double) RAND_MAX;
+ bp->hsv[i * 3 + 1] = f * 0.6 + 0.4;
+
+ f = random() / (double) RAND_MAX;
+ bp->hsv[i * 3 + 2] = f * 0.7 + 0.3;
+
+ f = random() / (double) RAND_MAX;
+ bp->hpr[i * 3] = f * 0.005 * 360.0;
+ f = random() / (double) RAND_MAX;
+ bp->hpr[i * 3 + 1] = f * 0.03;
+ f = random() / (double) RAND_MAX;
+ bp->hpr[i * 3 + 2] = f * 0.02;
+
+ bp->geep[i] = 0;
+ f = random() / (double) RAND_MAX;
+ bp->peep[i] = 0.01 + f * 0.2;