]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/lib/random.qh
Merge branch 'master' into Mario/wepent_experimental
[xonotic/xonotic-data.pk3dir.git] / qcsrc / lib / random.qh
index 551cf216d99cec90a8fc5eb2367bedad5c4e58a1..b2fc53f0cac4edaaa3ef964c25b7b6093ac2ae2c 100644 (file)
@@ -1,33 +1,36 @@
-#ifndef RANDOM_H
-#define RANDOM_H
+#pragma once
 
 float RandomSelection_totalweight;
 float RandomSelection_best_priority;
 entity RandomSelection_chosen_ent;
 float RandomSelection_chosen_float;
 string RandomSelection_chosen_string;
+vector RandomSelection_chosen_vec;
 
 void RandomSelection_Init();
-void RandomSelection_Add(entity e, float f, string s, float weight, float priority);
+void RandomSelection_Add(entity e, float f, string s, vector v, float weight, float priority);
+#define RandomSelection_AddEnt(e, weight, priority) RandomSelection_Add(e, 0, string_null, '0 0 0', weight, priority)
+#define RandomSelection_AddFloat(f, weight, priority) RandomSelection_Add(NULL, f, string_null, '0 0 0', weight, priority)
+#define RandomSelection_AddString(s, weight, priority) RandomSelection_Add(NULL, 0, s, '0 0 0', weight, priority)
+#define RandomSelection_AddVec(v, weight, priority) RandomSelection_Add(NULL, 0, string_null, v, weight, priority)
 
 // prandom - PREDICTABLE random number generator
 
 #define USE_PRANDOM
 
 #ifdef USE_PRANDOM
-float prandom();
-vector prandomvec();
+       float prandom();
+       vector prandomvec();
 
-void psrandom(float seed);
-#ifdef USE_PRANDOM_DEBUG
-void prandom_debug();
+       void psrandom(float seed);
+       #ifdef USE_PRANDOM_DEBUG
+               void prandom_debug();
+       #else
+               #define prandom_debug()
+       #endif
 #else
-#define prandom_debug()
-#endif
-#else
-#define prandom random
-#define prandomvec randomvec
-#define psrandom(x)
-#define prandom_debug()
-#endif
+       #define prandom random
+       #define prandomvec randomvec
+       #define psrandom(x)
+       #define prandom_debug()
 #endif