typedef enum
{
- pt_static, pt_rain, pt_bubble, pt_blood
+ pt_static, pt_rain, pt_bubble, pt_blood, pt_grow
}
ptype_t;
k = count / 4;
while(k--)
{
- particle(pt_static, PARTICLE_BILLBOARD, 0x101010, 0x202020, tex_smoke[rand()&7], true, true, 4, 4, 255, 1024, 9999, -0.2, 0, org[0] + 0.125f * lhrandom(-count, count), org[1] + 0.125f * lhrandom (-count, count), org[2] + 0.125f * lhrandom(-count, count), lhrandom(-8, 8), lhrandom(-8, 8), lhrandom(0, 16), 0, 0, 0, 0, 0, 0);
+ particle(pt_grow, PARTICLE_BILLBOARD, 0x101010, 0x202020, tex_smoke[rand()&7], true, true, 3, 3, 255, 1024, 9999, -0.2, 0, org[0] + 0.125f * lhrandom(-count, count), org[1] + 0.125f * lhrandom (-count, count), org[2] + 0.125f * lhrandom(-count, count), lhrandom(-8, 8), lhrandom(-8, 8), lhrandom(0, 16), 15, 0, 0, 0, 0, 0);
}
}
dec = 3;
if (smoke)
{
- particle(pt_static, PARTICLE_BILLBOARD, 0x303030, 0x606060, tex_smoke[rand()&7], false, true, dec, dec, 32, 64, 9999, 0, 0, pos[0], pos[1], pos[2], lhrandom(-5, 5), lhrandom(-5, 5), lhrandom(-5, 5), 0, 0, 0, 0, 0, 0);
+ particle(pt_grow, PARTICLE_BILLBOARD, 0x303030, 0x606060, tex_smoke[rand()&7], false, true, dec, dec, 32, 64, 9999, 0, 0, pos[0], pos[1], pos[2], lhrandom(-5, 5), lhrandom(-5, 5), lhrandom(-5, 5), 6, 0, 0, 0, 0, 0);
particle(pt_static, PARTICLE_BILLBOARD, 0x801010, 0xFFA020, tex_smoke[rand()&7], false, true, dec, dec, 128, 768, 9999, 0, 0, pos[0], pos[1], pos[2], lhrandom(-20, 20), lhrandom(-20, 20), lhrandom(-20, 20), 0, 0, 0, 0, 0, 0);
}
if (bubbles)
if (a != CONTENTS_EMPTY && a != CONTENTS_SKY)
p->die = -1;
break;
+ case pt_grow:
+ p->scalex += frametime * p->time2;
+ p->scaley += frametime * p->time2;
+ break;
default:
printf("unknown particle type %i\n", p->type);
p->die = -1;
cg *= r_colorscale;
cb *= r_colorscale;
- varray_color[ 0] = varray_color[ 4] = varray_color[ 8] = varray_color[12] = cr;
- varray_color[ 1] = varray_color[ 5] = varray_color[ 9] = varray_color[13] = cg;
- varray_color[ 2] = varray_color[ 6] = varray_color[10] = varray_color[14] = cb;
- varray_color[ 3] = varray_color[ 7] = varray_color[11] = varray_color[15] = ca;
varray_texcoord[0][0] = tex->s2;varray_texcoord[0][1] = tex->t1;
varray_texcoord[0][2] = tex->s1;varray_texcoord[0][3] = tex->t1;
varray_texcoord[0][4] = tex->s1;varray_texcoord[0][5] = tex->t2;
glTexCoord2f(tex->s2, tex->t2);glVertex3f(varray_vertex[12], varray_vertex[13], varray_vertex[14]);
glEnd();
#else
+ GL_Color(cr, cg, cb, ca);
R_Mesh_Draw(4, 2, polygonelements);
#endif
}