Once again, take srand()/random() out of the initialization chain.
[open-adventure.git] / misc.c
diff --git a/misc.c b/misc.c
index 04107c7d7e41917d617b3d7b7adbd864fa758c9f..3243f1e50895c886efd30e25d329caa4f3e3d776 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -722,7 +722,8 @@ L2: ATDWRF=I;
 
 
 
-/*  Utility routines (SETBIT, TSTBIT, set_seed_from_time, get_next_lcg_value, randrange, RNDVOC, BUG) */
+/*  Utility routines (SETBIT, TSTBIT, set_seed, get_next_lcg_value,
+ *  randrange, RNDVOC, BUG) */
 
 #undef SETBIT
 long fSETBIT(long BIT) {
@@ -758,11 +759,9 @@ long TSTBIT;
 #define TSTBIT(MASK,BIT) fTSTBIT(MASK,BIT)
 #undef RNDVOC
 
-void set_seed_from_time(void)
+void set_seed(long seedval)
 {
-  /* Use the current system time to get seed the ISO rand() function, from which we get a seed for the LCG. */
-  srand(time(NULL));
-  lcgstate.x = (unsigned long) rand() % lcgstate.m;
+  lcgstate.x = (unsigned long) seedval % lcgstate.m;
 }
 
 unsigned long get_next_lcg_value(void)