]> de.git.xonotic.org Git - voretournament/voretournament.git/blob - data/qcsrc/client/prandom.qc
Correct check on the cutsound cvars
[voretournament/voretournament.git] / data / qcsrc / client / prandom.qc
1 // prandom - PREDICTABLE random number generator (not seeded yet)\r
2 \r
3 #ifdef USE_PRANDOM\r
4 float prandom_seed;\r
5 float prandom()\r
6 {\r
7         float c;\r
8         c = crc16(FALSE, strcat(ftos(prandom_seed), ftos(prandom_seed + M_PI)));\r
9         prandom_seed = c;\r
10 \r
11 #ifdef USE_PRANDOM_DEBUG\r
12         print("RANDOM -> ", ftos(c), "\n");\r
13 #endif\r
14 \r
15         return c / 65536; // in [0..1[\r
16 }\r
17 \r
18 vector prandomvec()\r
19 {\r
20         vector v;\r
21 \r
22         do\r
23         {\r
24                 v_x = prandom();\r
25                 v_y = prandom();\r
26                 v_z = prandom();\r
27         }\r
28         while(v * v > 1);\r
29 \r
30         return v;\r
31 }\r
32 \r
33 void psrandom(float seed)\r
34 {\r
35         prandom_seed = seed;\r
36 #ifdef USE_PRANDOM_DEBUG\r
37         print("SRANDOM ", ftos(seed), "\n");\r
38 #endif\r
39 }\r
40 \r
41 #ifdef USE_PRANDOM_DEBUG\r
42 void prandom_debug()\r
43 {\r
44         print("Current random seed = ", ftos(prandom_seed), "\n");\r
45 }\r
46 #endif\r
47 #endif\r