[nexuiz-commits] r7009 - trunk/data/qcsrc/server/vehicles
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri Jun 12 07:25:15 EDT 2009
Author: tzork
Date: 2009-06-12 07:25:14 -0400 (Fri, 12 Jun 2009)
New Revision: 7009
Modified:
trunk/data/qcsrc/server/vehicles/racer.qc
Log:
de-junk vehicles/racer.qc slightly.
Modified: trunk/data/qcsrc/server/vehicles/racer.qc
===================================================================
--- trunk/data/qcsrc/server/vehicles/racer.qc 2009-06-12 11:04:58 UTC (rev 7008)
+++ trunk/data/qcsrc/server/vehicles/racer.qc 2009-06-12 11:25:14 UTC (rev 7009)
@@ -16,11 +16,9 @@
jetfromtag_origin = gettaginfo(self,gettagindex(self,tagname));
v_forward = normalize(v_forward);
- //dprint("dd:",vtos(v_forward)," - ",vtos(force_dir),"\n");
force_dir = jetfromtag_origin - v_forward * jet_length;
traceline(jetfromtag_origin, force_dir, MOVE_NORMAL, self);
- //te_lightning1(world,jetfromtag_origin,force_dir);
solid_frac = 1 - trace_fraction;
air_frac = trace_fraction;
@@ -28,65 +26,21 @@
if(solid_frac < 0.1)
jetfromtag_nosolid += 1;
- //if(solid_frac < 0.5)
- //solid_frac = solid_frac * solid_frac;
- //solid_frac = solid_frac * 1.5;
-
solid_pwr = solid_frac * solid_power;
air_pwr = air_frac * air_power;
- //float pmax;
- //pmax = air_power+solid_power;
- //pmax = min(pmax,max(self.velocity_z * cvar("g_vehicle_racer_powerfac"),800));
- //jetfromtag_power = min(solid_pwr + air_pwr,max(self.velocity_z * cvar("g_vehicle_racer_powerfac"),800));
jetfromtag_power = solid_pwr + air_pwr;
jetfromtag_normpower = jetfromtag_power / (air_power+solid_power);
if(trace_fraction == 1)
return v_forward;
else
return v_forward * (jetfromtag_power + cvar("g_vehicle_racer_power_min"));
-
- // - (v_forward * cvar("g_vehicle_racer_springk"));
}
-/*
-vector jetfromtag2(string tagname,float jet_length,float air_power,float solid_power)
-{
- vector force_dir;
- float solid_frac, solid_pwr;
-
- jetfromtag_origin = gettaginfo(self,gettagindex(self,tagname));
- v_forward = normalize(v_forward);
-
- force_dir = jetfromtag_origin - v_forward * jet_length;
- traceline(jetfromtag_origin, force_dir, MOVE_NORMAL, self);
-
- if(trace_fraction == 1)
- {
- jetfromtag_power = 0;
- jetfromtag_normpower = 0;
- return v_forward * 0.1;
- }
-
- float pwr_up,pwr_down;
-
- pwr_up = (1 - trace_fraction);
- pwr_down = (trace_fraction * -1);
-
- jetfromtag_power = pwr_up + pwr_down;
- jetfromtag_normpower = jetfromtag_power / solid_power;
- return v_forward * jetfromtag_power;
-
-
-
-}
-*/
-
void racer_align4point(float spring_length,float spring_up,float blendrate)
{
vector fl_org,fl_force,fr_org,fr_force,bl_org,bl_force,br_org,br_force;
vector push_vector,align;
- //vector c1,c2;
float fl_push, fr_push, bl_push, br_push;
jetfromtag_nosolid = 0;
@@ -104,17 +58,7 @@
bl_org = jetfromtag_origin; bl_push = jetfromtag_normpower;
push_vector = fr_force + fl_force + br_force + bl_force;
- //c1 = (fr_org + fl_org + br_org + bl_org) - (self.origin *4);
- /*
- vector vtmp;
- vtmp = normalize((fr_org + fr_force) - self.origin);
- vtmp += normalize((br_org + br_force) - self.origin);
- vtmp += normalize((fl_org + fl_force) - self.origin);
- vtmp += normalize((bl_org + bl_force) - self.origin);
- //vtmp = vtmp * 0.25;
- */
- //dprint("a1:",vtos(vtmp)," a2",vtos(vtmp - self.angles),"\n");
align = align;
align_x = (fl_push - bl_push);
@@ -130,11 +74,6 @@
self.angles_x += align_x * frametime;
self.angles_z += align_z * frametime;
- //c1 = normalize(self.velocity);
- //c2 = normalize(push_vector - self.velocity);
- // dprint("VR: ",vtos(c2),"\n");
- //if(c2_z == -1)
- // push_vector_z *= 5;
self.velocity = self.velocity + (push_vector * frametime);
self.velocity_z -= sv_gravity * frametime;
@@ -178,10 +117,8 @@
ftmp = bound(ftmp2,shortangle_f(player.v_angle_y - racer.angles_y,racer.angles_y),ftmp);
- //if(racer.flags & FL_ONGROUND)
{
racer.angles_y = safeangle(racer.angles_y + ftmp);
- //player.angles = racer.angles;
if(player.BUTTON_JUMP)
{
player.BUTTON_JUMP = 0;
@@ -192,7 +129,6 @@
if(vlen(player.movement) == 0)
{
self = racer;
- //movelib_beak_simple(cvar("g_vehicle_racer_speed_stop"));
ftmp = self.velocity_z;
self.velocity = self.velocity - self.velocity * cvar("g_vehicle_racer_speed_stop");
self.velocity_z = ftmp;
@@ -203,25 +139,17 @@
if(player.movement_x != 0)
{
if(player.movement_x > 0)
- {
player.movement_x = 1;
- }
else if(player.movement_x < 0)
- {
player.movement_x = -1;
- }
}
if(player.movement_y != 0)
{
if(player.movement_y < 0)
- {
player.movement_y = -1;
- }
else if(player.movement_y > 0)
- {
player.movement_y = 1;
- }
}
self = racer;
@@ -232,49 +160,30 @@
self = racer;
}
- vector df;
- df = vlen(self.velocity) * cvar("g_vehicle_racer_downforce") * v_up;
- //te_lightning1(self,self.origin,self.origin - df);
- self.velocity = self.velocity - df;
+ vector df;
- player.movement = racer.velocity;
self = racer;
+
+ df = vlen(self.velocity) * cvar("g_vehicle_racer_downforce") * v_up;
+ self.velocity = self.velocity - df;
+ player.movement = racer.velocity;
racer_align4point(cvar("g_vehicle_racer_springlength"),100,cvar("g_vehicle_racer_inert"));
if(cvar("g_vehicle_racer_drag"))
self.velocity = movelib_dragvec(cvar("g_vehicle_racer_drag"),cvar("g_vehicle_racer_dragexp"));
-
-
- player.BUTTON_ATCK = player.BUTTON_ATCK2 = 0;
self = player;
- setorigin(player,racer.origin);
+ player.BUTTON_ATCK = player.BUTTON_ATCK2 = 0;
+ setorigin(player,racer.origin + '0 0 32');
player.velocity = racer.velocity;
- //player.v_angle = racer.angles;
- //player.v_angle_x *= -1;
-
- /*
- msg_entity = player;
- player.angles = racer.angles;
- //player.fixangle = TRUE;
- WriteByte (MSG_ONE, SVC_SETVIEWANGLES); // 10 = SVC_SETVIEWANGLES
- //WriteAngle(MSG_ONE, player.v_angle_x - (racer.angles_x * -1)); // tilt
- WriteAngle(MSG_ONE, racer.angles_x * -1); // tilt
- WriteAngle(MSG_ONE, player.v_angle_y); // yaw
- WriteAngle(MSG_ONE, (racer.angles_z + player.v_angle_z) * 0.5); // flip
- */
-
return 1;
}
void racer_think()
{
- //if(self.flags & FL_ONGROUND)
- //{
- movelib_beak_simple(cvar("g_vehicle_racer_speed_stop"));
- //racer_align4point(300,100);
- //}
+ movelib_beak_simple(cvar("g_vehicle_racer_speed_stop"));
+
self.nextthink = time;
}
@@ -295,7 +204,7 @@
self.owner.vehicle = self;
self.owner.event_damage = SUB_Null;
//self.event_damage = vehicle_stdproc_damage ;
- //self.colormap = self.owner.colormap;
+ self.colormap = self.owner.colormap;
//self.tur_head.colormap = self.owner.colormap;
//self.vehicle_hudmodel.viewmodelforclient = self.owner;
//self.owner.hud = HUD_SPIDEBOT;
@@ -313,7 +222,7 @@
WriteByte (MSG_ONE, SVC_SETVIEWANGLES); // 10 = SVC_SETVIEWANGLES
WriteAngle(MSG_ONE, self.angles_x); // tilt
WriteAngle(MSG_ONE, self.angles_y); // yaw
- WriteAngle(MSG_ONE, self.angles_z); // flip
+ WriteAngle(MSG_ONE, 0); // roll
//self.owner.view_ofs = '0 0 0';
//self.tur_head.nodrawtoclient = self.owner;
@@ -327,7 +236,11 @@
WriteByte (MSG_ONE, SVC_SETVIEWPORT);
WriteEntity( MSG_ONE, self.owner);
- //setattachment(self.owner,world,"");
+ WriteByte (MSG_ONE, SVC_SETVIEWANGLES); // 10 = SVC_SETVIEWANGLES
+ WriteAngle(MSG_ONE, 0); // tilt
+ WriteAngle(MSG_ONE, self.angles_y); // yaw
+ WriteAngle(MSG_ONE, 0); // roll
+
self.think = racer_think;
self.nextthink = time;
@@ -341,15 +254,14 @@
self.owner.PlayerPhysplug = SUB_Null;
self.owner.vehicle = world;
self.owner.view_ofs = PL_VIEW_OFS;
- //self.owner.hud = HUD_NORMAL;
self.owner.event_damage = PlayerDamage;
+ //self.owner.hud = HUD_NORMAL;
- //self.colormap = 1024;
+ self.colormap = 1024;
//self.tur_head.colormap = 1024;
//self.vehicle_hudmodel.viewmodelforclient = self;
//self.tur_head.nodrawtoclient = self;
-
setattachment(self.owner,world,"");
if(eject)
@@ -359,7 +271,7 @@
self.owner.velocity = (v_up + v_forward * 0.25) * 750;
}
else
- setorigin(self.owner,self.origin - v_forward * 200);
+ setorigin(self.owner,self.origin + '0 0 64' - v_forward * 200);
self.owner = world;
}
@@ -378,7 +290,6 @@
vector a;
a = normalize(other.origin - self.origin);
a = a - normalize(self.velocity);
- //dprint("a:",vtos(a),"\n");
return;
}
@@ -396,14 +307,11 @@
}
/*
-float spiderbot_customizeentityforclient()
+float racer_customizeentityforclient()
{
if(self.deadflag == DEAD_DEAD)
return FALSE;
- if(self.owner == other)
- self.tur_head.alpha = -1;
- else
- self.tur_head.alpha = 1;
+
return TRUE;
}
*/
@@ -417,7 +325,7 @@
//self.vehicle_health = CCVAR("_health");
//self.vehicle_shield = CCVAR("_shield");
//self.event_damage = vehicle_stdproc_damage;
- //self.event_damage = spiderbot_damage;
+ self.event_damage = racer_damage;
//self.iscreature = TRUE;
self.scale = 0.5;
self.movetype = MOVETYPE_FLY;
@@ -502,7 +410,7 @@
setattachment(self.vehicle_viewport,self,"");
//self.tur_head.customizeentityforclient = spiderbot_customizeentityforclient;
- setorigin(self.vehicle_viewport,'-400 0 40 ');
+ setorigin(self.vehicle_viewport,'-400 0 40');
self.tur_aimpos = self.origin;
racer_spawn();
@@ -519,124 +427,3 @@
self.think = racer_dinit;
self.nextthink = time + 0.5;
}
-/*
-onClipEvent (load) {
- // inertia relates to the quantity of energy that
- // the spring will carry
- // inertia = 1 would mean that the spring doesn't
- // loose any energy, and that it will oscillate
- // forever
- inertia = 0.9 ;
-
- // k relates to the spring, and how "hard" it will be.
- // The higher k the faster the mass will come back.
- k = 0.1 ;
-}
-
-onClipEvent (enterFrame) {
-
- // We calculate the distance to the mouse
- x = -this._x + _root._xmouse ;
- y = -this._y + _root._ymouse ;
-
- //We calculate the amount by which the mass will to move
- xp = xp * inertia + x*k ;
- yp = yp * inertia + y*k ;
-
- //We move it
- _x += xp ;
- _y += yp ;
-}
-*/
-
-/*
-.float inertia;
-.float k;
-.float mass;
-.entity springtarget;
-//.float dt;
-void func_spring_think()
-{
-
- float deltatime;
- deltatime = time - other.lastpushtime;
- if (pushdeltatime > 0.15) pushdeltatime = 0;
- other.lastpushtime = time;
- if(!pushdeltatime) return;
-
-
- vector dist;
- //vector move;
- dist = (self.springtarget.origin *-1) + self.origin;
- dist = '-1 -1 -1' * vlen(self.springtarget.origin - self.origin);
- self.springtarget.velocity_x *= self.inertia + dist_x * self.k;
- self.springtarget.velocity_y *= self.inertia + dist_y * self.k;
- self.springtarget.velocity_z *= self.inertia + dist_z * self.k;
-
- self.nextthink = time;
-}
-
-void func_spring_init()
-{
- self.springtarget = find(world, targetname, self.target);
- if(!self.springtarget)
- {
- objerror("func_spring cant find its .target!\n");
- remove(self);
- return;
- }
- self.think = func_spring_think;
- self.nextthink = time;
-}
-
-void springtarget_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
-{
- dprint("Smack!\n");
- self.velocity = self.velocity +force;
-}
-
-void spawnfunc_func_springtarget()
-{
- self.mdl = self.model;
- setmodel(self, self.mdl);
-
- self.effects |= EF_LOWPRECISION;
- setsize (self, self.mins , self.maxs);
- self.movetype = MOVETYPE_BOUNCE;
- setorigin(self,self.origin);
- self.solid = SOLID_BSP;
- self.takedamage = DAMAGE_YES;
- self.event_damage = springtarget_damage;
- dprint("spawnfunc_func_springtarget!\n");
-}
-
-void spawnfunc_func_spring()
-{
- if(self.target == "")
- {
- objerror("func_spring w/o target!\n");
- //remove(self);
- return;
- }
-
- if(!self.inertia)
- self.inertia = 0.9;
-
- if(!self.k)
- self.k = 0.1;
-
- if(!self.mass)
- self.mass = 1;
-
- self.mdl = self.model;
- setmodel(self, self.mdl);
-
- self.effects |= EF_LOWPRECISION;
- setsize (self, self.mins , self.maxs);
- self.movetype = MOVETYPE_FLY;
- self.think = func_spring_init;
- self.nextthink = time +1;
- dprint("spawnfunc_func_spring!\n");
-
-}
-*/
More information about the nexuiz-commits
mailing list