]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Make sure the number of lightning beam segments is bounded.
authorRudolf Polzer <divverent@xonotic.org>
Mon, 9 Mar 2015 12:28:55 +0000 (13:28 +0100)
committerRudolf Polzer <divverent@xonotic.org>
Mon, 9 Mar 2015 12:29:25 +0000 (13:29 +0100)
Otherwise, beam list overflow and infinite loops.

qcsrc/client/effects.qc

index df688465739685158b99a52f0346115d2012818b..7e0f1c6c5feaf70f3d1c0b66618c7ec8c7a4a255 100644 (file)
@@ -46,7 +46,9 @@ void cl_effects_lightningarc(vector from, vector to,float seglength,float drifts
     if(length < 1)
         return;
 
-    steps      = floor(length / seglength);
+    // Use at most 16 te_lightning1 segments, as these eat up beam list segments.
+    // TODO: Change this to R_BeginPolygon code, then we no longer have this limit.
+    steps      = min(16, floor(length / seglength));
     if(steps < 1)
     {
         te_lightning1(world,from,to);