Little different shape of particle

This commit is contained in:
Denis Pauk 2018-04-10 23:24:53 +03:00
parent 14c934762d
commit 23d25db601
3 changed files with 12 additions and 6 deletions

View File

@ -54,7 +54,7 @@ static void R_DrawParticle(partparms_t *partparms)
byte *pdest; byte *pdest;
zvalue_t *pz; zvalue_t *pz;
int color = pparticle->color; int color = pparticle->color;
int i, izi, pix, count, u, v; int i, izi, pix, count, u, v, min_int, max_int;
/* /*
** transform the particle ** transform the particle
@ -107,6 +107,9 @@ static void R_DrawParticle(partparms_t *partparms)
*/ */
count = pix; count = pix;
min_int = pix / 2;
max_int = (pix * 2) - min_int;
switch (level) { switch (level) {
case PARTICLE_33 : case PARTICLE_33 :
for ( ; count ; count--, pz += d_zwidth, pdest += r_screenwidth) for ( ; count ; count--, pz += d_zwidth, pdest += r_screenwidth)
@ -114,7 +117,8 @@ static void R_DrawParticle(partparms_t *partparms)
//FIXME--do it in blocks of 8? //FIXME--do it in blocks of 8?
for (i=0 ; i<pix ; i++) for (i=0 ; i<pix ; i++)
{ {
if (pz[i] <= izi) int pos = i + count;
if (pos >= min_int && pos <= max_int && pz[i] <= izi)
{ {
pz[i] = izi; pz[i] = izi;
pdest[i] = vid_alphamap[color + ((int)pdest[i]<<8)]; pdest[i] = vid_alphamap[color + ((int)pdest[i]<<8)];
@ -130,7 +134,8 @@ static void R_DrawParticle(partparms_t *partparms)
{ {
for (i=0 ; i<pix ; i++) for (i=0 ; i<pix ; i++)
{ {
if (pz[i] <= izi) int pos = i + count;
if (pos >= min_int && pos <= max_int && pz[i] <= izi)
{ {
pz[i] = izi; pz[i] = izi;
pdest[i] = vid_alphamap[color_part + (int)pdest[i]]; pdest[i] = vid_alphamap[color_part + (int)pdest[i]];
@ -145,7 +150,8 @@ static void R_DrawParticle(partparms_t *partparms)
{ {
for (i=0 ; i<pix ; i++) for (i=0 ; i<pix ; i++)
{ {
if (pz[i] <= izi) int pos = i + count;
if (pos >= min_int && pos <= max_int && pz[i] <= izi)
{ {
pz[i] = izi; pz[i] = izi;
pdest[i] = color; pdest[i] = color;

View File

@ -41,7 +41,7 @@ static int rd_buffersize;
static void (*rd_flush)(int target, char *buffer); static void (*rd_flush)(int target, char *buffer);
void void
Com_BeginRedirect(int target, char *buffer, int buffersize, void (*flush)) Com_BeginRedirect(int target, char *buffer, int buffersize, void (*flush)(int, char *))
{ {
if (!target || !buffer || !buffersize || !flush) if (!target || !buffer || !buffersize || !flush)
{ {

View File

@ -708,7 +708,7 @@ void FS_CreatePath(char *path);
#define PRINT_ALL 0 #define PRINT_ALL 0
#define PRINT_DEVELOPER 1 /* only print when "developer 1" */ #define PRINT_DEVELOPER 1 /* only print when "developer 1" */
void Com_BeginRedirect(int target, char *buffer, int buffersize, void (*flush)); void Com_BeginRedirect(int target, char *buffer, int buffersize, void (*flush)(int, char *));
void Com_EndRedirect(void); void Com_EndRedirect(void);
void Com_Printf(char *fmt, ...) __attribute__ ((format (printf, 1, 2))); void Com_Printf(char *fmt, ...) __attribute__ ((format (printf, 1, 2)));
void Com_DPrintf(char *fmt, ...) __attribute__ ((format (printf, 1, 2))); void Com_DPrintf(char *fmt, ...) __attribute__ ((format (printf, 1, 2)));