summaryrefslogtreecommitdiff
path: root/src/baseq2/g_misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/baseq2/g_misc.c')
-rw-r--r--src/baseq2/g_misc.c973
1 files changed, 446 insertions, 527 deletions
diff --git a/src/baseq2/g_misc.c b/src/baseq2/g_misc.c
index c3b3049..0d77f9f 100644
--- a/src/baseq2/g_misc.c
+++ b/src/baseq2/g_misc.c
@@ -8,7 +8,7 @@ of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
@@ -28,11 +28,11 @@ Used to group brushes together just for editor convenience.
//=====================================================
-void Use_Areaportal (edict_t *ent, edict_t *other, edict_t *activator)
+void Use_Areaportal(edict_t *ent, edict_t *other, edict_t *activator)
{
ent->count ^= 1; // toggle state
// gi.dprintf ("portalstate: %i = %i\n", ent->style, ent->count);
- gi.SetAreaPortalState (ent->style, ent->count);
+ gi.SetAreaPortalState(ent->style, ent->count);
}
/*QUAKED func_areaportal (0 0 0) ?
@@ -41,7 +41,7 @@ This is a non-visible object that divides the world into
areas that are seperated when this portal is not activated.
Usually enclosed in the middle of a door.
*/
-void SP_func_areaportal (edict_t *ent)
+void SP_func_areaportal(edict_t *ent)
{
ent->use = Use_Areaportal;
ent->count = 0; // always start closed;
@@ -55,19 +55,19 @@ void SP_func_areaportal (edict_t *ent)
Misc functions
=================
*/
-void VelocityForDamage (int damage, vec3_t v)
+void VelocityForDamage(int damage, vec3_t v)
{
v[0] = 100.0 * crandom();
v[1] = 100.0 * crandom();
v[2] = 200.0 + 100.0 * random();
if (damage < 50)
- VectorScale (v, 0.7, v);
- else
- VectorScale (v, 1.2, v);
+ VectorScale(v, 0.7, v);
+ else
+ VectorScale(v, 1.2, v);
}
-void ClipGibVelocity (edict_t *ent)
+void ClipGibVelocity(edict_t *ent)
{
if (ent->velocity[0] < -300)
ent->velocity[0] = -300;
@@ -89,19 +89,18 @@ void ClipGibVelocity (edict_t *ent)
gibs
=================
*/
-void gib_think (edict_t *self)
+void gib_think(edict_t *self)
{
self->s.frame++;
self->nextthink = level.time + FRAMETIME;
- if (self->s.frame == 10)
- {
+ if (self->s.frame == 10) {
self->think = G_FreeEdict;
- self->nextthink = level.time + 8 + random()*10;
+ self->nextthink = level.time + 8 + random() * 10;
}
}
-void gib_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
+void gib_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{
vec3_t normal_angles, right;
@@ -110,16 +109,14 @@ void gib_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf
self->touch = NULL;
- if (plane)
- {
- gi.sound (self, CHAN_VOICE, gi.soundindex ("misc/fhit3.wav"), 1, ATTN_NORM, 0);
+ if (plane) {
+ gi.sound(self, CHAN_VOICE, gi.soundindex("misc/fhit3.wav"), 1, ATTN_NORM, 0);
- vectoangles (plane->normal, normal_angles);
- AngleVectors (normal_angles, NULL, right, NULL);
- vectoangles (right, self->s.angles);
+ vectoangles(plane->normal, normal_angles);
+ AngleVectors(normal_angles, NULL, right, NULL);
+ vectoangles(right, self->s.angles);
- if (self->s.modelindex == sm_meat_index)
- {
+ if (self->s.modelindex == sm_meat_index) {
self->s.frame++;
self->think = gib_think;
self->nextthink = level.time + FRAMETIME;
@@ -127,12 +124,12 @@ void gib_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf
}
}
-void gib_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
+void gib_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{
- G_FreeEdict (self);
+ G_FreeEdict(self);
}
-void ThrowGib (edict_t *self, char *gibname, int damage, int type)
+void ThrowGib(edict_t *self, char *gibname, int damage, int type)
{
edict_t *gib;
vec3_t vd;
@@ -142,56 +139,53 @@ void ThrowGib (edict_t *self, char *gibname, int damage, int type)
gib = G_Spawn();
- VectorScale (self->size, 0.5, size);
- VectorAdd (self->absmin, size, origin);
+ VectorScale(self->size, 0.5, size);
+ VectorAdd(self->absmin, size, origin);
gib->s.origin[0] = origin[0] + crandom() * size[0];
gib->s.origin[1] = origin[1] + crandom() * size[1];
gib->s.origin[2] = origin[2] + crandom() * size[2];
- gi.setmodel (gib, gibname);
+ gi.setmodel(gib, gibname);
gib->solid = SOLID_NOT;
gib->s.effects |= EF_GIB;
gib->flags |= FL_NO_KNOCKBACK;
gib->takedamage = DAMAGE_YES;
gib->die = gib_die;
- if (type == GIB_ORGANIC)
- {
+ if (type == GIB_ORGANIC) {
gib->movetype = MOVETYPE_TOSS;
gib->touch = gib_touch;
vscale = 0.5;
- }
- else
- {
+ } else {
gib->movetype = MOVETYPE_BOUNCE;
vscale = 1.0;
}
- VelocityForDamage (damage, vd);
- VectorMA (self->velocity, vscale, vd, gib->velocity);
- ClipGibVelocity (gib);
- gib->avelocity[0] = random()*600;
- gib->avelocity[1] = random()*600;
- gib->avelocity[2] = random()*600;
+ VelocityForDamage(damage, vd);
+ VectorMA(self->velocity, vscale, vd, gib->velocity);
+ ClipGibVelocity(gib);
+ gib->avelocity[0] = random() * 600;
+ gib->avelocity[1] = random() * 600;
+ gib->avelocity[2] = random() * 600;
gib->think = G_FreeEdict;
- gib->nextthink = level.time + 10 + random()*10;
+ gib->nextthink = level.time + 10 + random() * 10;
- gi.linkentity (gib);
+ gi.linkentity(gib);
}
-void ThrowHead (edict_t *self, char *gibname, int damage, int type)
+void ThrowHead(edict_t *self, char *gibname, int damage, int type)
{
vec3_t vd;
float vscale;
self->s.skinnum = 0;
self->s.frame = 0;
- VectorClear (self->mins);
- VectorClear (self->maxs);
+ VectorClear(self->mins);
+ VectorClear(self->maxs);
self->s.modelindex2 = 0;
- gi.setmodel (self, gibname);
+ gi.setmodel(self, gibname);
self->solid = SOLID_NOT;
self->s.effects |= EF_GIB;
self->s.effects &= ~EF_FLIES;
@@ -201,52 +195,46 @@ void ThrowHead (edict_t *self, char *gibname, int damage, int type)
self->takedamage = DAMAGE_YES;
self->die = gib_die;
- if (type == GIB_ORGANIC)
- {
+ if (type == GIB_ORGANIC) {
self->movetype = MOVETYPE_TOSS;
self->touch = gib_touch;
vscale = 0.5;
- }
- else
- {
+ } else {
self->movetype = MOVETYPE_BOUNCE;
vscale = 1.0;
}
- VelocityForDamage (damage, vd);
- VectorMA (self->velocity, vscale, vd, self->velocity);
- ClipGibVelocity (self);
+ VelocityForDamage(damage, vd);
+ VectorMA(self->velocity, vscale, vd, self->velocity);
+ ClipGibVelocity(self);
- self->avelocity[YAW] = crandom()*600;
+ self->avelocity[YAW] = crandom() * 600;
self->think = G_FreeEdict;
- self->nextthink = level.time + 10 + random()*10;
+ self->nextthink = level.time + 10 + random() * 10;
- gi.linkentity (self);
+ gi.linkentity(self);
}
-void ThrowClientHead (edict_t *self, int damage)
+void ThrowClientHead(edict_t *self, int damage)
{
vec3_t vd;
char *gibname;
- if (rand()&1)
- {
+ if (rand() & 1) {
gibname = "models/objects/gibs/head2/tris.md2";
self->s.skinnum = 1; // second skin is player
- }
- else
- {
+ } else {
gibname = "models/objects/gibs/skull/tris.md2";
self->s.skinnum = 0;
}
self->s.origin[2] += 32;
self->s.frame = 0;
- gi.setmodel (self, gibname);
- VectorSet (self->mins, -16, -16, 0);
- VectorSet (self->maxs, 16, 16, 16);
+ gi.setmodel(self, gibname);
+ VectorSet(self->mins, -16, -16, 0);
+ VectorSet(self->maxs, 16, 16, 16);
self->takedamage = DAMAGE_NO;
self->solid = SOLID_NOT;
@@ -255,21 +243,18 @@ void ThrowClientHead (edict_t *self, int damage)
self->flags |= FL_NO_KNOCKBACK;
self->movetype = MOVETYPE_BOUNCE;
- VelocityForDamage (damage, vd);
- VectorAdd (self->velocity, vd, self->velocity);
+ VelocityForDamage(damage, vd);
+ VectorAdd(self->velocity, vd, self->velocity);
- if (self->client) // bodies in the queue don't have a client anymore
- {
+ if (self->client) { // bodies in the queue don't have a client anymore
self->client->anim_priority = ANIM_DEATH;
self->client->anim_end = self->s.frame;
- }
- else
- {
+ } else {
self->think = NULL;
self->nextthink = 0;
}
- gi.linkentity (self);
+ gi.linkentity(self);
}
@@ -278,58 +263,58 @@ void ThrowClientHead (edict_t *self, int damage)
debris
=================
*/
-void debris_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
+void debris_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{
- G_FreeEdict (self);
+ G_FreeEdict(self);
}
-void ThrowDebris (edict_t *self, char *modelname, float speed, vec3_t origin)
+void ThrowDebris(edict_t *self, char *modelname, float speed, vec3_t origin)
{
edict_t *chunk;
vec3_t v;
chunk = G_Spawn();
- VectorCopy (origin, chunk->s.origin);
- gi.setmodel (chunk, modelname);
+ VectorCopy(origin, chunk->s.origin);
+ gi.setmodel(chunk, modelname);
v[0] = 100 * crandom();
v[1] = 100 * crandom();
v[2] = 100 + 100 * crandom();
- VectorMA (self->velocity, speed, v, chunk->velocity);
+ VectorMA(self->velocity, speed, v, chunk->velocity);
chunk->movetype = MOVETYPE_BOUNCE;
chunk->solid = SOLID_NOT;
- chunk->avelocity[0] = random()*600;
- chunk->avelocity[1] = random()*600;
- chunk->avelocity[2] = random()*600;
+ chunk->avelocity[0] = random() * 600;
+ chunk->avelocity[1] = random() * 600;
+ chunk->avelocity[2] = random() * 600;
chunk->think = G_FreeEdict;
- chunk->nextthink = level.time + 5 + random()*5;
+ chunk->nextthink = level.time + 5 + random() * 5;
chunk->s.frame = 0;
chunk->flags = 0;
chunk->classname = "debris";
chunk->takedamage = DAMAGE_YES;
chunk->die = debris_die;
- gi.linkentity (chunk);
+ gi.linkentity(chunk);
}
-void BecomeExplosion1 (edict_t *self)
+void BecomeExplosion1(edict_t *self)
{
- gi.WriteByte (svc_temp_entity);
- gi.WriteByte (TE_EXPLOSION1);
- gi.WritePosition (self->s.origin);
- gi.multicast (self->s.origin, MULTICAST_PVS);
+ gi.WriteByte(svc_temp_entity);
+ gi.WriteByte(TE_EXPLOSION1);
+ gi.WritePosition(self->s.origin);
+ gi.multicast(self->s.origin, MULTICAST_PVS);
- G_FreeEdict (self);
+ G_FreeEdict(self);
}
-void BecomeExplosion2 (edict_t *self)
+void BecomeExplosion2(edict_t *self)
{
- gi.WriteByte (svc_temp_entity);
- gi.WriteByte (TE_EXPLOSION2);
- gi.WritePosition (self->s.origin);
- gi.multicast (self->s.origin, MULTICAST_PVS);
+ gi.WriteByte(svc_temp_entity);
+ gi.WriteByte(TE_EXPLOSION2);
+ gi.WritePosition(self->s.origin);
+ gi.multicast(self->s.origin, MULTICAST_PVS);
- G_FreeEdict (self);
+ G_FreeEdict(self);
}
@@ -339,24 +324,23 @@ Pathtarget: gets used when an entity that has
this path_corner targeted touches it
*/
-void path_corner_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
+void path_corner_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{
vec3_t v;
edict_t *next;
if (other->movetarget != self)
return;
-
+
if (other->enemy)
return;
- if (self->pathtarget)
- {
+ if (self->pathtarget) {
char *savetarget;
savetarget = self->target;
self->target = self->pathtarget;
- G_UseTargets (self, other);
+ G_UseTargets(self, other);
self->target = savetarget;
}
@@ -365,52 +349,46 @@ void path_corner_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface
else
next = NULL;
- if ((next) && (next->spawnflags & 1))
- {
- VectorCopy (next->s.origin, v);
+ if ((next) && (next->spawnflags & 1)) {
+ VectorCopy(next->s.origin, v);
v[2] += next->mins[2];
v[2] -= other->mins[2];
- VectorCopy (v, other->s.origin);
+ VectorCopy(v, other->s.origin);
next = G_PickTarget(next->target);
other->s.event = EV_OTHER_TELEPORT;
}
other->goalentity = other->movetarget = next;
- if (self->wait)
- {
+ if (self->wait) {
other->monsterinfo.pausetime = level.time + self->wait;
- other->monsterinfo.stand (other);
+ other->monsterinfo.stand(other);
return;
}
- if (!other->movetarget)
- {
+ if (!other->movetarget) {
other->monsterinfo.pausetime = level.time + 100000000;
- other->monsterinfo.stand (other);
- }
- else
- {
- VectorSubtract (other->goalentity->s.origin, other->s.origin, v);
- other->ideal_yaw = vectoyaw (v);
+ other->monsterinfo.stand(other);
+ } else {
+ VectorSubtract(other->goalentity->s.origin, other->s.origin, v);
+ other->ideal_yaw = vectoyaw(v);
}
}
-void SP_path_corner (edict_t *self)
+void SP_path_corner(edict_t *self)
{
- if (!self->targetname)
- {
- gi.dprintf ("path_corner with no targetname at %s\n", vtos(self->s.origin));
- G_FreeEdict (self);
+ if (!self->targetname) {
+ gi.dprintf("path_corner with no targetname at %s\n", vtos(self->s.origin));
+ G_FreeEdict(self);
return;
}
self->solid = SOLID_TRIGGER;
self->touch = path_corner_touch;
- VectorSet (self->mins, -8, -8, -8);
- VectorSet (self->maxs, 8, 8, 8);
+ VectorSet(self->mins, -8, -8, -8);
+ VectorSet(self->maxs, 8, 8, 8);
self->svflags |= SVF_NOCLIENT;
- gi.linkentity (self);
+ gi.linkentity(self);
}
@@ -419,41 +397,35 @@ Makes this the target of a monster and it will head here
when first activated before going after the activator. If
hold is selected, it will stay here.
*/
-void point_combat_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
+void point_combat_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{
edict_t *activator;
if (other->movetarget != self)
return;
- if (self->target)
- {
+ if (self->target) {
other->target = self->target;
other->goalentity = other->movetarget = G_PickTarget(other->target);
- if (!other->goalentity)
- {
+ if (!other->goalentity) {
gi.dprintf("%s at %s target %s does not exist\n", self->classname, vtos(self->s.origin), self->target);
other->movetarget = self;
}
self->target = NULL;
- }
- else if ((self->spawnflags & 1) && !(other->flags & (FL_SWIM|FL_FLY)))
- {
+ } else if ((self->spawnflags & 1) && !(other->flags & (FL_SWIM | FL_FLY))) {
other->monsterinfo.pausetime = level.time + 100000000;
other->monsterinfo.aiflags |= AI_STAND_GROUND;
- other->monsterinfo.stand (other);
+ other->monsterinfo.stand(other);
}
- if (other->movetarget == self)
- {
+ if (other->movetarget == self) {
other->target = NULL;
other->movetarget = NULL;
other->goalentity = other->enemy;
other->monsterinfo.aiflags &= ~AI_COMBAT_POINT;
}
- if (self->pathtarget)
- {
+ if (self->pathtarget) {
char *savetarget;
savetarget = self->target;
@@ -466,24 +438,23 @@ void point_combat_touch (edict_t *self, edict_t *other, cplane_t *plane, csurfac
activator = other->activator;
else
activator = other;
- G_UseTargets (self, activator);
+ G_UseTargets(self, activator);
self->target = savetarget;
}
}
-void SP_point_combat (edict_t *self)
+void SP_point_combat(edict_t *self)
{
- if (deathmatch->value)
- {
- G_FreeEdict (self);
+ if (deathmatch->value) {
+ G_FreeEdict(self);
return;
}
self->solid = SOLID_TRIGGER;
self->touch = point_combat_touch;
- VectorSet (self->mins, -8, -8, -16);
- VectorSet (self->maxs, 8, 8, 16);
+ VectorSet(self->mins, -8, -8, -16);
+ VectorSet(self->maxs, 8, 8, 16);
self->svflags = SVF_NOCLIENT;
- gi.linkentity (self);
+ gi.linkentity(self);
};
@@ -498,15 +469,15 @@ void TH_viewthing(edict_t *ent)
void SP_viewthing(edict_t *ent)
{
- gi.dprintf ("viewthing spawned\n");
+ gi.dprintf("viewthing spawned\n");
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_BBOX;
ent->s.renderfx = RF_FRAMELERP;
- VectorSet (ent->mins, -16, -16, -24);
- VectorSet (ent->maxs, 16, 16, 32);
- ent->s.modelindex = gi.modelindex ("models/objects/banner/tris.md2");
- gi.linkentity (ent);
+ VectorSet(ent->mins, -16, -16, -24);
+ VectorSet(ent->maxs, 16, 16, 32);
+ ent->s.modelindex = gi.modelindex("models/objects/banner/tris.md2");
+ gi.linkentity(ent);
ent->nextthink = level.time + 0.5;
ent->think = TH_viewthing;
return;
@@ -516,19 +487,19 @@ void SP_viewthing(edict_t *ent)
/*QUAKED info_null (0 0.5 0) (-4 -4 -4) (4 4 4)
Used as a positional target for spotlights, etc.
*/
-void SP_info_null (edict_t *self)
+void SP_info_null(edict_t *self)
{
- G_FreeEdict (self);
+ G_FreeEdict(self);
};
/*QUAKED info_notnull (0 0.5 0) (-4 -4 -4) (4 4 4)
Used as a positional target for lightning.
*/
-void SP_info_notnull (edict_t *self)
+void SP_info_notnull(edict_t *self)
{
- VectorCopy (self->s.origin, self->absmin);
- VectorCopy (self->s.origin, self->absmax);
+ VectorCopy(self->s.origin, self->absmin);
+ VectorCopy(self->s.origin, self->absmax);
};
@@ -542,36 +513,31 @@ Default _cone value is 10 (used to set size of light for spotlights)
#define START_OFF 1
-void light_use (edict_t *self, edict_t *other, edict_t *activator)
+void light_use(edict_t *self, edict_t *other, edict_t *activator)
{
- if (self->spawnflags & START_OFF)
- {
- gi.configstring (CS_LIGHTS+self->style, "m");
+ if (self->spawnflags & START_OFF) {
+ gi.configstring(CS_LIGHTS + self->style, "m");
self->spawnflags &= ~START_OFF;
- }
- else
- {
- gi.configstring (CS_LIGHTS+self->style, "a");
+ } else {
+ gi.configstring(CS_LIGHTS + self->style, "a");
self->spawnflags |= START_OFF;
}
}
-void SP_light (edict_t *self)
+void SP_light(edict_t *self)
{
// no targeted lights in deathmatch, because they cause global messages
- if (!self->targetname || deathmatch->value)
- {
- G_FreeEdict (self);
+ if (!self->targetname || deathmatch->value) {
+ G_FreeEdict(self);
return;
}
- if (self->style >= 32)
- {
+ if (self->style >= 32) {
self->use = light_use;
if (self->spawnflags & START_OFF)
- gi.configstring (CS_LIGHTS+self->style, "a");
+ gi.configstring(CS_LIGHTS + self->style, "a");
else
- gi.configstring (CS_LIGHTS+self->style, "m");
+ gi.configstring(CS_LIGHTS + self->style, "m");
}
}
@@ -590,29 +556,26 @@ START_ON only valid for TRIGGER_SPAWN walls
the wall will initially be present
*/
-void func_wall_use (edict_t *self, edict_t *other, edict_t *activator)
+void func_wall_use(edict_t *self, edict_t *other, edict_t *activator)
{
- if (self->solid == SOLID_NOT)
- {
+ if (self->solid == SOLID_NOT) {
self->solid = SOLID_BSP;
self->svflags &= ~SVF_NOCLIENT;
- KillBox (self);
- }
- else
- {
+ KillBox(self);
+ } else {
self->solid = SOLID_NOT;
self->svflags |= SVF_NOCLIENT;
}
- gi.linkentity (self);
+ gi.linkentity(self);
if (!(self->spawnflags & 2))
self->use = NULL;
}
-void SP_func_wall (edict_t *self)
+void SP_func_wall(edict_t *self)
{
self->movetype = MOVETYPE_PUSH;
- gi.setmodel (self, self->model);
+ gi.setmodel(self, self->model);
if (self->spawnflags & 8)
self->s.effects |= EF_ANIM_ALL;
@@ -620,41 +583,34 @@ void SP_func_wall (edict_t *self)
self->s.effects |= EF_ANIM_ALLFAST;
// just a wall
- if ((self->spawnflags & 7) == 0)
- {
+ if ((self->spawnflags & 7) == 0) {
self->solid = SOLID_BSP;
- gi.linkentity (self);
+ gi.linkentity(self);
return;
}
// it must be TRIGGER_SPAWN
- if (!(self->spawnflags & 1))
- {
+ if (!(self->spawnflags & 1)) {
// gi.dprintf("func_wall missing TRIGGER_SPAWN\n");
self->spawnflags |= 1;
}
// yell if the spawnflags are odd
- if (self->spawnflags & 4)
- {
- if (!(self->spawnflags & 2))
- {
+ if (self->spawnflags & 4) {
+ if (!(self->spawnflags & 2)) {
gi.dprintf("func_wall START_ON without TOGGLE\n");
self->spawnflags |= 2;
}
}
self->use = func_wall_use;
- if (self->spawnflags & 4)
- {
+ if (self->spawnflags & 4) {
self->solid = SOLID_BSP;
- }
- else
- {
+ } else {
self->solid = SOLID_NOT;
self->svflags |= SVF_NOCLIENT;
}
- gi.linkentity (self);
+ gi.linkentity(self);
}
@@ -662,7 +618,7 @@ void SP_func_wall (edict_t *self)
This is solid bmodel that will fall if it's support it removed.
*/
-void func_object_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
+void func_object_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{
// only squash thing we fall on top of
if (!plane)
@@ -671,27 +627,27 @@ void func_object_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface
return;
if (other->takedamage == DAMAGE_NO)
return;
- T_Damage (other, self, self, vec3_origin, self->s.origin, vec3_origin, self->dmg, 1, 0, MOD_CRUSH);
+ T_Damage(other, self, self, vec3_origin, self->s.origin, vec3_origin, self->dmg, 1, 0, MOD_CRUSH);
}
-void func_object_release (edict_t *self)
+void func_object_release(edict_t *self)
{
self->movetype = MOVETYPE_TOSS;
self->touch = func_object_touch;
}
-void func_object_use (edict_t *self, edict_t *other, edict_t *activator)
+void func_object_use(edict_t *self, edict_t *other, edict_t *activator)
{
self->solid = SOLID_BSP;
self->svflags &= ~SVF_NOCLIENT;
self->use = NULL;
- KillBox (self);
- func_object_release (self);
+ KillBox(self);
+ func_object_release(self);
}
-void SP_func_object (edict_t *self)
+void SP_func_object(edict_t *self)
{
- gi.setmodel (self, self->model);
+ gi.setmodel(self, self->model);
self->mins[0] += 1;
self->mins[1] += 1;
@@ -703,15 +659,12 @@ void SP_func_object (edict_t *self)
if (!self->dmg)
self->dmg = 100;
- if (self->spawnflags == 0)
- {
+ if (self->spawnflags == 0) {
self->solid = SOLID_BSP;
self->movetype = MOVETYPE_PUSH;
self->think = func_object_release;
self->nextthink = level.time + 2 * FRAMETIME;
- }
- else
- {
+ } else {
self->solid = SOLID_NOT;
self->movetype = MOVETYPE_PUSH;
self->use = func_object_use;
@@ -725,7 +678,7 @@ void SP_func_object (edict_t *self)
self->clipmask = MASK_MONSTERSOLID;
- gi.linkentity (self);
+ gi.linkentity(self);
}
@@ -742,7 +695,7 @@ mass defaults to 75. This determines how much debris is emitted when
it explodes. You get one large chunk per 100 of mass (up to 8) and
one small chunk per 25 of mass (up to 16). So 800 gives the most.
*/
-void func_explosive_explode (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
+void func_explosive_explode(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{
vec3_t origin;
vec3_t chunkorigin;
@@ -751,38 +704,36 @@ void func_explosive_explode (edict_t *self, edict_t *inflictor, edict_t *attacke
int mass;
// bmodel origins are (0 0 0), we need to adjust that here
- VectorScale (self->size, 0.5, size);
- VectorAdd (self->absmin, size, origin);
- VectorCopy (origin, self->s.origin);
+ VectorScale(self->size, 0.5, size);
+ VectorAdd(self->absmin, size, origin);
+ VectorCopy(origin, self->s.origin);
self->takedamage = DAMAGE_NO;
if (self->dmg)
- T_RadiusDamage (self, attacker, self->dmg, NULL, self->dmg+40, MOD_EXPLOSIVE);
+ T_RadiusDamage(self, attacker, self->dmg, NULL, self->dmg + 40, MOD_EXPLOSIVE);
- VectorSubtract (self->s.origin, inflictor->s.origin, self->velocity);
- VectorNormalize (self->velocity);
- VectorScale (self->velocity, 150, self->velocity);
+ VectorSubtract(self->s.origin, inflictor->s.origin, self->velocity);
+ VectorNormalize(self->velocity);
+ VectorScale(self->velocity, 150, self->velocity);
// start chunks towards the center
- VectorScale (size, 0.5, size);
+ VectorScale(size, 0.5, size);
mass = self->mass;
if (!mass)
mass = 75;
// big chunks
- if (mass >= 100)
- {
+ if (mass >= 100) {
count = mass / 100;
if (count > 8)
count = 8;
- while(count--)
- {
+ while (count--) {
chunkorigin[0] = origin[0] + crandom() * size[0];
chunkorigin[1] = origin[1] + crandom() * size[1];
chunkorigin[2] = origin[2] + crandom() * size[2];
- ThrowDebris (self, "models/objects/debris1/tris.md2", 1, chunkorigin);
+ ThrowDebris(self, "models/objects/debris1/tris.md2", 1, chunkorigin);
}
}
@@ -790,59 +741,55 @@ void func_explosive_explode (edict_t *self, edict_t *inflictor, edict_t *attacke
count = mass / 25;
if (count > 16)
count = 16;
- while(count--)
- {
+ while (count--) {
chunkorigin[0] = origin[0] + crandom() * size[0];
chunkorigin[1] = origin[1] + crandom() * size[1];
chunkorigin[2] = origin[2] + crandom() * size[2];
- ThrowDebris (self, "models/objects/debris2/tris.md2", 2, chunkorigin);
+ ThrowDebris(self, "models/objects/debris2/tris.md2", 2, chunkorigin);
}
- G_UseTargets (self, attacker);
+ G_UseTargets(self, attacker);
if (self->dmg)
- BecomeExplosion1 (self);
+ BecomeExplosion1(self);
else
- G_FreeEdict (self);
+ G_FreeEdict(self);
}
void func_explosive_use(edict_t *self, edict_t *other, edict_t *activator)
{
- func_explosive_explode (self, self, other, self->health, vec3_origin);
+ func_explosive_explode(self, self, other, self->health, vec3_origin);
}
-void func_explosive_spawn (edict_t *self, edict_t *other, edict_t *activator)
+void func_explosive_spawn(edict_t *self, edict_t *other, edict_t *activator)
{
self->solid = SOLID_BSP;
self->svflags &= ~SVF_NOCLIENT;
self->use = NULL;
- KillBox (self);
- gi.linkentity (self);
+ KillBox(self);
+ gi.linkentity(self);
}
-void SP_func_explosive (edict_t *self)
+void SP_func_explosive(edict_t *self)
{
- if (deathmatch->value)
- { // auto-remove for deathmatch
- G_FreeEdict (self);
+ if (deathmatch->value) {
+ // auto-remove for deathmatch
+ G_FreeEdict(self);
return;
}
self->movetype = MOVETYPE_PUSH;
- gi.modelindex ("models/objects/debris1/tris.md2");
- gi.modelindex ("models/objects/debris2/tris.md2");
+ gi.modelindex("models/objects/debris1/tris.md2");
+ gi.modelindex("models/objects/debris2/tris.md2");
- gi.setmodel (self, self->model);
+ gi.setmodel(self, self->model);
- if (self->spawnflags & 1)
- {
+ if (self->spawnflags & 1) {
self->svflags |= SVF_NOCLIENT;
self->solid = SOLID_NOT;
self->use = func_explosive_spawn;
- }
- else
- {
+ } else {
self->solid = SOLID_BSP;
if (self->targetname)
self->use = func_explosive_use;
@@ -853,15 +800,14 @@ void SP_func_explosive (edict_t *self)
if (self->spawnflags & 4)
self->s.effects |= EF_ANIM_ALLFAST;
- if (self->use != func_explosive_use)
- {
+ if (self->use != func_explosive_use) {
if (!self->health)
self->health = 100;
self->die = func_explosive_explode;
self->takedamage = DAMAGE_YES;
}
- gi.linkentity (self);
+ gi.linkentity(self);
}
@@ -870,7 +816,7 @@ Large exploding box. You can override its mass (100),
health (80), and dmg (150).
*/
-void barrel_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
+void barrel_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{
float ratio;
@@ -880,90 +826,90 @@ void barrel_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *s
return;
ratio = (float)other->mass / (float)self->mass;
- VectorSubtract (self->s.origin, other->s.origin, v);
- M_walkmove (self, vectoyaw(v), 20 * ratio * FRAMETIME);
+ VectorSubtract(self->s.origin, other->s.origin, v);
+ M_walkmove(self, vectoyaw(v), 20 * ratio * FRAMETIME);
}
-void barrel_explode (edict_t *self)
+void barrel_explode(edict_t *self)
{
vec3_t org;
float spd;
vec3_t save;
- T_RadiusDamage (self, self->activator, self->dmg, NULL, self->dmg+40, MOD_BARREL);
+ T_RadiusDamage(self, self->activator, self->dmg, NULL, self->dmg + 40, MOD_BARREL);
- VectorCopy (self->s.origin, save);
- VectorMA (self->absmin, 0.5, self->size, self->s.origin);
+ VectorCopy(self->s.origin, save);
+ VectorMA(self->absmin, 0.5, self->size, self->s.origin);
// a few big chunks
spd = 1.5 * (float)self->dmg / 200.0;
org[0] = self->s.origin[0] + crandom() * self->size[0];
org[1] = self->s.origin[1] + crandom() * self->size[1];
org[2] = self->s.origin[2] + crandom() * self->size[2];
- ThrowDebris (self, "models/objects/debris1/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris1/tris.md2", spd, org);
org[0] = self->s.origin[0] + crandom() * self->size[0];
org[1] = self->s.origin[1] + crandom() * self->size[1];
org[2] = self->s.origin[2] + crandom() * self->size[2];
- ThrowDebris (self, "models/objects/debris1/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris1/tris.md2", spd, org);
// bottom corners
spd = 1.75 * (float)self->dmg / 200.0;
- VectorCopy (self->absmin, org);
- ThrowDebris (self, "models/objects/debris3/tris.md2", spd, org);
- VectorCopy (self->absmin, org);
+ VectorCopy(self->absmin, org);
+ ThrowDebris(self, "models/objects/debris3/tris.md2", spd, org);
+ VectorCopy(self->absmin, org);
org[0] += self->size[0];
- ThrowDebris (self, "models/objects/debris3/tris.md2", spd, org);
- VectorCopy (self->absmin, org);
+ ThrowDebris(self, "models/objects/debris3/tris.md2", spd, org);
+ VectorCopy(self->absmin, org);
org[1] += self->size[1];
- ThrowDebris (self, "models/objects/debris3/tris.md2", spd, org);
- VectorCopy (self->absmin, org);
+ ThrowDebris(self, "models/objects/debris3/tris.md2", spd, org);
+ VectorCopy(self->absmin, org);
org[0] += self->size[0];
org[1] += self->size[1];
- ThrowDebris (self, "models/objects/debris3/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris3/tris.md2", spd, org);
// a bunch of little chunks
spd = 2 * self->dmg / 200;
org[0] = self->s.origin[0] + crandom() * self->size[0];
org[1] = self->s.origin[1] + crandom() * self->size[1];
org[2] = self->s.origin[2] + crandom() * self->size[2];
- ThrowDebris (self, "models/objects/debris2/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris2/tris.md2", spd, org);
org[0] = self->s.origin[0] + crandom() * self->size[0];
org[1] = self->s.origin[1] + crandom() * self->size[1];
org[2] = self->s.origin[2] + crandom() * self->size[2];
- ThrowDebris (self, "models/objects/debris2/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris2/tris.md2", spd, org);
org[0] = self->s.origin[0] + crandom() * self->size[0];
org[1] = self->s.origin[1] + crandom() * self->size[1];
org[2] = self->s.origin[2] + crandom() * self->size[2];
- ThrowDebris (self, "models/objects/debris2/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris2/tris.md2", spd, org);
org[0] = self->s.origin[0] + crandom() * self->size[0];
org[1] = self->s.origin[1] + crandom() * self->size[1];
org[2] = self->s.origin[2] + crandom() * self->size[2];
- ThrowDebris (self, "models/objects/debris2/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris2/tris.md2", spd, org);
org[0] = self->s.origin[0] + crandom() * self->size[0];
org[1] = self->s.origin[1] + crandom() * self->size[1];
org[2] = self->s.origin[2] + crandom() * self->size[2];
- ThrowDebris (self, "models/objects/debris2/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris2/tris.md2", spd, org);
org[0] = self->s.origin[0] + crandom() * self->size[0];
org[1] = self->s.origin[1] + crandom() * self->size[1];
org[2] = self->s.origin[2] + crandom() * self->size[2];
- ThrowDebris (self, "models/objects/debris2/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris2/tris.md2", spd, org);
org[0] = self->s.origin[0] + crandom() * self->size[0];
org[1] = self->s.origin[1] + crandom() * self->size[1];
org[2] = self->s.origin[2] + crandom() * self->size[2];
- ThrowDebris (self, "models/objects/debris2/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris2/tris.md2", spd, org);
org[0] = self->s.origin[0] + crandom() * self->size[0];
org[1] = self->s.origin[1] + crandom() * self->size[1];
org[2] = self->s.origin[2] + crandom() * self->size[2];
- ThrowDebris (self, "models/objects/debris2/tris.md2", spd, org);
+ ThrowDebris(self, "models/objects/debris2/tris.md2", spd, org);
- VectorCopy (save, self->s.origin);
+ VectorCopy(save, self->s.origin);
if (self->groundentity)
- BecomeExplosion2 (self);
+ BecomeExplosion2(self);
else
- BecomeExplosion1 (self);
+ BecomeExplosion1(self);
}
-void barrel_delay (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
+void barrel_delay(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{
self->takedamage = DAMAGE_NO;
self->nextthink = level.time + 2 * FRAMETIME;
@@ -971,25 +917,25 @@ void barrel_delay (edict_t *self, edict_t *inflictor, edict_t *attacker, int dam
self->activator = attacker;
}
-void SP_misc_explobox (edict_t *self)
+void SP_misc_explobox(edict_t *self)
{
- if (deathmatch->value)
- { // auto-remove for deathmatch
- G_FreeEdict (self);
+ if (deathmatch->value) {
+ // auto-remove for deathmatch
+ G_FreeEdict(self);
return;
}
- gi.modelindex ("models/objects/debris1/tris.md2");
- gi.modelindex ("models/objects/debris2/tris.md2");
- gi.modelindex ("models/objects/debris3/tris.md2");
+ gi.modelindex("models/objects/debris1/tris.md2");
+ gi.modelindex("models/objects/debris2/tris.md2");
+ gi.modelindex("models/objects/debris3/tris.md2");
self->solid = SOLID_BBOX;
self->movetype = MOVETYPE_STEP;
self->model = "models/objects/barrels/tris.md2";
- self->s.modelindex = gi.modelindex (self->model);
- VectorSet (self->mins, -16, -16, 0);
- VectorSet (self->maxs, 16, 16, 40);
+ self->s.modelindex = gi.modelindex(self->model);
+ VectorSet(self->mins, -16, -16, 0);
+ VectorSet(self->maxs, 16, 16, 40);
if (!self->mass)
self->mass = 400;
@@ -1007,7 +953,7 @@ void SP_misc_explobox (edict_t *self)
self->think = M_droptofloor;
self->nextthink = level.time + 2 * FRAMETIME;
- gi.linkentity (self);
+ gi.linkentity(self);
}
@@ -1018,7 +964,7 @@ void SP_misc_explobox (edict_t *self)
/*QUAKED misc_blackhole (1 .5 0) (-8 -8 -8) (8 8 8)
*/
-void misc_blackhole_use (edict_t *ent, edict_t *other, edict_t *activator)
+void misc_blackhole_use(edict_t *ent, edict_t *other, edict_t *activator)
{
/*
gi.WriteByte (svc_temp_entity);
@@ -1026,115 +972,111 @@ void misc_blackhole_use (edict_t *ent, edict_t *other, edict_t *activator)
gi.WritePosition (ent->s.origin);
gi.multicast (ent->s.origin, MULTICAST_PVS);
*/
- G_FreeEdict (ent);
+ G_FreeEdict(ent);
}
-void misc_blackhole_think (edict_t *self)
+void misc_blackhole_think(edict_t *self)
{
if (++self->s.frame < 19)
self->nextthink = level.time + FRAMETIME;
- else
- {
+ else {
self->s.frame = 0;
self->nextthink = level.time + FRAMETIME;
}
}
-void SP_misc_blackhole (edict_t *ent)
+void SP_misc_blackhole(edict_t *ent)
{
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_NOT;
- VectorSet (ent->mins, -64, -64, 0);
- VectorSet (ent->maxs, 64, 64, 8);
- ent->s.modelindex = gi.modelindex ("models/objects/black/tris.md2");
+ VectorSet(ent->mins, -64, -64, 0);
+ VectorSet(ent->maxs, 64, 64, 8);
+ ent->s.modelindex = gi.modelindex("models/objects/black/tris.md2");
ent->s.renderfx = RF_TRANSLUCENT;
ent->use = misc_blackhole_use;
ent->think = misc_blackhole_think;
ent->nextthink = level.time + 2 * FRAMETIME;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
/*QUAKED misc_eastertank (1 .5 0) (-32 -32 -16) (32 32 32)
*/
-void misc_eastertank_think (edict_t *self)
+void misc_eastertank_think(edict_t *self)
{
if (++self->s.frame < 293)
self->nextthink = level.time + FRAMETIME;
- else
- {
+ else {
self->s.frame = 254;
self->nextthink = level.time + FRAMETIME;
}
}
-void SP_misc_eastertank (edict_t *ent)
+void SP_misc_eastertank(edict_t *ent)
{
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_BBOX;
- VectorSet (ent->mins, -32, -32, -16);
- VectorSet (ent->maxs, 32, 32, 32);
- ent->s.modelindex = gi.modelindex ("models/monsters/tank/tris.md2");
+ VectorSet(ent->mins, -32, -32, -16);
+ VectorSet(ent->maxs, 32, 32, 32);
+ ent->s.modelindex = gi.modelindex("models/monsters/tank/tris.md2");
ent->s.frame = 254;
ent->think = misc_eastertank_think;
ent->nextthink = level.time + 2 * FRAMETIME;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
/*QUAKED misc_easterchick (1 .5 0) (-32 -32 0) (32 32 32)
*/
-void misc_easterchick_think (edict_t *self)
+void misc_easterchick_think(edict_t *self)
{
if (++self->s.frame < 247)
self->nextthink = level.time + FRAMETIME;
- else
- {
+ else {
self->s.frame = 208;
self->nextthink = level.time + FRAMETIME;
}
}
-void SP_misc_easterchick (edict_t *ent)
+void SP_misc_easterchick(edict_t *ent)
{
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_BBOX;
- VectorSet (ent->mins, -32, -32, 0);
- VectorSet (ent->maxs, 32, 32, 32);
- ent->s.modelindex = gi.modelindex ("models/monsters/bitch/tris.md2");
+ VectorSet(ent->mins, -32, -32, 0);
+ VectorSet(ent->maxs, 32, 32, 32);
+ ent->s.modelindex = gi.modelindex("models/monsters/bitch/tris.md2");
ent->s.frame = 208;
ent->think = misc_easterchick_think;
ent->nextthink = level.time + 2 * FRAMETIME;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
/*QUAKED misc_easterchick2 (1 .5 0) (-32 -32 0) (32 32 32)
*/
-void misc_easterchick2_think (edict_t *self)
+void misc_easterchick2_think(edict_t *self)
{
if (++self->s.frame < 287)
self->nextthink = level.time + FRAMETIME;
- else
- {
+ else {
self->s.frame = 248;
self->nextthink = level.time + FRAMETIME;
}
}
-void SP_misc_easterchick2 (edict_t *ent)
+void SP_misc_easterchick2(edict_t *ent)
{
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_BBOX;
- VectorSet (ent->mins, -32, -32, 0);
- VectorSet (ent->maxs, 32, 32, 32);
- ent->s.modelindex = gi.modelindex ("models/monsters/bitch/tris.md2");
+ VectorSet(ent->mins, -32, -32, 0);
+ VectorSet(ent->maxs, 32, 32, 32);
+ ent->s.modelindex = gi.modelindex("models/monsters/bitch/tris.md2");
ent->s.frame = 248;
ent->think = misc_easterchick2_think;
ent->nextthink = level.time + 2 * FRAMETIME;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
@@ -1143,7 +1085,7 @@ Not really a monster, this is the Tank Commander's decapitated body.
There should be a item_commander_head that has this as it's target.
*/
-void commander_body_think (edict_t *self)
+void commander_body_think(edict_t *self)
{
if (++self->s.frame < 24)
self->nextthink = level.time + FRAMETIME;
@@ -1151,38 +1093,38 @@ void commander_body_think (edict_t *self)
self->nextthink = 0;
if (self->s.frame == 22)
- gi.sound (self, CHAN_BODY, gi.soundindex ("tank/thud.wav"), 1, ATTN_NORM, 0);
+ gi.sound(self, CHAN_BODY, gi.soundindex("tank/thud.wav"), 1, ATTN_NORM, 0);
}
-void commander_body_use (edict_t *self, edict_t *other, edict_t *activator)
+void commander_body_use(edict_t *self, edict_t *other, edict_t *activator)
{
self->think = commander_body_think;
self->nextthink = level.time + FRAMETIME;
- gi.sound (self, CHAN_BODY, gi.soundindex ("tank/pain.wav"), 1, ATTN_NORM, 0);
+ gi.sound(self, CHAN_BODY, gi.soundindex("tank/pain.wav"), 1, ATTN_NORM, 0);
}
-void commander_body_drop (edict_t *self)
+void commander_body_drop(edict_t *self)
{
self->movetype = MOVETYPE_TOSS;
self->s.origin[2] += 2;
}
-void SP_monster_commander_body (edict_t *self)
+void SP_monster_commander_body(edict_t *self)
{
self->movetype = MOVETYPE_NONE;
self->solid = SOLID_BBOX;
self->model = "models/monsters/commandr/tris.md2";
- self->s.modelindex = gi.modelindex (self->model);
- VectorSet (self->mins, -32, -32, 0);
- VectorSet (self->maxs, 32, 32, 48);
+ self->s.modelindex = gi.modelindex(self->model);
+ VectorSet(self->mins, -32, -32, 0);
+ VectorSet(self->maxs, 32, 32, 48);
self->use = commander_body_use;
self->takedamage = DAMAGE_YES;
self->flags = FL_GODMODE;
self->s.renderfx |= RF_FRAMELERP;
- gi.linkentity (self);
+ gi.linkentity(self);
- gi.soundindex ("tank/thud.wav");
- gi.soundindex ("tank/pain.wav");
+ gi.soundindex("tank/thud.wav");
+ gi.soundindex("tank/pain.wav");
self->think = commander_body_drop;
self->nextthink = level.time + 5 * FRAMETIME;
@@ -1193,19 +1135,19 @@ void SP_monster_commander_body (edict_t *self)
The origin is the bottom of the banner.
The banner is 128 tall.
*/
-void misc_banner_think (edict_t *ent)
+void misc_banner_think(edict_t *ent)
{
ent->s.frame = (ent->s.frame + 1) % 16;
ent->nextthink = level.time + FRAMETIME;
}
-void SP_misc_banner (edict_t *ent)
+void SP_misc_banner(edict_t *ent)
{
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_NOT;
- ent->s.modelindex = gi.modelindex ("models/objects/banner/tris.md2");
+ ent->s.modelindex = gi.modelindex("models/objects/banner/tris.md2");
ent->s.frame = rand() % 16;
- gi.linkentity (ent);
+ gi.linkentity(ent);
ent->think = misc_banner_think;
ent->nextthink = level.time + FRAMETIME;
@@ -1214,30 +1156,30 @@ void SP_misc_banner (edict_t *ent)
/*QUAKED misc_deadsoldier (1 .5 0) (-16 -16 0) (16 16 16) ON_BACK ON_STOMACH BACK_DECAP FETAL_POS SIT_DECAP IMPALED
This is the dead player model. Comes in 6 exciting different poses!
*/
-void misc_deadsoldier_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
+void misc_deadsoldier_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
{
int n;
if (self->health > -80)
return;
- gi.sound (self, CHAN_BODY, gi.soundindex ("misc/udeath.wav"), 1, ATTN_NORM, 0);
- for (n= 0; n < 4; n++)
- ThrowGib (self, "models/objects/gibs/sm_meat/tris.md2", damage, GIB_ORGANIC);
- ThrowHead (self, "models/objects/gibs/head2/tris.md2", damage, GIB_ORGANIC);
+ gi.sound(self, CHAN_BODY, gi.soundindex("misc/udeath.wav"), 1, ATTN_NORM, 0);
+ for (n = 0; n < 4; n++)
+ ThrowGib(self, "models/objects/gibs/sm_meat/tris.md2", damage, GIB_ORGANIC);
+ ThrowHead(self, "models/objects/gibs/head2/tris.md2", damage, GIB_ORGANIC);
}
-void SP_misc_deadsoldier (edict_t *ent)
+void SP_misc_deadsoldier(edict_t *ent)
{
- if (deathmatch->value)
- { // auto-remove for deathmatch
- G_FreeEdict (ent);
+ if (deathmatch->value) {
+ // auto-remove for deathmatch
+ G_FreeEdict(ent);
return;
}
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_BBOX;
- ent->s.modelindex=gi.modelindex ("models/deadbods/dude/tris.md2");
+ ent->s.modelindex = gi.modelindex("models/deadbods/dude/tris.md2");
// Defaults to frame 0
if (ent->spawnflags & 2)
@@ -1253,15 +1195,15 @@ void SP_misc_deadsoldier (edict_t *ent)
else
ent->s.frame = 0;
- VectorSet (ent->mins, -16, -16, 0);
- VectorSet (ent->maxs, 16, 16, 16);
+ VectorSet(ent->mins, -16, -16, 0);
+ VectorSet(ent->maxs, 16, 16, 16);
ent->deadflag = DEAD_DEAD;
ent->takedamage = DAMAGE_YES;
- ent->svflags |= SVF_MONSTER|SVF_DEADMONSTER;
+ ent->svflags |= SVF_MONSTER | SVF_DEADMONSTER;
ent->die = misc_deadsoldier_die;
ent->monsterinfo.aiflags |= AI_GOOD_GUY;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
/*QUAKED misc_viper (1 .5 0) (-16 -16 0) (16 16 32)
@@ -1272,22 +1214,21 @@ There must be a path for it to follow once it is activated.
"speed" How fast the Viper should fly
*/
-extern void train_use (edict_t *self, edict_t *other, edict_t *activator);
-extern void func_train_find (edict_t *self);
+extern void train_use(edict_t *self, edict_t *other, edict_t *activator);
+extern void func_train_find(edict_t *self);
-void misc_viper_use (edict_t *self, edict_t *other, edict_t *activator)
+void misc_viper_use(edict_t *self, edict_t *other, edict_t *activator)
{
self->svflags &= ~SVF_NOCLIENT;
self->use = train_use;
- train_use (self, other, activator);
+ train_use(self, other, activator);
}
-void SP_misc_viper (edict_t *ent)
+void SP_misc_viper(edict_t *ent)
{
- if (!ent->target)
- {
- gi.dprintf ("misc_viper without a target at %s\n", vtos(ent->absmin));
- G_FreeEdict (ent);
+ if (!ent->target) {
+ gi.dprintf("misc_viper without a target at %s\n", vtos(ent->absmin));
+ G_FreeEdict(ent);
return;
}
@@ -1296,9 +1237,9 @@ void SP_misc_viper (edict_t *ent)
ent->movetype = MOVETYPE_PUSH;
ent->solid = SOLID_NOT;
- ent->s.modelindex = gi.modelindex ("models/ships/viper/tris.md2");
- VectorSet (ent->mins, -16, -16, 0);
- VectorSet (ent->maxs, 16, 16, 32);
+ ent->s.modelindex = gi.modelindex("models/ships/viper/tris.md2");
+ VectorSet(ent->mins, -16, -16, 0);
+ VectorSet(ent->maxs, 16, 16, 32);
ent->think = func_train_find;
ent->nextthink = level.time + FRAMETIME;
@@ -1306,37 +1247,37 @@ void SP_misc_viper (edict_t *ent)
ent->svflags |= SVF_NOCLIENT;
ent->moveinfo.accel = ent->moveinfo.decel = ent->moveinfo.speed = ent->speed;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
-/*QUAKED misc_bigviper (1 .5 0) (-176 -120 -24) (176 120 72)
+/*QUAKED misc_bigviper (1 .5 0) (-176 -120 -24) (176 120 72)
This is a large stationary viper as seen in Paul's intro
*/
-void SP_misc_bigviper (edict_t *ent)
+void SP_misc_bigviper(edict_t *ent)
{
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_BBOX;
- VectorSet (ent->mins, -176, -120, -24);
- VectorSet (ent->maxs, 176, 120, 72);
- ent->s.modelindex = gi.modelindex ("models/ships/bigviper/tris.md2");
- gi.linkentity (ent);
+ VectorSet(ent->mins, -176, -120, -24);
+ VectorSet(ent->maxs, 176, 120, 72);
+ ent->s.modelindex = gi.modelindex("models/ships/bigviper/tris.md2");
+ gi.linkentity(ent);
}
/*QUAKED misc_viper_bomb (1 0 0) (-8 -8 -8) (8 8 8)
"dmg" how much boom should the bomb make?
*/
-void misc_viper_bomb_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
+void misc_viper_bomb_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{
- G_UseTargets (self, self->activator);
+ G_UseTargets(self, self->activator);
self->s.origin[2] = self->absmin[2] + 1;
- T_RadiusDamage (self, self, self->dmg, NULL, self->dmg+40, MOD_BOMB);
- BecomeExplosion2 (self);
+ T_RadiusDamage(self, self, self->dmg, NULL, self->dmg + 40, MOD_BOMB);
+ BecomeExplosion2(self);
}
-void misc_viper_bomb_prethink (edict_t *self)
+void misc_viper_bomb_prethink(edict_t *self)
{
vec3_t v;
float diff;
@@ -1347,15 +1288,15 @@ void misc_viper_bomb_prethink (edict_t *self)
if (diff < -1.0)
diff = -1.0;
- VectorScale (self->moveinfo.dir, 1.0 + diff, v);
+ VectorScale(self->moveinfo.dir, 1.0 + diff, v);
v[2] = diff;
diff = self->s.angles[2];
- vectoangles (v, self->s.angles);
+ vectoangles(v, self->s.angles);
self->s.angles[2] = diff + 10;
}
-void misc_viper_bomb_use (edict_t *self, edict_t *other, edict_t *activator)
+void misc_viper_bomb_use(edict_t *self, edict_t *other, edict_t *activator)
{
edict_t *viper;
@@ -1368,21 +1309,21 @@ void misc_viper_bomb_use (edict_t *self, edict_t *other, edict_t *activator)
self->touch = misc_viper_bomb_touch;
self->activator = activator;
- viper = G_Find (NULL, FOFS(classname), "misc_viper");
- VectorScale (viper->moveinfo.dir, viper->moveinfo.speed, self->velocity);
+ viper = G_Find(NULL, FOFS(classname), "misc_viper");
+ VectorScale(viper->moveinfo.dir, viper->moveinfo.speed, self->velocity);
self->timestamp = level.time;
- VectorCopy (viper->moveinfo.dir, self->moveinfo.dir);
+ VectorCopy(viper->moveinfo.dir, self->moveinfo.dir);
}
-void SP_misc_viper_bomb (edict_t *self)
+void SP_misc_viper_bomb(edict_t *self)
{
self->movetype = MOVETYPE_NONE;
self->solid = SOLID_NOT;
- VectorSet (self->mins, -8, -8, -8);
- VectorSet (self->maxs, 8, 8, 8);
+ VectorSet(self->mins, -8, -8, -8);
+ VectorSet(self->maxs, 8, 8, 8);
- self->s.modelindex = gi.modelindex ("models/objects/bomb/tris.md2");
+ self->s.modelindex = gi.modelindex("models/objects/bomb/tris.md2");
if (!self->dmg)
self->dmg = 1000;
@@ -1390,7 +1331,7 @@ void SP_misc_viper_bomb (edict_t *self)
self->use = misc_viper_bomb_use;
self->svflags |= SVF_NOCLIENT;
- gi.linkentity (self);
+ gi.linkentity(self);
}
@@ -1402,22 +1343,21 @@ There must be a path for it to follow once it is activated.
"speed" How fast it should fly
*/
-extern void train_use (edict_t *self, edict_t *other, edict_t *activator);
-extern void func_train_find (edict_t *self);
+extern void train_use(edict_t *self, edict_t *other, edict_t *activator);
+extern void func_train_find(edict_t *self);
-void misc_strogg_ship_use (edict_t *self, edict_t *other, edict_t *activator)
+void misc_strogg_ship_use(edict_t *self, edict_t *other, edict_t *activator)
{
self->svflags &= ~SVF_NOCLIENT;
self->use = train_use;
- train_use (self, other, activator);
+ train_use(self, other, activator);
}
-void SP_misc_strogg_ship (edict_t *ent)
+void SP_misc_strogg_ship(edict_t *ent)
{
- if (!ent->target)
- {
- gi.dprintf ("%s without a target at %s\n", ent->classname, vtos(ent->absmin));
- G_FreeEdict (ent);
+ if (!ent->target) {
+ gi.dprintf("%s without a target at %s\n", ent->classname, vtos(ent->absmin));
+ G_FreeEdict(ent);
return;
}
@@ -1426,9 +1366,9 @@ void SP_misc_strogg_ship (edict_t *ent)
ent->movetype = MOVETYPE_PUSH;
ent->solid = SOLID_NOT;
- ent->s.modelindex = gi.modelindex ("models/ships/strogg1/tris.md2");
- VectorSet (ent->mins, -16, -16, 0);
- VectorSet (ent->maxs, 16, 16, 32);
+ ent->s.modelindex = gi.modelindex("models/ships/strogg1/tris.md2");
+ VectorSet(ent->mins, -16, -16, 0);
+ VectorSet(ent->maxs, 16, 16, 32);
ent->think = func_train_find;
ent->nextthink = level.time + FRAMETIME;
@@ -1436,66 +1376,66 @@ void SP_misc_strogg_ship (edict_t *ent)
ent->svflags |= SVF_NOCLIENT;
ent->moveinfo.accel = ent->moveinfo.decel = ent->moveinfo.speed = ent->speed;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
/*QUAKED misc_satellite_dish (1 .5 0) (-64 -64 0) (64 64 128)
*/
-void misc_satellite_dish_think (edict_t *self)
+void misc_satellite_dish_think(edict_t *self)
{
self->s.frame++;
if (self->s.frame < 38)
self->nextthink = level.time + FRAMETIME;
}
-void misc_satellite_dish_use (edict_t *self, edict_t *other, edict_t *activator)
+void misc_satellite_dish_use(edict_t *self, edict_t *other, edict_t *activator)
{
self->s.frame = 0;
self->think = misc_satellite_dish_think;
self->nextthink = level.time + FRAMETIME;
}
-void SP_misc_satellite_dish (edict_t *ent)
+void SP_misc_satellite_dish(edict_t *ent)
{
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_BBOX;
- VectorSet (ent->mins, -64, -64, 0);
- VectorSet (ent->maxs, 64, 64, 128);
- ent->s.modelindex = gi.modelindex ("models/objects/satellite/tris.md2");
+ VectorSet(ent->mins, -64, -64, 0);
+ VectorSet(ent->maxs, 64, 64, 128);
+ ent->s.modelindex = gi.modelindex("models/objects/satellite/tris.md2");
ent->use = misc_satellite_dish_use;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
/*QUAKED light_mine1 (0 1 0) (-2 -2 -12) (2 2 12)
*/
-void SP_light_mine1 (edict_t *ent)
+void SP_light_mine1(edict_t *ent)
{
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_BBOX;
- ent->s.modelindex = gi.modelindex ("models/objects/minelite/light1/tris.md2");
- gi.linkentity (ent);
+ ent->s.modelindex = gi.modelindex("models/objects/minelite/light1/tris.md2");
+ gi.linkentity(ent);
}
/*QUAKED light_mine2 (0 1 0) (-2 -2 -12) (2 2 12)
*/
-void SP_light_mine2 (edict_t *ent)
+void SP_light_mine2(edict_t *ent)
{
ent->movetype = MOVETYPE_NONE;
ent->solid = SOLID_BBOX;
- ent->s.modelindex = gi.modelindex ("models/objects/minelite/light2/tris.md2");
- gi.linkentity (ent);
+ ent->s.modelindex = gi.modelindex("models/objects/minelite/light2/tris.md2");
+ gi.linkentity(ent);
}
/*QUAKED misc_gib_arm (1 0 0) (-8 -8 -8) (8 8 8)
Intended for use with the target_spawner
*/
-void SP_misc_gib_arm (edict_t *ent)
+void SP_misc_gib_arm(edict_t *ent)
{
- gi.setmodel (ent, "models/objects/gibs/arm/tris.md2");
+ gi.setmodel(ent, "models/objects/gibs/arm/tris.md2");
ent->solid = SOLID_NOT;
ent->s.effects |= EF_GIB;
ent->takedamage = DAMAGE_YES;
@@ -1503,20 +1443,20 @@ void SP_misc_gib_arm (edict_t *ent)
ent->movetype = MOVETYPE_TOSS;
ent->svflags |= SVF_MONSTER;
ent->deadflag = DEAD_DEAD;
- ent->avelocity[0] = random()*200;
- ent->avelocity[1] = random()*200;
- ent->avelocity[2] = random()*200;
+ ent->avelocity[0] = random() * 200;
+ ent->avelocity[1] = random() * 200;
+ ent->avelocity[2] = random() * 200;
ent->think = G_FreeEdict;
ent->nextthink = level.time + 30;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
/*QUAKED misc_gib_leg (1 0 0) (-8 -8 -8) (8 8 8)
Intended for use with the target_spawner
*/
-void SP_misc_gib_leg (edict_t *ent)
+void SP_misc_gib_leg(edict_t *ent)
{
- gi.setmodel (ent, "models/objects/gibs/leg/tris.md2");
+ gi.setmodel(ent, "models/objects/gibs/leg/tris.md2");
ent->solid = SOLID_NOT;
ent->s.effects |= EF_GIB;
ent->takedamage = DAMAGE_YES;
@@ -1524,20 +1464,20 @@ void SP_misc_gib_leg (edict_t *ent)
ent->movetype = MOVETYPE_TOSS;
ent->svflags |= SVF_MONSTER;
ent->deadflag = DEAD_DEAD;
- ent->avelocity[0] = random()*200;
- ent->avelocity[1] = random()*200;
- ent->avelocity[2] = random()*200;
+ ent->avelocity[0] = random() * 200;
+ ent->avelocity[1] = random() * 200;
+ ent->avelocity[2] = random() * 200;
ent->think = G_FreeEdict;
ent->nextthink = level.time + 30;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
/*QUAKED misc_gib_head (1 0 0) (-8 -8 -8) (8 8 8)
Intended for use with the target_spawner
*/
-void SP_misc_gib_head (edict_t *ent)
+void SP_misc_gib_head(edict_t *ent)
{
- gi.setmodel (ent, "models/objects/gibs/head/tris.md2");
+ gi.setmodel(ent, "models/objects/gibs/head/tris.md2");
ent->solid = SOLID_NOT;
ent->s.effects |= EF_GIB;
ent->takedamage = DAMAGE_YES;
@@ -1545,12 +1485,12 @@ void SP_misc_gib_head (edict_t *ent)
ent->movetype = MOVETYPE_TOSS;
ent->svflags |= SVF_MONSTER;
ent->deadflag = DEAD_DEAD;
- ent->avelocity[0] = random()*200;
- ent->avelocity[1] = random()*200;
- ent->avelocity[2] = random()*200;
+ ent->avelocity[0] = random() * 200;
+ ent->avelocity[1] = random() * 200;
+ ent->avelocity[2] = random() * 200;
ent->think = G_FreeEdict;
ent->nextthink = level.time + 30;
- gi.linkentity (ent);
+ gi.linkentity(ent);
}
//=====================================================
@@ -1560,13 +1500,13 @@ used with target_string (must be on same "team")
"count" is position in the string (starts at 1)
*/
-void SP_target_character (edict_t *self)
+void SP_target_character(edict_t *self)
{
self->movetype = MOVETYPE_PUSH;
- gi.setmodel (self, self->model);
+ gi.setmodel(self, self->model);
self->solid = SOLID_BSP;
self->s.frame = 12;
- gi.linkentity (self);
+ gi.linkentity(self);
return;
}
@@ -1574,20 +1514,18 @@ void SP_target_character (edict_t *self)
/*QUAKED target_string (0 0 1) (-8 -8 -8) (8 8 8)
*/
-void target_string_use (edict_t *self, edict_t *other, edict_t *activator)
+void target_string_use(edict_t *self, edict_t *other, edict_t *activator)
{
edict_t *e;
int n, l;
char c;
l = strlen(self->message);
- for (e = self->teammaster; e; e = e->teamchain)
- {
+ for (e = self->teammaster; e; e = e->teamchain) {
if (!e->count)
continue;
n = e->count - 1;
- if (n > l)
- {
+ if (n > l) {
e->s.frame = 12;
continue;
}
@@ -1604,7 +1542,7 @@ void target_string_use (edict_t *self, edict_t *other, edict_t *activator)
}
}
-void SP_target_string (edict_t *self)
+void SP_target_string(edict_t *self)
{
if (!self->message)
self->message = "";
@@ -1632,39 +1570,33 @@ If START_OFF, this entity must be used before it starts
// TODO: skuller: fix savegame restore bug
-static void func_clock_reset (edict_t *self)
+static void func_clock_reset(edict_t *self)
{
self->activator = NULL;
- if (self->spawnflags & 1)
- {
+ if (self->spawnflags & 1) {
self->health = 0;
self->wait = self->count;
- }
- else if (self->spawnflags & 2)
- {
+ } else if (self->spawnflags & 2) {
self->health = self->count;
self->wait = 0;
}
}
-static void func_clock_format_countdown (edict_t *self)
+static void func_clock_format_countdown(edict_t *self)
{
- if (self->style == 0)
- {
- Q_snprintf (self->message, CLOCK_MESSAGE_SIZE, "%2i", self->health);
+ if (self->style == 0) {
+ Q_snprintf(self->message, CLOCK_MESSAGE_SIZE, "%2i", self->health);
return;
}
- if (self->style == 1)
- {
+ if (self->style == 1) {
Q_snprintf(self->message, CLOCK_MESSAGE_SIZE, "%2i:%2i", self->health / 60, self->health % 60);
if (self->message[3] == ' ')
self->message[3] = '0';
return;
}
- if (self->style == 2)
- {
+ if (self->style == 2) {
Q_snprintf(self->message, CLOCK_MESSAGE_SIZE, "%2i:%2i:%2i", self->health / 3600, (self->health - (self->health / 3600) * 3600) / 60, self->health % 60);
if (self->message[3] == ' ')
self->message[3] = '0';
@@ -1674,33 +1606,27 @@ static void func_clock_format_countdown (edict_t *self)
}
}
-void func_clock_think (edict_t *self)
+void func_clock_think(edict_t *self)
{
- if (!self->enemy)
- {
- self->enemy = G_Find (NULL, FOFS(targetname), self->target);
+ if (!self->enemy) {
+ self->enemy = G_Find(NULL, FOFS(targetname), self->target);
if (!self->enemy)
return;
}
- if (self->spawnflags & 1)
- {
- func_clock_format_countdown (self);
+ if (self->spawnflags & 1) {
+ func_clock_format_countdown(self);
self->health++;
- }
- else if (self->spawnflags & 2)
- {
- func_clock_format_countdown (self);
+ } else if (self->spawnflags & 2) {
+ func_clock_format_countdown(self);
self->health--;
- }
- else
- {
+ } else {
struct tm *ltime;
time_t gmtime;
time(&gmtime);
ltime = localtime(&gmtime);
- Q_snprintf (self->message, CLOCK_MESSAGE_SIZE, "%2i:%2i:%2i", ltime->tm_hour, ltime->tm_min, ltime->tm_sec);
+ Q_snprintf(self->message, CLOCK_MESSAGE_SIZE, "%2i:%2i:%2i", ltime->tm_hour, ltime->tm_min, ltime->tm_sec);
if (self->message[3] == ' ')
self->message[3] = '0';
if (self->message[6] == ' ')
@@ -1708,13 +1634,11 @@ void func_clock_think (edict_t *self)
}
self->enemy->message = self->message;
- self->enemy->use (self->enemy, self, self);
+ self->enemy->use(self->enemy, self, self);
if (((self->spawnflags & 1) && (self->health > self->wait)) ||
- ((self->spawnflags & 2) && (self->health < self->wait)))
- {
- if (self->pathtarget)
- {
+ ((self->spawnflags & 2) && (self->health < self->wait))) {
+ if (self->pathtarget) {
char *savetarget;
char *savemessage;
@@ -1722,7 +1646,7 @@ void func_clock_think (edict_t *self)
savemessage = self->message;
self->target = self->pathtarget;
self->message = NULL;
- G_UseTargets (self, self->activator);
+ G_UseTargets(self, self->activator);
self->target = savetarget;
self->message = savemessage;
}
@@ -1730,7 +1654,7 @@ void func_clock_think (edict_t *self)
if (!(self->spawnflags & 8))
return;
- func_clock_reset (self);
+ func_clock_reset(self);
if (self->spawnflags & 4)
return;
@@ -1739,38 +1663,36 @@ void func_clock_think (edict_t *self)
self->nextthink = level.time + 1;
}
-void func_clock_use (edict_t *self, edict_t *other, edict_t *activator)
+void func_clock_use(edict_t *self, edict_t *other, edict_t *activator)
{
if (!(self->spawnflags & 8))
self->use = NULL;
if (self->activator)
return;
self->activator = activator;
- self->think (self);
+ self->think(self);
}
-void SP_func_clock (edict_t *self)
+void SP_func_clock(edict_t *self)
{
- if (!self->target)
- {
+ if (!self->target) {
gi.dprintf("%s with no target at %s\n", self->classname, vtos(self->s.origin));
- G_FreeEdict (self);
+ G_FreeEdict(self);
return;
}
- if ((self->spawnflags & 2) && (!self->count))
- {
+ if ((self->spawnflags & 2) && (!self->count)) {
gi.dprintf("%s with no count at %s\n", self->classname, vtos(self->s.origin));
- G_FreeEdict (self);
+ G_FreeEdict(self);
return;
}
if ((self->spawnflags & 1) && (!self->count))
- self->count = 60*60;;
+ self->count = 60 * 60;;
- func_clock_reset (self);
+ func_clock_reset(self);
- self->message = gi.TagMalloc (CLOCK_MESSAGE_SIZE, TAG_LEVEL);
+ self->message = gi.TagMalloc(CLOCK_MESSAGE_SIZE, TAG_LEVEL);
self->think = func_clock_think;
@@ -1782,30 +1704,29 @@ void SP_func_clock (edict_t *self)
//=================================================================================
-void teleporter_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
+void teleporter_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf)
{
edict_t *dest;
int i;
if (!other->client)
return;
- dest = G_Find (NULL, FOFS(targetname), self->target);
- if (!dest)
- {
- gi.dprintf ("Couldn't find destination\n");
+ dest = G_Find(NULL, FOFS(targetname), self->target);
+ if (!dest) {
+ gi.dprintf("Couldn't find destination\n");
return;
}
// unlink to make sure it can't possibly interfere with KillBox
- gi.unlinkentity (other);
+ gi.unlinkentity(other);
- VectorCopy (dest->s.origin, other->s.origin);
- VectorCopy (dest->s.origin, other->s.old_origin);
+ VectorCopy(dest->s.origin, other->s.origin);
+ VectorCopy(dest->s.origin, other->s.old_origin);
other->s.origin[2] += 10;
// clear the velocity and hold them in place briefly
- VectorClear (other->velocity);
- other->client->ps.pmove.pm_time = 160>>3; // hold time
+ VectorClear(other->velocity);
+ other->client->ps.pmove.pm_time = 160 >> 3; // hold time
other->client->ps.pmove.pm_flags |= PMF_TIME_TELEPORT;
// draw the teleport splash at source and on the player
@@ -1813,68 +1734,66 @@ void teleporter_touch (edict_t *self, edict_t *other, cplane_t *plane, csurface_
other->s.event = EV_PLAYER_TELEPORT;
// set angles
- for (i=0 ; i<3 ; i++)
- {
+ for (i = 0 ; i < 3 ; i++) {
other->client->ps.pmove.delta_angles[i] = ANGLE2SHORT(dest->s.angles[i] - other->client->resp.cmd_angles[i]);
}
- VectorClear (other->s.angles);
- VectorClear (other->client->ps.viewangles);
- VectorClear (other->client->v_angle);
+ VectorClear(other->s.angles);
+ VectorClear(other->client->ps.viewangles);
+ VectorClear(other->client->v_angle);
// kill anything at the destination
- KillBox (other);
+ KillBox(other);
- gi.linkentity (other);
+ gi.linkentity(other);
}
/*QUAKED misc_teleporter (1 0 0) (-32 -32 -24) (32 32 -16)
Stepping onto this disc will teleport players to the targeted misc_teleporter_dest object.
*/
-void SP_misc_teleporter (edict_t *ent)
+void SP_misc_teleporter(edict_t *ent)
{
edict_t *trig;
- if (!ent->target)
- {
- gi.dprintf ("teleporter without a target.\n");
- G_FreeEdict (ent);
+ if (!ent->target) {
+ gi.dprintf("teleporter without a target.\n");
+ G_FreeEdict(ent);
return;
}
- gi.setmodel (ent, "models/objects/dmspot/tris.md2");
+ gi.setmodel(ent, "models/objects/dmspot/tris.md2");
ent->s.skinnum = 1;
ent->s.effects = EF_TELEPORTER;
- ent->s.sound = gi.soundindex ("world/amb10.wav");
+ ent->s.sound = gi.soundindex("world/amb10.wav");
ent->solid = SOLID_BBOX;
- VectorSet (ent->mins, -32, -32, -24);
- VectorSet (ent->maxs, 32, 32, -16);
- gi.linkentity (ent);
+ VectorSet(ent->mins, -32, -32, -24);
+ VectorSet(ent->maxs, 32, 32, -16);
+ gi.linkentity(ent);
- trig = G_Spawn ();
+ trig = G_Spawn();
trig->touch = teleporter_touch;
trig->solid = SOLID_TRIGGER;
trig->target = ent->target;
trig->owner = ent;
- VectorCopy (ent->s.origin, trig->s.origin);
- VectorSet (trig->mins, -8, -8, 8);
- VectorSet (trig->maxs, 8, 8, 24);
- gi.linkentity (trig);
-
+ VectorCopy(ent->s.origin, trig->s.origin);
+ VectorSet(trig->mins, -8, -8, 8);
+ VectorSet(trig->maxs, 8, 8, 24);
+ gi.linkentity(trig);
+
}
/*QUAKED misc_teleporter_dest (1 0 0) (-32 -32 -24) (32 32 -16)
Point teleporters at these.
*/
-void SP_misc_teleporter_dest (edict_t *ent)
+void SP_misc_teleporter_dest(edict_t *ent)
{
- gi.setmodel (ent, "models/objects/dmspot/tris.md2");
+ gi.setmodel(ent, "models/objects/dmspot/tris.md2");
ent->s.skinnum = 0;
ent->solid = SOLID_BBOX;
// ent->s.effects |= EF_FLIES;
- VectorSet (ent->mins, -32, -32, -24);
- VectorSet (ent->maxs, 32, 32, -16);
- gi.linkentity (ent);
+ VectorSet(ent->mins, -32, -32, -24);
+ VectorSet(ent->maxs, 32, 32, -16);
+ gi.linkentity(ent);
}