]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Get rid of 240 tracelines / second for racer by disabelign swept colission code,...
authorJakob MG <jakob_mg@hotmail.com>
Sat, 2 Apr 2011 17:53:50 +0000 (19:53 +0200)
committerJakob MG <jakob_mg@hotmail.com>
Sat, 2 Apr 2011 17:53:50 +0000 (19:53 +0200)
qcsrc/server/vehicles/racer.qc
qcsrc/server/vehicles/vehicles.qc
vehicle_racer.cfg

index d5466fc5e026f2fc401fd99686923ba75d62dabd..70611e50b0bce48651a23df42a2a85afceb733d3 100644 (file)
@@ -70,29 +70,30 @@ void racer_align4point()
     vector push_vector, v_add;
     float fl_push, fr_push, bl_push, br_push;
 
+
     push_vector  = racer_force_from_tag("tag_engine_fr", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower);
     fr_push      = force_fromtag_normpower;
-    vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier);
+    //vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier);
 
     push_vector += racer_force_from_tag("tag_engine_fl", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower);
     fl_push      = force_fromtag_normpower;
-    vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier);
+    //vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier);
 
     push_vector += racer_force_from_tag("tag_engine_br", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower);
     br_push      = force_fromtag_normpower;
-    vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier);
+    //vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier);
 
     push_vector += racer_force_from_tag("tag_engine_bl", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower);
     bl_push      = force_fromtag_normpower;
-    vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier);
+    //vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier);
 
     self.velocity += (push_vector * frametime);
 
     // Anti ocilation
     if(self.velocity_z  > 0)
-        self.velocity_z  *= autocvar_g_vehicle_racer_upforcedamper;
+        self.velocity_z *= 1 - (autocvar_g_vehicle_racer_upforcedamper * frametime);
 
-    self.velocity += v_add;
+    self.velocity   += v_add;
     self.velocity_z -= autocvar_sv_gravity * frametime;
 
     push_vector_x =  (fl_push - bl_push);
@@ -106,6 +107,7 @@ void racer_align4point()
     // Apply angle diffrance
     self.angles_z += push_vector_z * frametime;
     self.angles_x += push_vector_x * frametime;
+
     // Apply stabilizer
     self.angles_x *= 1 - (autocvar_g_vehicle_racer_anglestabilizer * frametime);
     self.angles_z *= 1 - (autocvar_g_vehicle_racer_anglestabilizer * frametime);
@@ -507,8 +509,6 @@ void racer_think()
 {
     float a, b, c;
 
-    self.nextthink = time;
-
     a = autocvar_g_vehicle_racer_anglestabilizer;
     b = autocvar_g_vehicle_racer_springlength;
     c = autocvar_g_vehicle_racer_hoverpower;
@@ -517,10 +517,10 @@ void racer_think()
     autocvar_g_vehicle_racer_springlength = 96;
     autocvar_g_vehicle_racer_hoverpower = 300;
 
-    racer_align4point();
+    racer_align4point(); //time - self.nextthink);
 
-    if(self.velocity_z < 0)
-        self.velocity_z *= 0.95;
+    //if(self.velocity_z > 0)
+    //    self.velocity_z *= 0.95;
 
     autocvar_g_vehicle_racer_anglestabilizer = a;
     autocvar_g_vehicle_racer_springlength = b;
@@ -528,11 +528,13 @@ void racer_think()
 
     self.velocity_x *= 0.95;
     self.velocity_y *= 0.95;
+
+    self.nextthink = time + 0.05;
 }
 
 void racer_enter()
 {
-    self.movetype = MOVETYPE_BOUNCEMISSILE;
+    self.movetype = MOVETYPE_BOUNCE; //MISSILE;
     self.owner.vehicle_health = (self.vehicle_health / autocvar_g_vehicle_racer_health);
     self.owner.vehicle_shield = (self.vehicle_shield / autocvar_g_vehicle_racer_shield);
 }
index 13b52ce228439c53540126e2abda583b00dbed82..5c484595977a6b441ef90863e7b095c70563b02f 100644 (file)
@@ -244,7 +244,6 @@ void vehicles_touch()
                     Damage(other, self, self.owner, autocvar_g_vehicles_crush_dmg, DEATH_SBCRUSH, '0 0 0', normalize(other.origin - self.origin) * autocvar_g_vehicles_crush_force);
             }
         }
-
         return;
     }
 
index 8895746f331059025e16b6d5c4e5febd88094fc7..63d7a78bc8319998c8d63501f3a610a56b7b2d58 100644 (file)
@@ -21,10 +21,10 @@ set g_vehicle_racer_afterburn_cost      75      // energy consumed per second
 
 set g_vehicle_racer_hovertype           0       // 0 = hover, != 0 = maglev
 set g_vehicle_racer_hoverpower          3600    // NOTE!! x 4 (4 engines)
-set g_vehicle_racer_upforcedamper       0.94
+set g_vehicle_racer_upforcedamper       4
 
 set g_vehicle_racer_downforce            0.01
-set g_vehicle_racer_springlength         40
+set g_vehicle_racer_springlength         60
 set g_vehicle_racer_collision_multiplier 0.05
 set g_vehicle_racer_anglestabilizer      2