mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-02-17 09:32:15 +00:00
Merge branch 'fields' into rearrangecalls
This commit is contained in:
commit
72d77e0428
36 changed files with 239 additions and 60 deletions
|
@ -2092,6 +2092,78 @@ CL_ClearEffects(void)
|
|||
CL_ClearLightStyles();
|
||||
}
|
||||
|
||||
void
|
||||
CL_FlameEffects(vec3_t origin)
|
||||
{
|
||||
int n, count;
|
||||
|
||||
count = rand() & 0xF;
|
||||
|
||||
for(n = 0; n < count; n++)
|
||||
{
|
||||
cparticle_t *p;
|
||||
int j;
|
||||
|
||||
if (!free_particles)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
p = free_particles;
|
||||
free_particles = p->next;
|
||||
p->next = active_particles;
|
||||
active_particles = p;
|
||||
|
||||
VectorClear(p->accel);
|
||||
p->time = cl.time;
|
||||
|
||||
p->alpha = 1.0;
|
||||
p->alphavel = -1.0 / (1 + frandk() * 0.2);
|
||||
p->color = CL_CombineColors(0xff0b0700, 0xff47477b,
|
||||
(float)(randk() & 15) / 15.0);
|
||||
|
||||
for (j = 0; j < 3; j++)
|
||||
{
|
||||
p->org[j] = origin[j] + crandk() * 5;
|
||||
p->vel[j] = crandk() * 5;
|
||||
}
|
||||
|
||||
p->vel[2] = crandk() * -10;
|
||||
p->accel[2] = -PARTICLE_GRAVITY;
|
||||
}
|
||||
|
||||
count = rand() & 0x7;
|
||||
|
||||
for (n = 0; n < count; n++)
|
||||
{
|
||||
cparticle_t *p;
|
||||
int j;
|
||||
|
||||
if (!free_particles)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
p = free_particles;
|
||||
free_particles = p->next;
|
||||
p->next = active_particles;
|
||||
active_particles = p;
|
||||
VectorClear(p->accel);
|
||||
|
||||
p->time = cl.time;
|
||||
|
||||
p->alpha = 1.0;
|
||||
p->alphavel = -1.0 / (1 + frandk() * 0.5);
|
||||
p->color = CL_CombineColors(0xff000000, 0xff2f2f2f,
|
||||
(float)(randk() & 15) / 15.0);
|
||||
for (j=0 ; j<3 ; j++)
|
||||
{
|
||||
p->org[j] = origin[j] + crandk() * 3;
|
||||
}
|
||||
p->vel[2] = 20 + crandk() * 5;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
CL_Flashlight(int ent, vec3_t pos)
|
||||
{
|
||||
|
|
|
@ -664,7 +664,7 @@ static unsigned int splash_color[] = {
|
|||
void
|
||||
CL_ParseTEnt(void)
|
||||
{
|
||||
int type;
|
||||
temp_event_t type;
|
||||
vec3_t pos, pos2, dir;
|
||||
explosion_t *ex;
|
||||
int cnt;
|
||||
|
@ -864,6 +864,7 @@ CL_ParseTEnt(void)
|
|||
break;
|
||||
|
||||
case TE_RAILTRAIL: /* railgun effect */
|
||||
case TE_RAILTRAIL2:
|
||||
MSG_ReadPos(&net_message, pos);
|
||||
MSG_ReadPos(&net_message, pos2);
|
||||
CL_RailTrail(pos, pos2);
|
||||
|
@ -1124,6 +1125,11 @@ CL_ParseTEnt(void)
|
|||
S_StartSound(pos, 0, 0, cl_sfx_lashit, 1, ATTN_NORM, 0);
|
||||
break;
|
||||
|
||||
case TE_FLAME:
|
||||
MSG_ReadPos(&net_message, pos);
|
||||
CL_FlameEffects(pos);
|
||||
break;
|
||||
|
||||
case TE_LIGHTNING:
|
||||
ent = CL_ParseLightning(cl_mod_lightning);
|
||||
S_StartSound(NULL, ent, CHAN_WEAPON, cl_sfx_lightning,
|
||||
|
@ -1261,7 +1267,7 @@ CL_ParseTEnt(void)
|
|||
break;
|
||||
|
||||
default:
|
||||
Com_Error(ERR_DROP, "CL_ParseTEnt: bad type");
|
||||
Com_Error(ERR_DROP, "%s: bad type", __func__);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -405,7 +405,7 @@ void CL_SmokeTrail (vec3_t start, vec3_t end, unsigned int basecolor, unsigned i
|
|||
int spacing);
|
||||
void CL_Flashlight (int ent, vec3_t pos);
|
||||
void CL_ForceWall (vec3_t start, vec3_t end, int color);
|
||||
void CL_FlameEffects (centity_t *ent, vec3_t origin);
|
||||
void CL_FlameEffects (vec3_t origin);
|
||||
void CL_GenericParticleEffect (vec3_t org, vec3_t dir, unsigned int basecolor, unsigned int finalcolor,
|
||||
int count, int numcolors, int dirspread, float alphavel);
|
||||
void CL_BubbleTrail2 (vec3_t start, vec3_t end, int dist);
|
||||
|
|
|
@ -1318,7 +1318,7 @@ plat2_blocked(edict_t *self, edict_t *other)
|
|||
|
||||
void
|
||||
Use_Plat2(edict_t *ent, edict_t *other /* unused */,
|
||||
edict_t *activator)
|
||||
edict_t *activator)
|
||||
{
|
||||
edict_t *trigger;
|
||||
int i;
|
||||
|
@ -1358,7 +1358,7 @@ Use_Plat2(edict_t *ent, edict_t *other /* unused */,
|
|||
|
||||
void
|
||||
plat2_activate(edict_t *ent, edict_t *other /* unused */,
|
||||
edict_t *activator /* unused */)
|
||||
edict_t *activator /* unused */)
|
||||
{
|
||||
edict_t *trigger;
|
||||
|
||||
|
@ -1607,7 +1607,7 @@ rotating_blocked(edict_t *self, edict_t *other)
|
|||
|
||||
void
|
||||
rotating_touch(edict_t *self, edict_t *other, cplane_t *plane /* unused */,
|
||||
csurface_t *surf /* unused */)
|
||||
csurface_t *surf /* unused */)
|
||||
{
|
||||
if (!self || !other)
|
||||
{
|
||||
|
@ -1623,7 +1623,7 @@ rotating_touch(edict_t *self, edict_t *other, cplane_t *plane /* unused */,
|
|||
|
||||
void
|
||||
rotating_use(edict_t *self, edict_t *other /* unused */,
|
||||
edict_t *activator /* unused */)
|
||||
edict_t *activator /* unused */)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
@ -1884,7 +1884,7 @@ button_use(edict_t *self, edict_t *other /* unused */, edict_t *activator)
|
|||
|
||||
void
|
||||
button_touch(edict_t *self, edict_t *other, cplane_t *plane /* unused */,
|
||||
csurface_t *surf /* unused */)
|
||||
csurface_t *surf /* unused */)
|
||||
{
|
||||
if (!self || !other)
|
||||
{
|
||||
|
@ -2375,7 +2375,7 @@ door_use(edict_t *self, edict_t *other /* unused */, edict_t *activator)
|
|||
|
||||
void
|
||||
Touch_DoorTrigger(edict_t *self, edict_t *other, cplane_t *plane /* unused */,
|
||||
csurface_t *surf /* unused */)
|
||||
csurface_t *surf /* unused */)
|
||||
{
|
||||
if (!self || !other)
|
||||
{
|
||||
|
@ -2759,7 +2759,7 @@ SP_func_door(edict_t *ent)
|
|||
|
||||
void
|
||||
Door_Activate(edict_t *self, edict_t *other /* unused */,
|
||||
edict_t *activator /* unused */)
|
||||
edict_t *activator /* unused */)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
@ -3475,7 +3475,7 @@ func_train_find(edict_t *self)
|
|||
|
||||
void
|
||||
train_use(edict_t *self, edict_t *other /* unused */,
|
||||
edict_t *activator)
|
||||
edict_t *activator)
|
||||
{
|
||||
if (!self || !activator)
|
||||
{
|
||||
|
@ -3573,7 +3573,7 @@ SP_func_train(edict_t *self)
|
|||
*/
|
||||
void
|
||||
trigger_elevator_use(edict_t *self, edict_t *other,
|
||||
edict_t *activator /* unused */)
|
||||
edict_t *activator /* unused */)
|
||||
{
|
||||
edict_t *target;
|
||||
|
||||
|
@ -3753,7 +3753,7 @@ SP_func_timer(edict_t *self)
|
|||
*/
|
||||
void
|
||||
func_conveyor_use(edict_t *self, edict_t *other /* unused */,
|
||||
edict_t *activator /* unused */)
|
||||
edict_t *activator /* unused */)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
@ -3820,7 +3820,7 @@ SP_func_conveyor(edict_t *self)
|
|||
*/
|
||||
void
|
||||
door_secret_use(edict_t *self, edict_t *other /* unused */,
|
||||
edict_t *activator /*unused */)
|
||||
edict_t *activator /*unused */)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
@ -4164,7 +4164,7 @@ rotating_light_killed(edict_t *self, edict_t *inflictor /* unused */,
|
|||
|
||||
void
|
||||
rotating_light_use(edict_t *self, edict_t *other /* unused */,
|
||||
edict_t *activator /* unused */)
|
||||
edict_t *activator /* unused */)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -1698,7 +1698,7 @@ Touch_Item(edict_t *ent, edict_t *other, cplane_t *plane /* unused */, csurface_
|
|||
other->client->ps.stats[STAT_PICKUP_ICON] =
|
||||
gi.imageindex(ent->item->icon);
|
||||
other->client->ps.stats[STAT_PICKUP_STRING] =
|
||||
CS_ITEMS + ITEM_INDEX(ent->item);
|
||||
CS_ITEMS + ITEM_INDEX(ent->item);
|
||||
other->client->pickup_msg_time = level.time + 3.0;
|
||||
|
||||
/* change selected item */
|
||||
|
@ -1706,7 +1706,7 @@ Touch_Item(edict_t *ent, edict_t *other, cplane_t *plane /* unused */, csurface_
|
|||
{
|
||||
other->client->pers.selected_item =
|
||||
other->client->ps.stats[STAT_SELECTED_ITEM] =
|
||||
ITEM_INDEX(ent->item);
|
||||
ITEM_INDEX(ent->item);
|
||||
}
|
||||
|
||||
if (ent->item->pickup == Pickup_Health)
|
||||
|
|
|
@ -3273,3 +3273,84 @@ SP_misc_nuke_core(edict_t *ent)
|
|||
|
||||
ent->use = misc_nuke_core_use;
|
||||
}
|
||||
|
||||
/*
|
||||
* QUAKED misc_flare (1.0 1.0 0.0) (-32 -32 -32) (32 32 32) RED GREEN BLUE LOCK_ANGLE
|
||||
* Creates a flare seen in the N64 version.
|
||||
*/
|
||||
#define SPAWNFLAG_FLARE_RED 1
|
||||
#define SPAWNFLAG_FLARE_GREEN 2
|
||||
#define SPAWNFLAG_FLARE_BLUE 4
|
||||
#define SPAWNFLAG_FLARE_LOCK_ANGLE 8
|
||||
|
||||
/* TODO: implement FX_FLARE */
|
||||
#define RF_FLARE EF_BLUEHYPERBLASTER
|
||||
#define RF_FLARE_LOCK_ANGLE 0
|
||||
|
||||
void
|
||||
misc_flare_use(edict_t *ent, edict_t *other, edict_t *activator)
|
||||
{
|
||||
ent->svflags ^= SVF_NOCLIENT;
|
||||
gi.linkentity(ent);
|
||||
}
|
||||
|
||||
void
|
||||
SP_misc_flare(edict_t* ent)
|
||||
{
|
||||
ent->s.modelindex = 0;
|
||||
ent->s.renderfx = RF_FLARE;
|
||||
ent->solid = SOLID_NOT;
|
||||
/*
|
||||
* TODO: Add scale field
|
||||
* ent->s.scale = st.radius;
|
||||
*/
|
||||
|
||||
if (ent->spawnflags & SPAWNFLAG_FLARE_RED)
|
||||
{
|
||||
ent->s.renderfx |= RF_SHELL_RED;
|
||||
}
|
||||
|
||||
if (ent->spawnflags & SPAWNFLAG_FLARE_GREEN)
|
||||
{
|
||||
ent->s.renderfx |= RF_SHELL_GREEN;
|
||||
}
|
||||
|
||||
if (ent->spawnflags & SPAWNFLAG_FLARE_BLUE)
|
||||
{
|
||||
ent->s.renderfx |= RF_SHELL_BLUE;
|
||||
}
|
||||
|
||||
if (ent->spawnflags & SPAWNFLAG_FLARE_LOCK_ANGLE)
|
||||
{
|
||||
ent->s.renderfx |= RF_FLARE_LOCK_ANGLE;
|
||||
}
|
||||
|
||||
if (st.image && *st.image)
|
||||
{
|
||||
ent->s.renderfx |= RF_CUSTOMSKIN;
|
||||
ent->s.frame = gi.imageindex(st.image);
|
||||
}
|
||||
|
||||
VectorSet(ent->mins, -32, -32, -32);
|
||||
VectorSet(ent->maxs, 32, 32, 32);
|
||||
|
||||
ent->s.modelindex2 = st.fade_start_dist;
|
||||
ent->s.modelindex3 = st.fade_end_dist;
|
||||
|
||||
if (ent->targetname)
|
||||
{
|
||||
ent->use = misc_flare_use;
|
||||
}
|
||||
|
||||
gi.linkentity(ent);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* QUAKED misc_model (1 0 0) (-8 -8 -8) (8 8 8)
|
||||
*/
|
||||
void SP_misc_model(edict_t *ent)
|
||||
{
|
||||
gi.setmodel(ent, ent->model);
|
||||
gi.linkentity(ent);
|
||||
}
|
||||
|
|
|
@ -382,7 +382,7 @@ force_wall_think(edict_t *self)
|
|||
|
||||
void
|
||||
force_wall_use(edict_t *self, edict_t *other /* activator */,
|
||||
edict_t *activator /* activator */)
|
||||
edict_t *activator /* activator */)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -868,7 +868,7 @@ Nuke_Think(edict_t *ent)
|
|||
|
||||
void
|
||||
nuke_bounce(edict_t *ent, edict_t *other /* unused */, cplane_t *plane /* unused */,
|
||||
csurface_t *surf /* unused */)
|
||||
csurface_t *surf /* unused */)
|
||||
{
|
||||
if (!ent)
|
||||
{
|
||||
|
|
|
@ -123,12 +123,26 @@ DynamicSpawnUpdate(edict_t *self, dynamicentity_t *data)
|
|||
) / 3;
|
||||
}
|
||||
|
||||
void
|
||||
dynamicspawn_touch(edict_t *self, edict_t *other, cplane_t *plane /* unused */,
|
||||
csurface_t *surf /* unused */)
|
||||
{
|
||||
if (!self || !other || !self->message || !self->message[0])
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
gi.centerprintf(other, "Entity description: %s", self->message);
|
||||
}
|
||||
|
||||
static void
|
||||
DynamicSpawn(edict_t *self)
|
||||
DynamicSpawn(edict_t *self, dynamicentity_t *data)
|
||||
{
|
||||
/* All other properties could be updated in DynamicSpawnUpdate */
|
||||
self->movetype = MOVETYPE_NONE;
|
||||
self->solid = SOLID_BBOX;
|
||||
self->message = data->description;
|
||||
self->touch = dynamicspawn_touch;
|
||||
|
||||
gi.linkentity(self);
|
||||
}
|
||||
|
@ -279,7 +293,7 @@ ED_CallSpawn(edict_t *ent)
|
|||
if (dyn_id >= 0 && dynamicentities[dyn_id].model_path[0])
|
||||
{
|
||||
/* spawn only if know model */
|
||||
DynamicSpawn(ent);
|
||||
DynamicSpawn(ent, &dynamicentities[dyn_id]);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -299,7 +313,7 @@ ED_CallSpawn(edict_t *ent)
|
|||
if (gi.FS_LoadFile(self.model_path, NULL) > 4)
|
||||
{
|
||||
DynamicSpawnUpdate(ent, &self);
|
||||
DynamicSpawn(ent);
|
||||
DynamicSpawn(ent, &self);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -372,8 +386,6 @@ ED_ParseColorField(const char *value)
|
|||
is_float = false;
|
||||
}
|
||||
|
||||
printf(">%f<\n", v[i]);
|
||||
|
||||
if (!tmp)
|
||||
{
|
||||
break;
|
||||
|
@ -783,14 +795,14 @@ SpawnEntities(const char *mapname, char *entities, const char *spawnpoint)
|
|||
|
||||
if (!Q_stricmp(level.mapname, "rhangar2") &&
|
||||
!Q_stricmp(ent->classname, "trigger_always") &&
|
||||
ent->target && !Q_stricmp(ent->target, "t265"))
|
||||
ent->target && !Q_stricmp(ent->target, "t265"))
|
||||
{
|
||||
ent->spawnflags |= SPAWNFLAG_NOT_COOP;
|
||||
}
|
||||
|
||||
if (!Q_stricmp(level.mapname, "rhangar2") &&
|
||||
!Q_stricmp(ent->classname, "func_wall") &&
|
||||
!Q_stricmp(ent->model, "*15"))
|
||||
!Q_stricmp(ent->model, "*15"))
|
||||
{
|
||||
ent->spawnflags |= SPAWNFLAG_NOT_COOP;
|
||||
}
|
||||
|
|
|
@ -145,7 +145,7 @@ Use_Multi(edict_t *ent, edict_t *other /* unused */, edict_t *activator)
|
|||
|
||||
void
|
||||
Touch_Multi(edict_t *self, edict_t *other, cplane_t *plane /* unused */,
|
||||
csurface_t *surf /* unused */)
|
||||
csurface_t *surf /* unused */)
|
||||
{
|
||||
if (!self || !other)
|
||||
{
|
||||
|
@ -207,7 +207,7 @@ Touch_Multi(edict_t *self, edict_t *other, cplane_t *plane /* unused */,
|
|||
*/
|
||||
void
|
||||
trigger_enable(edict_t *self, edict_t *other /* unused */,
|
||||
edict_t *activator /* unused */)
|
||||
edict_t *activator /* unused */)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
@ -320,7 +320,7 @@ SP_trigger_once(edict_t *ent)
|
|||
*/
|
||||
void
|
||||
trigger_relay_use(edict_t *self, edict_t *other /* unused */,
|
||||
edict_t *activator)
|
||||
edict_t *activator)
|
||||
{
|
||||
if (!self || !activator)
|
||||
{
|
||||
|
@ -519,7 +519,7 @@ SP_trigger_key(edict_t *self)
|
|||
|
||||
void
|
||||
trigger_counter_use(edict_t *self, edict_t *other /* unused */,
|
||||
edict_t *activator)
|
||||
edict_t *activator)
|
||||
{
|
||||
if (!self || !activator)
|
||||
{
|
||||
|
@ -846,7 +846,7 @@ hurt_use(edict_t *self, edict_t *other /* unused */,
|
|||
|
||||
self->solid = SOLID_TRIGGER;
|
||||
num = gi.BoxEdicts(self->absmin, self->absmax,
|
||||
touch, MAX_EDICTS, AREA_SOLID);
|
||||
touch, MAX_EDICTS, AREA_SOLID);
|
||||
|
||||
/* Check for idle monsters in
|
||||
trigger hurt */
|
||||
|
|
|
@ -1629,7 +1629,7 @@ Trap_Think(edict_t *ent)
|
|||
if (ent->wait == 64)
|
||||
{
|
||||
gi.sound(ent, CHAN_VOICE, gi.soundindex("weapons/trapdown.wav"),
|
||||
1, ATTN_IDLE, 0);
|
||||
1, ATTN_IDLE, 0);
|
||||
}
|
||||
|
||||
ent->wait -= 2;
|
||||
|
|
|
@ -676,7 +676,7 @@ boss2_reattack_mg(edict_t *self)
|
|||
|
||||
void
|
||||
boss2_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage)
|
||||
float kick /* unused */, int damage)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -556,7 +556,7 @@ jorg_attack1(edict_t *self)
|
|||
|
||||
void
|
||||
jorg_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage)
|
||||
float kick /* unused */, int damage)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -568,7 +568,7 @@ boss5_reattack1(edict_t *self)
|
|||
|
||||
void
|
||||
boss5_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage)
|
||||
float kick /* unused */, int damage)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
@ -833,7 +833,7 @@ BossExplode2(edict_t *self)
|
|||
void
|
||||
boss5_die(edict_t *self, edict_t *inflictor /* unused */,
|
||||
edict_t *attacker /* unused */, int damage /* unused */,
|
||||
vec3_t point /* unused */)
|
||||
vec3_t point /* unused */)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -805,7 +805,7 @@ brain_laserbeam(edict_t *self)
|
|||
if (random() > 0.8)
|
||||
{
|
||||
gi.sound(self, CHAN_AUTO, gi.soundindex("misc/lasfly.wav"),
|
||||
1, ATTN_STATIC, 0);
|
||||
1, ATTN_STATIC, 0);
|
||||
}
|
||||
|
||||
/* check for max distance */
|
||||
|
@ -1078,7 +1078,7 @@ brain_die(edict_t *self, edict_t *inflictor /* unused */, edict_t *attacker /* u
|
|||
if (self->health <= self->gib_health)
|
||||
{
|
||||
gi.sound(self, CHAN_VOICE, gi.soundindex("misc/udeath.wav"),
|
||||
1, ATTN_NORM, 0);
|
||||
1, ATTN_NORM, 0);
|
||||
|
||||
for (n = 0; n < 2; n++)
|
||||
{
|
||||
|
|
|
@ -379,7 +379,7 @@ mmove_t chick_move_pain3 =
|
|||
|
||||
void
|
||||
chick_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage)
|
||||
float kick /* unused */, int damage)
|
||||
{
|
||||
float r;
|
||||
|
||||
|
|
|
@ -1174,7 +1174,7 @@ fixbot_fire_laser(edict_t *self)
|
|||
}
|
||||
|
||||
gi.sound(self, CHAN_AUTO, gi.soundindex("misc/lasfly.wav"),
|
||||
1, ATTN_STATIC, 0);
|
||||
1, ATTN_STATIC, 0);
|
||||
|
||||
VectorCopy(self->s.origin, start);
|
||||
VectorCopy(self->enemy->s.origin, end);
|
||||
|
@ -1576,7 +1576,7 @@ fixbot_attack(edict_t *self)
|
|||
|
||||
void
|
||||
fixbot_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage /* unused */)
|
||||
float kick /* unused */, int damage /* unused */)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -768,7 +768,7 @@ floater_melee(edict_t *self)
|
|||
|
||||
void
|
||||
floater_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage)
|
||||
float kick /* unused */, int damage)
|
||||
{
|
||||
int n;
|
||||
|
||||
|
|
|
@ -934,7 +934,7 @@ flyer_check_melee(edict_t *self)
|
|||
|
||||
void
|
||||
flyer_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage)
|
||||
float kick /* unused */, int damage)
|
||||
{
|
||||
int n;
|
||||
|
||||
|
|
|
@ -459,7 +459,7 @@ mmove_t gladb_move_death = {
|
|||
|
||||
void
|
||||
gladb_die(edict_t *self, edict_t *inflictor /* unused */,
|
||||
edict_t *attacker /* unused */, int damage /*unused */,
|
||||
edict_t *attacker /* unused */, int damage /*unused */,
|
||||
vec3_t point)
|
||||
{
|
||||
int n;
|
||||
|
|
|
@ -486,7 +486,7 @@ mmove_t gladiator_move_death =
|
|||
|
||||
void
|
||||
gladiator_die(edict_t *self, edict_t *inflictor /* unused */,
|
||||
edict_t *attacker /* unused */, int damage /*unused */,
|
||||
edict_t *attacker /* unused */, int damage /*unused */,
|
||||
vec3_t point)
|
||||
{
|
||||
int n;
|
||||
|
|
|
@ -413,7 +413,7 @@ mmove_t gunner_move_pain1 =
|
|||
|
||||
void
|
||||
gunner_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage)
|
||||
float kick /* unused */, int damage)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -303,7 +303,7 @@ mmove_t infantry_move_pain2 =
|
|||
|
||||
void
|
||||
infantry_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage)
|
||||
float kick /* unused */, int damage)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -700,7 +700,7 @@ insane_run(edict_t *self)
|
|||
|
||||
void
|
||||
insane_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage)
|
||||
float kick /* unused */, int damage)
|
||||
{
|
||||
int l, r;
|
||||
|
||||
|
|
|
@ -674,7 +674,7 @@ SV_StepDirection(edict_t *ent, float yaw, float dist)
|
|||
{
|
||||
if ((delta > 45) && (delta < 315))
|
||||
{
|
||||
/* not turned far enough, so don't take the step */
|
||||
/* not turned far enough, so don't take the step */
|
||||
VectorCopy(oldorigin, ent->s.origin);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -443,7 +443,7 @@ mmove_t parasite_move_pain1 =
|
|||
|
||||
void
|
||||
parasite_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage /* unused */)
|
||||
float kick /* unused */, int damage /* unused */)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -2526,7 +2526,7 @@ mmove_t soldierh_move_pain4 = {
|
|||
|
||||
void
|
||||
soldierh_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage /* unused */)
|
||||
float kick /* unused */, int damage /* unused */)
|
||||
{
|
||||
float r;
|
||||
int n;
|
||||
|
|
|
@ -584,7 +584,7 @@ supertank_reattack1(edict_t *self)
|
|||
|
||||
void
|
||||
supertank_pain(edict_t *self, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage)
|
||||
float kick /* unused */, int damage)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -372,7 +372,7 @@ mmove_t tank_move_pain3 =
|
|||
|
||||
void
|
||||
tank_pain(edict_t *self, edict_t *other /* other */,
|
||||
float kick /* other */, int damage)
|
||||
float kick /* other */, int damage)
|
||||
{
|
||||
if (!self)
|
||||
{
|
||||
|
|
|
@ -434,7 +434,7 @@ SP_info_player_intermission(edict_t *self)
|
|||
|
||||
void
|
||||
player_pain(edict_t *self /* unused */, edict_t *other /* unused */,
|
||||
float kick /* unused */, int damage /* unused */)
|
||||
float kick /* unused */, int damage /* unused */)
|
||||
{
|
||||
/* Player pain is handled at the end
|
||||
* of the frame in P_DamageFeedback.
|
||||
|
@ -506,7 +506,7 @@ IsNeutral(edict_t *ent)
|
|||
|
||||
void
|
||||
ClientObituary(edict_t *self, edict_t *inflictor /* unused */,
|
||||
edict_t *attacker)
|
||||
edict_t *attacker)
|
||||
{
|
||||
int mod;
|
||||
char *message;
|
||||
|
@ -1869,7 +1869,7 @@ InitBodyQue(void)
|
|||
|
||||
void
|
||||
body_die(edict_t *self, edict_t *inflictor /* unused */,
|
||||
edict_t *attacker /* unused */, int damage,
|
||||
edict_t *attacker /* unused */, int damage,
|
||||
vec3_t point /* unused */)
|
||||
{
|
||||
int n;
|
||||
|
|
|
@ -549,7 +549,7 @@ G_SetStats(edict_t *ent)
|
|||
{
|
||||
ent->client->ps.stats[STAT_TIMER_ICON] = gi.imageindex("p_quadfire");
|
||||
ent->client->ps.stats[STAT_TIMER] = (ent->client->quadfire_framenum
|
||||
- level.framenum) / 10;
|
||||
- level.framenum) / 10;
|
||||
}
|
||||
else if (ent->client->invincible_framenum > level.framenum)
|
||||
{
|
||||
|
|
|
@ -3381,7 +3381,7 @@ weapon_trap_fire(edict_t *ent, qboolean held)
|
|||
|
||||
timer = ent->client->grenade_time - level.time;
|
||||
speed = GRENADE_MINSPEED + (GRENADE_TIMER - timer) *
|
||||
((GRENADE_MAXSPEED - GRENADE_MINSPEED) / GRENADE_TIMER);
|
||||
((GRENADE_MAXSPEED - GRENADE_MINSPEED) / GRENADE_TIMER);
|
||||
fire_trap(ent, start, forward, damage, speed, timer, radius, held);
|
||||
|
||||
ent->client->pers.inventory[ent->client->ammo_index]--;
|
||||
|
@ -3427,7 +3427,7 @@ Weapon_Trap(edict_t *ent)
|
|||
if (level.time >= ent->pain_debounce_time)
|
||||
{
|
||||
gi.sound(ent, CHAN_VOICE, gi.soundindex("weapons/noammo.wav"),
|
||||
1, ATTN_NORM, 0);
|
||||
1, ATTN_NORM, 0);
|
||||
ent->pain_debounce_time = level.time + 1;
|
||||
}
|
||||
|
||||
|
@ -3461,7 +3461,7 @@ Weapon_Trap(edict_t *ent)
|
|||
if (ent->client->ps.gunframe == 5)
|
||||
{
|
||||
gi.sound(ent, CHAN_WEAPON, gi.soundindex("weapons/trapcock.wav"),
|
||||
1, ATTN_NORM, 0);
|
||||
1, ATTN_NORM, 0);
|
||||
}
|
||||
|
||||
if (ent->client->ps.gunframe == 11)
|
||||
|
|
|
@ -617,6 +617,7 @@ extern void drawbbox ( edict_t * self ) ;
|
|||
extern void drop_make_touchable ( edict_t * ent ) ;
|
||||
extern void drop_temp_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ;
|
||||
extern void droptofloor ( edict_t * ent ) ;
|
||||
extern void dynamicspawn_touch(edict_t *self, edict_t *other, cplane_t *plane /* unused */, csurface_t *surf /* unused */);
|
||||
extern void enfbolt_touch ( edict_t * self , edict_t * other , cplane_t * plane, csurface_t *surf);
|
||||
extern void enforcer_attack ( edict_t * self ) ;
|
||||
extern void enforcer_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ;
|
||||
|
@ -1026,6 +1027,7 @@ extern void misc_easterchick2_think ( edict_t * self ) ;
|
|||
extern void misc_easterchick_think ( edict_t * self ) ;
|
||||
extern void misc_eastertank_think ( edict_t * self ) ;
|
||||
extern void misc_nuke_core_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
|
||||
extern void misc_flare_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
|
||||
extern void misc_satellite_dish_think ( edict_t * self ) ;
|
||||
extern void misc_satellite_dish_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
|
||||
extern void misc_strogg_ship_use ( edict_t * self , edict_t * other , edict_t * activator ) ;
|
||||
|
|
|
@ -579,6 +579,7 @@
|
|||
{"drop_make_touchable", (byte *)drop_make_touchable},
|
||||
{"drop_temp_touch", (byte *)drop_temp_touch},
|
||||
{"droptofloor", (byte *)droptofloor},
|
||||
{"dynamicspawn_touch", (byte *)dynamicspawn_touch},
|
||||
{"enfbolt_touch", (byte *)enfbolt_touch},
|
||||
{"enforcer_attack", (byte *)enforcer_attack},
|
||||
{"enforcer_die", (byte *)enforcer_die},
|
||||
|
@ -1004,6 +1005,7 @@
|
|||
{"misc_easterchick_think", (byte *)misc_easterchick_think},
|
||||
{"misc_eastertank_think", (byte *)misc_eastertank_think},
|
||||
{"misc_nuke_core_use", (byte *)misc_nuke_core_use},
|
||||
{"misc_flare_use", (byte *)misc_flare_use},
|
||||
{"misc_satellite_dish_think", (byte *)misc_satellite_dish_think},
|
||||
{"misc_satellite_dish_use", (byte *)misc_satellite_dish_use},
|
||||
{"misc_strogg_ship_use", (byte *)misc_strogg_ship_use},
|
||||
|
|
|
@ -89,6 +89,8 @@ extern void SP_misc_gib_leg ( edict_t * ent ) ;
|
|||
extern void SP_misc_insane(edict_t * self);
|
||||
extern void SP_misc_nuke ( edict_t * ent ) ;
|
||||
extern void SP_misc_nuke_core ( edict_t * ent ) ;
|
||||
extern void SP_misc_flare ( edict_t * ent ) ;
|
||||
extern void SP_misc_model ( edict_t * ent ) ;
|
||||
extern void SP_misc_satellite_dish ( edict_t * ent ) ;
|
||||
extern void SP_misc_strogg_ship ( edict_t * ent ) ;
|
||||
extern void SP_misc_teleporter ( edict_t * ent ) ;
|
||||
|
|
|
@ -94,6 +94,8 @@
|
|||
{"misc_insane", SP_misc_insane},
|
||||
{"misc_nuke", SP_misc_nuke},
|
||||
{"misc_nuke_core", SP_misc_nuke_core},
|
||||
{"misc_flare", SP_misc_flare},
|
||||
{"misc_model", SP_misc_model},
|
||||
{"misc_satellite_dish", SP_misc_satellite_dish},
|
||||
{"misc_strogg_ship", SP_misc_strogg_ship},
|
||||
{"misc_teleporter", SP_misc_teleporter},
|
||||
|
|
Loading…
Reference in a new issue