* Update self.tur_shotorg by getting up2date bone info
* NOTICE this func overwrites the global v_forward, v_right and v_up vectors.
*/
-#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()
-{
+float turret_tag_fire_update()
+{SELFPARAM();
if(!self.tur_head)
{
error("Call to turret_tag_fire_update with self.tur_head missing!\n");
self.tur_shotorg = '0 0 0';
- return FALSE;
+ return false;
}
self.tur_shotorg = gettaginfo(self.tur_head, gettagindex(self.tur_head, "tag_fire"));
v_forward = normalize(v_forward);
- return TRUE;
+ return true;
}
/*
* 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)
+ float bforce, float f_dmg, float f_velfactor, int deathtype)
-{
+{SELFPARAM();
vector hitloc, force, endpoint, dir;
entity ent;
// note down which entities were hit so we can damage them later
while (1)
{
- tracebox(start, smin, smax, end, FALSE, self);
+ tracebox(start, smin, smax, end, false, self);
// if it is world we can't hurt it so stop now
if (trace_ent == world || trace_fraction == 1)
break;
// make the entity non-solid so we can hit the next one
- trace_ent.railgunhit = TRUE;
+ trace_ent.railgunhit = true;
trace_ent.railgunhitloc = end;
trace_ent.railgunhitsolidbackup = trace_ent.solid;
endpoint = trace_endpos;
// find all the entities the railgun hit and restore their solid state
- ent = findfloat(world, railgunhit, TRUE);
+ ent = findfloat(world, railgunhit, true);
while (ent)
{
// restore their solid type
ent.solid = ent.railgunhitsolidbackup;
- ent = findfloat(ent, railgunhit, TRUE);
+ ent = findfloat(ent, railgunhit, true);
}
// find all the entities the railgun hit and hurt them
- ent = findfloat(world, railgunhit, TRUE);
+ ent = findfloat(world, railgunhit, true);
while (ent)
{
// get the details we need to call the damage function
hitloc = ent.railgunhitloc;
ent.railgunhitloc = '0 0 0';
ent.railgunhitsolidbackup = SOLID_NOT;
- ent.railgunhit = FALSE;
+ ent.railgunhit = false;
// apply the damage
if (ent.takedamage)
}
// advance to the next entity
- ent = findfloat(ent, railgunhit, TRUE);
+ ent = findfloat(ent, railgunhit, true);
}
trace_endpos = endpoint;
}
#ifdef TURRET_DEBUG
void SUB_Remove();
void marker_think()
-{
+{SELFPARAM();
if(self.cnt)
if(self.cnt < time)
{
err = spawn();
err.classname = "error_marker";
- setmodel(err,"models/marker.md3");
+ setmodel(err, MDL_MARKER);
setorigin(err,where);
err.movetype = MOVETYPE_NONE;
err.think = marker_think;
err = spawn();
err.classname = "info_marker";
- setmodel(err,"models/marker.md3");
+ setmodel(err, MDL_MARKER);
setorigin(err,where);
err.movetype = MOVETYPE_NONE;
err.think = marker_think;
err = spawn();
err.classname = "mark_misc";
- setmodel(err,"models/marker.md3");
+ setmodel(err, MDL_MARKER);
setorigin(err,where);
err.movetype = MOVETYPE_NONE;
err.think = marker_think;
return err;
}
+MODEL(TUR_C512, "models/turrets/c512.md3");
+
/*
* Paint a v_color colord circle on target onwho
* that fades away over f_time
entity e;
e = spawn();
- setmodel(e, "models/turrets/c512.md3"); // precision set above
+ setmodel(e, MDL_TUR_C512); // precision set above
e.scale = (f_size/512);
//setsize(e, '0 0 0', '0 0 0');
//setattachment(e,onwho,"");
entity e;
e = spawn();
- setmodel(e, "models/turrets/c512.md3"); // precision set above
+ setmodel(e, MDL_TUR_C512); // precision set above
e.scale = (f_size/512);
setsize(e, '0 0 0', '0 0 0');
{
entity e;
e = spawn();
- setmodel(e, "models/turrets/c512.md3"); // precision set above
+ setmodel(e, MDL_TUR_C512); // precision set above
e.scale = (f_size/512);
setsize(e, '0 0 0', '0 0 0');
setorigin(e,where+ '0 0 1');