void CG_BloodPool (localEntity_t *le, qhandle_t pshader, trace_t *tr) { cparticle_t *p; qboolean legit; vec3_t start; float rndSize; if (!pshader) CG_Printf ("CG_BloodPool pshader == ZERO!\n"); if (!free_particles) return; VectorCopy (tr->endpos, start); legit = ValidBloodPool (start); if (!legit) return; p = free_particles; free_particles = p->next; p->next = active_particles; active_particles = p; p->time = cg.time; p->endtime = cg.time + 3000; p->startfade = p->endtime; p->alpha = 1.0; p->alphavel = 0; p->roll = 0; p->pshader = pshader; rndSize = 0.4 + random()*0.6; p->width = 8*rndSize; p->height = 8*rndSize; p->endheight = 16*rndSize; p->endwidth = 16*rndSize; p->type = P_FLAT_SCALEUP; VectorCopy(start, p->org ); p->vel[0] = 0; p->vel[1] = 0; p->vel[2] = 0; VectorClear( p->accel ); p->rotate = qfalse; p->roll = rand()%179; p->alpha = 0.75; p->color = BLOODRED; }
void CG_BloodPool (localEntity_t *le, qhandle_t pshader, trace_t *tr) { cparticle_t *p; vector3 start; float rndSize; if (!pshader) trap->Print ("CG_BloodPool pshader == ZERO!\n"); if (!free_particles) return; VectorCopy (&tr->endpos, &start); if ( !ValidBloodPool( &start ) ) return; p = free_particles; free_particles = p->next; p->next = active_particles; active_particles = p; p->time = cg.time; p->endtime = cg.time + 3000; p->startfade = p->endtime; p->alpha = 1.0; p->alphavel = 0; p->roll = 0; p->pshader = pshader; rndSize = 0.4 + random()*0.6; p->width = 8*rndSize; p->height = 8*rndSize; p->endheight = 16*rndSize; p->endwidth = 16*rndSize; p->type = P_FLAT_SCALEUP; VectorCopy(&start, &p->org ); p->vel.x = 0; p->vel.y = 0; p->vel.z = 0; VectorClear( &p->accel ); p->rotate = qfalse; p->roll = rand()%179; p->alpha = 0.75; p->color = BLOODRED; }