float anglemods(float v)
{
v = v - 360 * floor(v / 360);
-
+
if(v >= 180)
return v - 360;
else if(v <= -180)
return v + 360;
- else
+ else
return v;
}
vector shortangle_vxy(vector ang1, vector ang2)
{
- vector vtmp;
+ vector vtmp = '0 0 0';
vtmp_x = shortangle_f(ang1_x,ang2_x);
vtmp_y = shortangle_f(ang1_y,ang2_y);
vector real_origin(entity ent)
{
entity e;
- vector v;
+ vector v = ((ent.absmin + ent.absmax) * 0.5);
e = ent.tag_entity;
while(e)
v = v + ((e.absmin + e.absmax) * 0.5);
e = e.tag_entity;
}
- v = v + ((ent.absmin + ent.absmax) * 0.5);
+
return v;
}
vector angleofs(entity from, entity to)
{
vector v_res;
-
+
v_res = normalize(to.origin - from.origin);
v_res = vectoangles(v_res);
v_res = v_res - from.angles;
vector angleofs3(vector from, vector from_a, entity to)
{
vector v_res;
-
+
v_res = normalize(to.origin - from);
v_res = vectoangles(v_res);
v_res = v_res - from_a;
* Update self.tur_shotorg by getting up2date bone info
* NOTICE this func overwrites the global v_forward, v_right and v_up vectors.
*/
-float turret_tag_fire_update()
+#define turret_tag_fire_update() self.tur_shotorg = gettaginfo(self.tur_head, gettagindex(self.tur_head, "tag_fire"));v_forward = normalize(v_forward)
+float turret_tag_fire_update_s()
{
if(!self.tur_head)
{
}
/*
-* Railgun-like beam, but has thickness and suppots slowing of target
+* Railgun-like beam, but has thickness and suppots slowing of target
*/
void FireImoBeam (vector start, vector end, vector smin, vector smax,
float bforce, float f_dmg, float f_velfactor, float deathtype)
e.colormod = v_color;
SUB_SetFade(e,time,f_time);
}
-#endif
+#endif