r5726 - in trunk/data/qcsrc: client server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Tue Feb 3 08:26:28 EST 2009
Author: div0
Date: 2009-02-03 08:26:28 -0500 (Tue, 03 Feb 2009)
New Revision: 5726
Modified:
trunk/data/qcsrc/client/Main.qc
trunk/data/qcsrc/client/prandom.qc
trunk/data/qcsrc/client/prandom.qh
trunk/data/qcsrc/server/g_world.qc
Log:
fixed prandom. It should now actually work - i.e. gibs should move the same way when playing back a demo!
Modified: trunk/data/qcsrc/client/Main.qc
===================================================================
--- trunk/data/qcsrc/client/Main.qc 2009-02-03 13:09:16 UTC (rev 5725)
+++ trunk/data/qcsrc/client/Main.qc 2009-02-03 13:26:28 UTC (rev 5726)
@@ -603,7 +603,10 @@
void Ent_RandomSeed()
{
- psrandom(ReadShort());
+ float s;
+ prandom_debug();
+ s = ReadShort();
+ psrandom(s);
}
// CSQC_Ent_Update : Called every frame that the server has indicated an update to the SSQC / CSQC entity has occured.
Modified: trunk/data/qcsrc/client/prandom.qc
===================================================================
--- trunk/data/qcsrc/client/prandom.qc 2009-02-03 13:09:16 UTC (rev 5725)
+++ trunk/data/qcsrc/client/prandom.qc 2009-02-03 13:26:28 UTC (rev 5726)
@@ -7,6 +7,11 @@
float c;
c = crc16(FALSE, strcat(ftos(prandom_seed), ftos(prandom_seed + 3.1415926535)));
prandom_seed = c;
+
+#ifdef USE_PRANDOM_DEBUG
+ print("RANDOM -> ", ftos(c), "\n");
+#endif
+
return c / 65536; // in [0..1[
}
@@ -28,5 +33,15 @@
void psrandom(float seed)
{
prandom_seed = seed;
+#ifdef USE_PRANDOM_DEBUG
+ print("SRANDOM ", ftos(seed), "\n");
+#endif
}
+
+#ifdef USE_PRANDOM_DEBUG
+void prandom_debug()
+{
+ print("Current random seed = ", ftos(prandom_seed), "\n");
+}
#endif
+#endif
Modified: trunk/data/qcsrc/client/prandom.qh
===================================================================
--- trunk/data/qcsrc/client/prandom.qh 2009-02-03 13:09:16 UTC (rev 5725)
+++ trunk/data/qcsrc/client/prandom.qh 2009-02-03 13:26:28 UTC (rev 5726)
@@ -1,12 +1,20 @@
// prandom - PREDICTABLE random number generator
+#define USE_PRANDOM
+
#ifdef USE_PRANDOM
float prandom();
vector prandomvec();
void psrandom(float seed);
+#ifdef USE_PRANDOM_DEBUG
+void prandom_debug();
#else
+#define prandom_debug()
+#endif
+#else
#define prandom random
#define prandomvec randomvec
#define psrandom(x)
+#define prandom_debug()
#endif
Modified: trunk/data/qcsrc/server/g_world.qc
===================================================================
--- trunk/data/qcsrc/server/g_world.qc 2009-02-03 13:09:16 UTC (rev 5725)
+++ trunk/data/qcsrc/server/g_world.qc 2009-02-03 13:26:28 UTC (rev 5726)
@@ -309,6 +309,8 @@
{
self.cnt = bound(0, floor(random() * 65536), 65535);
self.nextthink = time + 5;
+
+ self.SendFlags |= 1;
}
void RandomSeed_Spawn()
{
More information about the nexuiz-commits
mailing list