}
}
// bullet hole
- if (cl_stainmaps.integer) R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
+ R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
CL_SpawnDecalParticleForPoint(center, 6, 3, 255, tex_bulletdecal[rand()&7], 0xFFFFFF, 0xFFFFFF);
}
else if (effectnameindex == EFFECT_TE_SPIKEQUAD)
}
}
// bullet hole
- if (cl_stainmaps.integer) R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
+ R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
CL_SpawnDecalParticleForPoint(center, 6, 3, 255, tex_bulletdecal[rand()&7], 0xFFFFFF, 0xFFFFFF);
CL_AllocLightFlash(NULL, &tempmatrix, 100, 0.15f, 0.15f, 1.5f, 500, 0.2, 0, -1, true, 1, 0.25, 1, 0, 0, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE);
}
}
}
// bullet hole
- if (cl_stainmaps.integer) R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
+ R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
CL_SpawnDecalParticleForPoint(center, 6, 3, 255, tex_bulletdecal[rand()&7], 0xFFFFFF, 0xFFFFFF);
}
else if (effectnameindex == EFFECT_TE_SUPERSPIKEQUAD)
}
}
// bullet hole
- if (cl_stainmaps.integer) R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
+ R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
CL_SpawnDecalParticleForPoint(center, 6, 3, 255, tex_bulletdecal[rand()&7], 0xFFFFFF, 0xFFFFFF);
CL_AllocLightFlash(NULL, &tempmatrix, 100, 0.15f, 0.15f, 1.5f, 500, 0.2, 0, -1, true, 1, 0.25, 1, 0, 0, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE);
}
else if (effectnameindex == EFFECT_TE_PLASMABURN)
{
// plasma scorch mark
- if (cl_stainmaps.integer) R_Stain(center, 48, 96, 96, 96, 32, 128, 128, 128, 32);
+ R_Stain(center, 48, 96, 96, 96, 32, 128, 128, 128, 32);
CL_SpawnDecalParticleForPoint(center, 6, 6, 255, tex_bulletdecal[rand()&7], 0xFFFFFF, 0xFFFFFF);
CL_AllocLightFlash(NULL, &tempmatrix, 200, 1, 1, 1, 1000, 0.2, 0, -1, true, 1, 0.25, 1, 0, 0, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE);
}
}
}
// bullet hole
- if (cl_stainmaps.integer) R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
+ R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
CL_SpawnDecalParticleForPoint(center, 6, 3, 255, tex_bulletdecal[rand()&7], 0xFFFFFF, 0xFFFFFF);
}
else if (effectnameindex == EFFECT_TE_GUNSHOTQUAD)
}
}
// bullet hole
- if (cl_stainmaps.integer) R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
+ R_Stain(center, 32, 96, 96, 96, 24, 128, 128, 128, 24);
CL_SpawnDecalParticleForPoint(center, 6, 3, 255, tex_bulletdecal[rand()&7], 0xFFFFFF, 0xFFFFFF);
CL_AllocLightFlash(NULL, &tempmatrix, 100, 0.15f, 0.15f, 1.5f, 500, 0.2, 0, -1, true, 1, 0.25, 1, 0, 0, LIGHTFLAG_NORMALMODE | LIGHTFLAG_REALTIMEMODE);
}
else if (effectnameindex == EFFECT_TE_TEI_PLASMAHIT)
{
float f;
- if (cl_stainmaps.integer)
- R_Stain(center, 40, 96, 96, 96, 40, 128, 128, 128, 40);
+ R_Stain(center, 40, 96, 96, 96, 40, 128, 128, 128, 40);
CL_SpawnDecalParticleForPoint(center, 6, 8, 255, tex_bulletdecal[rand()&7], 0xFFFFFF, 0xFFFFFF);
if (cl_particles_smoke.integer)
for (f = 0;f < count;f += 4.0f / cl_particles_quality.value)
trace_t trace;
//vec3_t v;
//vec3_t v2;
- if (cl_stainmaps.integer)
- R_Stain(org, 96, 80, 80, 80, 64, 176, 176, 176, 64);
+ R_Stain(org, 96, 80, 80, 80, 64, 176, 176, 176, 64);
CL_SpawnDecalParticleForPoint(org, 40, 48, 255, tex_bulletdecal[rand()&7], 0xFFFFFF, 0xFFFFFF);
if (cl_particles_quake.integer)
static void r_part_newmap(void)
{
+ CL_Particles_LoadEffectInfo();
}
#define BATCHSIZE 256
-int particle_element3i[BATCHSIZE*6];
+unsigned short particle_elements[BATCHSIZE*6];
void R_Particles_Init (void)
{
int i;
for (i = 0;i < BATCHSIZE;i++)
{
- particle_element3i[i*6+0] = i*4+0;
- particle_element3i[i*6+1] = i*4+1;
- particle_element3i[i*6+2] = i*4+2;
- particle_element3i[i*6+3] = i*4+0;
- particle_element3i[i*6+4] = i*4+2;
- particle_element3i[i*6+5] = i*4+3;
+ particle_elements[i*6+0] = i*4+0;
+ particle_elements[i*6+1] = i*4+1;
+ particle_elements[i*6+2] = i*4+2;
+ particle_elements[i*6+3] = i*4+0;
+ particle_elements[i*6+4] = i*4+2;
+ particle_elements[i*6+5] = i*4+3;
}
Cvar_RegisterVariable(&r_drawparticles);
GL_BlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_COLOR);
R_Mesh_TexBind(0, R_GetTexture(particletexture[63].texture));
GL_LockArrays(0, numsurfaces*4);
- R_Mesh_Draw(0, numsurfaces * 4, numsurfaces * 2, particle_element3i, 0, 0);
+ R_Mesh_Draw(0, numsurfaces * 4, 0, numsurfaces * 2, NULL, particle_elements, 0, 0);
GL_LockArrays(0, 0);
}
}
batchcount = surfacelistindex - batchstart;
- R_Mesh_Draw(batchstart * 4, batchcount * 4, batchcount * 2, particle_element3i + batchstart * 6, 0, 0);
+ R_Mesh_Draw(batchstart * 4, batchcount * 4, batchstart * 2, batchcount * 2, NULL, particle_elements, 0, 0);
}
GL_LockArrays(0, 0);
}
// blood - splash on solid
if (trace.hitq3surfaceflags & Q3SURFACEFLAG_NOMARKS)
goto killparticle;
- if (cl_stainmaps.integer)
- R_Stain(p->org, 32, 32, 16, 16, (int)(p->alpha * p->size * (1.0f / 40.0f)), 192, 48, 48, (int)(p->alpha * p->size * (1.0f / 40.0f)));
+ R_Stain(p->org, 32, 32, 16, 16, (int)(p->alpha * p->size * (1.0f / 40.0f)), 192, 48, 48, (int)(p->alpha * p->size * (1.0f / 40.0f)));
if (cl_decals.integer)
{
// create a decal for the blood splat