]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/client/prandom.qc
Rename the underscore headers
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / prandom.qc
1 #include "prandom.qh"
2 #include "_all.qh"
3
4 #include "../warpzonelib/mathlib.qh"
5
6 // prandom - PREDICTABLE random number generator (not seeded yet)
7
8 #ifdef USE_PRANDOM
9 float prandom_seed;
10 float prandom()
11 {
12         float c;
13         c = crc16(false, strcat(ftos(prandom_seed), ftos(prandom_seed + M_PI)));
14         prandom_seed = c;
15
16 #ifdef USE_PRANDOM_DEBUG
17         dprint("RANDOM -> ", ftos(c), "\n");
18 #endif
19
20         return c / 65536; // in [0..1[
21 }
22
23 vector prandomvec()
24 {
25         vector v;
26
27         do
28         {
29                 v.x = prandom();
30                 v.y = prandom();
31                 v.z = prandom();
32         }
33         while(v * v > 1);
34
35         return v;
36 }
37
38 void psrandom(float seed)
39 {
40         prandom_seed = seed;
41 #ifdef USE_PRANDOM_DEBUG
42         dprint("SRANDOM ", ftos(seed), "\n");
43 #endif
44 }
45
46 #ifdef USE_PRANDOM_DEBUG
47 void prandom_debug()
48 {
49         dprint("Current random seed = ", ftos(prandom_seed), "\n");
50 }
51 #endif
52 #endif