mirror of
https://github.com/nzp-team/quakespasm.git
synced 2024-11-22 11:51:04 +00:00
NX/VITA: Fix Muzzleflash offsets (with help from shpuld)
This commit is contained in:
parent
fb428464cb
commit
a47a06b5cb
2 changed files with 39 additions and 42 deletions
|
@ -541,7 +541,7 @@ void CL_RelinkEntities (void)
|
|||
|
||||
AngleVectors (tempangles, v_forward, v_right, v_up);
|
||||
VectorCopy (cl_entities[cl.viewentity].origin, smokeorg);
|
||||
smokeorg[2] += 32;
|
||||
smokeorg[2] += cl.viewheight;
|
||||
VectorCopy(smokeorg,start);
|
||||
|
||||
right_offset = sv_player->v.Flash_Offset[0];
|
||||
|
@ -552,9 +552,6 @@ void CL_RelinkEntities (void)
|
|||
up_offset = up_offset/1000;
|
||||
forward_offset = forward_offset/1000;
|
||||
|
||||
up_offset -= (34 - cl.viewheight);
|
||||
right_offset -= 4;
|
||||
|
||||
VectorMA (start, forward_offset, v_forward ,smokeorg);
|
||||
VectorMA (smokeorg, up_offset, v_up ,smokeorg);
|
||||
VectorMA (smokeorg, right_offset, v_right ,smokeorg);
|
||||
|
|
|
@ -862,8 +862,7 @@ void AddParticle (part_type_t type, vec3_t org, int count, float size, double ti
|
|||
case p_muzzleflash3:
|
||||
VectorCopy (org, p->org);
|
||||
p->rotspeed = (rand() & 45) - 90;
|
||||
//p->size = size * (rand() % 6) / 4;//r00k
|
||||
p->size = size * (0.85 +((0.05 * (rand() % 16)) * 0.35));//naievil: resultant size range: [size * 0.85, size * 1.1125)
|
||||
p->size = size * (0.75 +((0.05 * (rand() % 20)) * 0.5));//blubs: resultant size range: [size * 0.75, size * 1.25)
|
||||
break;
|
||||
|
||||
case p_flare:
|
||||
|
@ -1717,53 +1716,54 @@ inline static void QMB_UpdateParticles(void)
|
|||
|
||||
// naievil -- hacky particle drawing...NOT OPTIMIZED
|
||||
void DRAW_PARTICLE_BILLBOARD(particle_texture_t *ptex, particle_t *p, vec3_t *coord) {
|
||||
float scale;
|
||||
vec3_t up, right, p_downleft, p_upleft, p_downright, p_upright;
|
||||
GLubyte color[4], *c;
|
||||
|
||||
float scale;
|
||||
vec3_t up, right, p_up, p_right, p_upright;
|
||||
GLubyte color[4], *c;
|
||||
VectorScale (vup, 1.5, up);
|
||||
VectorScale (vright, 1.5, right);
|
||||
|
||||
VectorScale (vup, 1.5, up);
|
||||
VectorScale (vright, 1.5, right);
|
||||
glEnable (GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glDepthMask (GL_FALSE);
|
||||
glBegin (GL_QUADS);
|
||||
|
||||
glEnable (GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glDepthMask (GL_FALSE);
|
||||
glBegin (GL_QUADS);
|
||||
scale = p->size;
|
||||
color[0] = p->color[0];
|
||||
color[1] = p->color[1];
|
||||
color[2] = p->color[2];
|
||||
color[3] = p->color[3];
|
||||
glColor4ubv(color);
|
||||
|
||||
scale = p->size;
|
||||
color[0] = p->color[0];
|
||||
color[1] = p->color[1];
|
||||
color[2] = p->color[2];
|
||||
color[3] = p->color[3];
|
||||
glColor4ubv(color);
|
||||
float subTexLeft = ptex->coords[p->texindex][0];
|
||||
float subTexTop = ptex->coords[p->texindex][1];
|
||||
float subTexRight = ptex->coords[p->texindex][2];
|
||||
float subTexBottom = ptex->coords[p->texindex][3];
|
||||
|
||||
float subTexLeft = ptex->coords[p->texindex][0];
|
||||
float subTexTop = ptex->coords[p->texindex][1];
|
||||
float subTexRight = ptex->coords[p->texindex][2];
|
||||
float subTexBottom = ptex->coords[p->texindex][3];
|
||||
glTexCoord2f(subTexLeft, subTexTop);
|
||||
VectorMA(p->org, -scale * 0.5, up, p_downleft);
|
||||
VectorMA(p_downleft, -scale * 0.5, right, p_downleft);
|
||||
glVertex3fv (p_downleft);
|
||||
|
||||
glTexCoord2f(subTexLeft, subTexTop);
|
||||
glVertex3fv (p->org);
|
||||
glTexCoord2f(subTexRight, subTexTop);
|
||||
VectorMA (p_downleft, scale, up, p_upleft);
|
||||
glVertex3fv (p_upleft);
|
||||
|
||||
glTexCoord2f(subTexRight, subTexTop);
|
||||
VectorMA (p->org, scale, up, p_up);
|
||||
glVertex3fv (p_up);
|
||||
glTexCoord2f(subTexRight, subTexBottom);
|
||||
VectorMA (p_upleft, scale, right, p_upright);
|
||||
glVertex3fv (p_upright);
|
||||
|
||||
glTexCoord2f(subTexRight, subTexBottom);
|
||||
VectorMA (p_up, scale, right, p_upright);
|
||||
glVertex3fv (p_upright);
|
||||
glTexCoord2f(subTexLeft, subTexBottom);
|
||||
VectorMA (p_downleft, scale, right, p_downright);
|
||||
glVertex3fv (p_downright);
|
||||
|
||||
glTexCoord2f(subTexLeft, subTexBottom);
|
||||
VectorMA (p->org, scale, right, p_right);
|
||||
glVertex3fv (p_right);
|
||||
|
||||
glEnd ();
|
||||
glEnd ();
|
||||
|
||||
|
||||
glDepthMask (GL_TRUE);
|
||||
glDisable (GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glColor3f(1,1,1);
|
||||
glDepthMask (GL_TRUE);
|
||||
glDisable (GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glColor3f(1,1,1);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue