hedgewars/uRandom.pas
changeset 5123 b0b57f247e02
parent 4976 088d40d8aba2
child 6580 6155187bf599
--- a/hedgewars/uRandom.pas	Fri Apr 08 03:07:04 2011 +0200
+++ b/hedgewars/uRandom.pas	Fri Apr 08 04:30:28 2011 +0200
@@ -19,6 +19,14 @@
 {$INCLUDE "options.inc"}
 
 unit uRandom;
+(*
+ * This unit supplies platform-independent functions for getting various
+ * pseudo-random values based on a shared seed.
+ *
+ * This is necessary for accomplishing pseudo-random behavior in the game
+ * without causing a desynchronisation of different clients when playing over
+ * a network.
+ *)
 interface
 uses uFloat;
 {$INCLUDE "config.inc"}
@@ -26,10 +34,10 @@
 procedure initModule;
 procedure freeModule;
 
-procedure SetRandomSeed(Seed: shortstring);
-function  GetRandom: hwFloat; overload;
-function  GetRandom(m: LongWord): LongWord; overload;
-function  rndSign(num: hwFloat): hwFloat;
+procedure SetRandomSeed(Seed: shortstring); // Sets the seed that should be used for generating pseudo-random values.
+function  GetRandom: hwFloat; overload; // Returns a pseudo-random hwFloat.
+function  GetRandom(m: LongWord): LongWord; overload; // Returns a positive pseudo-random integer smaller than m.
+function  rndSign(num: hwFloat): hwFloat; // Returns num with a random chance of having a inverted sign.
 
 implementation