Fireworks look much better, and random colors for each firework yay!
This commit is contained in:
parent
d7bb4932e6
commit
eb7206aa30
13
graphics.c
13
graphics.c
@ -1407,18 +1407,7 @@ void draw_parts(pixel *vid)
|
|||||||
{
|
{
|
||||||
x = nx;
|
x = nx;
|
||||||
y = ny;
|
y = ny;
|
||||||
if(parts[i].life>=50&&parts[i].life<=250)
|
blendpixel(vid,x,y,parts[i].tmp,parts[i].ctype,parts[i].flags,255);
|
||||||
blendpixel(vid,x,y,255,5,20,255);
|
|
||||||
if(parts[i].life>=251&&parts[i].life<=450)
|
|
||||||
blendpixel(vid,x,y,12,245,2,255);
|
|
||||||
if(parts[i].life>=451&&parts[i].life<=650)
|
|
||||||
blendpixel(vid,x,y,1,5,255,255);
|
|
||||||
if(parts[i].life>=651&&parts[i].life<=850)
|
|
||||||
blendpixel(vid,x,y,0,139,139,255);
|
|
||||||
if(parts[i].life>=851&&parts[i].life<=1050)
|
|
||||||
blendpixel(vid,x,y,238,154,0,255);
|
|
||||||
if(parts[i].life>=1051&&parts[i].life<=1250)
|
|
||||||
blendpixel(vid,x,y,24,154,236,255);
|
|
||||||
}
|
}
|
||||||
else if(t==PT_LNTG&&cmode == 6)
|
else if(t==PT_LNTG&&cmode == 6)
|
||||||
{
|
{
|
||||||
|
40
powder.c
40
powder.c
@ -1911,41 +1911,42 @@ player[23] = 1;
|
|||||||
|
|
||||||
create_part(-1, x , y-1 , PT_FWRK);
|
create_part(-1, x , y-1 , PT_FWRK);
|
||||||
r = pmap[y-1][x];
|
r = pmap[y-1][x];
|
||||||
parts[r>>8].vy = rand()%5-10;
|
parts[r>>8].vy = rand()%10-25;
|
||||||
parts[r>>8].vx = rand()%5-rand()%5;
|
parts[r>>8].vx = rand()%30-rand()%30;
|
||||||
parts[r>>8].life=rand()%30+50;
|
parts[r>>8].life=rand()%30+50;
|
||||||
parts[i].type=PT_NONE;
|
parts[i].type=PT_NONE;
|
||||||
}
|
}
|
||||||
if(parts[i].life>1)
|
if(parts[i].life>1)
|
||||||
{
|
{
|
||||||
if(parts[i].life>5)
|
|
||||||
{
|
|
||||||
parts[i].vy += rand()%3-rand()%5;
|
|
||||||
parts[i].vx += rand()%3-rand()%3;
|
|
||||||
}
|
|
||||||
parts[i].life--;
|
parts[i].life--;
|
||||||
|
if(parts[i].life>=90&&parts[i].type==PT_FWRK)
|
||||||
|
parts[i].life=0;
|
||||||
}
|
}
|
||||||
if(parts[i].life==1||(parts[i].vy>6&&parts[i].life>1))
|
if((parts[i].life<3&&parts[i].life>0)||parts[i].vy>6&&parts[i].life>0)
|
||||||
{
|
{
|
||||||
int q = (rand()%6+1)*200+50;
|
int q = (rand()%255+1);
|
||||||
|
int w = (rand()%255+1);
|
||||||
|
int e = (rand()%255+1);
|
||||||
for(nx=-1; nx<2; nx++)
|
for(nx=-1; nx<2; nx++)
|
||||||
for(ny=-1; ny<2; ny++)
|
for(ny=-2; ny<3; ny++)
|
||||||
if(x+nx>=0 && y+ny>0 &&
|
if(x+nx>=0 && y+ny>0 &&
|
||||||
x+nx<XRES && y+ny<YRES && (nx || ny))
|
x+nx<XRES && y+ny<YRES)
|
||||||
{
|
{
|
||||||
if(5>=rand()%8)
|
if(5>=rand()%8)
|
||||||
{
|
{
|
||||||
|
|
||||||
create_part(-1, x+nx, y+ny , PT_DUST);
|
create_part(-1, x+nx, y+ny , PT_DUST);
|
||||||
a= pmap[y+ny][x+nx];
|
a= pmap[y+ny][x+nx];
|
||||||
parts[a>>8].vy = rand()%(ny*16+4)-rand()%9;
|
parts[a>>8].vy = -(rand()%8+1);
|
||||||
parts[a>>8].vx = rand()%(nx*16+4)-rand()%9;
|
parts[a>>8].vx = rand()%8-rand()%8+(parts[i].vx)*2;
|
||||||
parts[a>>8].life= q;
|
parts[a>>8].life= rand()%75+175;
|
||||||
|
parts[a>>8].tmp=q;
|
||||||
|
parts[a>>8].flags=w;
|
||||||
|
parts[a>>8].ctype=e;
|
||||||
parts[a>>8].temp= rand()%20+600;
|
parts[a>>8].temp= rand()%20+600;
|
||||||
parts[i].type=PT_NONE;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
parts[i].type=PT_NONE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(t==PT_DUST&&!parts[i].life==0)
|
if(t==PT_DUST&&!parts[i].life==0)
|
||||||
@ -1953,10 +1954,7 @@ player[23] = 1;
|
|||||||
if(parts[i].life>=0)
|
if(parts[i].life>=0)
|
||||||
{
|
{
|
||||||
parts[i].life--;
|
parts[i].life--;
|
||||||
if(parts[i].life<=50||(parts[i].life>248&&parts[i].life<252)||(parts[i].life>448&&parts[i].life<452)||(parts[i].life>648&&parts[i].life<652)||
|
if(parts[i].life<1)
|
||||||
(parts[i].life>848&&parts[i].life<852)||(parts[i].life>1048&&parts[i].life<1052)||parts[i].life==rand()%50+50||parts[i].life==rand()%50+10||
|
|
||||||
parts[i].life==rand()%50+250||parts[i].life==rand()%50+350||parts[i].life==rand()%50+450||parts[i].life==rand()%50+550||parts[i].life==rand()%50+50||parts[i].life==rand()%50+10||
|
|
||||||
parts[i].life==rand()%50+250||parts[i].life==rand()%50+350||parts[i].life==rand()%50+450||parts[i].life==rand()%50+550)
|
|
||||||
parts[i].type=PT_NONE;
|
parts[i].type=PT_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
powder.h
2
powder.h
@ -253,7 +253,7 @@ static const part_type ptypes[PT_NUM] =
|
|||||||
{"THRM", PIXPACK(0xA08090), 0.4f, 0.04f * CFDS, 0.94f, 0.95f, -0.1f, 0.3f, 0.00f, 0.000f * CFDS, 1, 0, 0, 2, 2, 1, SC_POWDERS, R_TEMP+0.0f +273.15f, 211, "Thermite."},
|
{"THRM", PIXPACK(0xA08090), 0.4f, 0.04f * CFDS, 0.94f, 0.95f, -0.1f, 0.3f, 0.00f, 0.000f * CFDS, 1, 0, 0, 2, 2, 1, SC_POWDERS, R_TEMP+0.0f +273.15f, 211, "Thermite."},
|
||||||
{"GLOW", PIXPACK(0x445544), 0.3f, 0.02f * CFDS, 0.95f, 0.80f, 0.0f, 0.15f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 2, 1, SC_LIQUID, R_TEMP+20.0f+273.15f, 44, "Glow."},
|
{"GLOW", PIXPACK(0x445544), 0.3f, 0.02f * CFDS, 0.95f, 0.80f, 0.0f, 0.15f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 2, 1, SC_LIQUID, R_TEMP+20.0f+273.15f, 44, "Glow."},
|
||||||
{"BRCK", PIXPACK(0x808080), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 1, 1, SC_SOLIDS, R_TEMP+0.0f +273.15f, 251, "Brick, breakable building material."},
|
{"BRCK", PIXPACK(0x808080), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 1, 1, SC_SOLIDS, R_TEMP+0.0f +273.15f, 251, "Brick, breakable building material."},
|
||||||
{"FWRK", PIXPACK(0x707020), 0.4f, 0.01f * CFDS, 0.99f, 0.95f, 0.0f, 0.4f, 0.00f, 0.000f * CFDS, 1, 0, 0, 0, 0, 1, SC_POWDERS, R_TEMP+0.0f+273.15f, 100, "Fireworks!! in progress"},
|
{"FWRK", PIXPACK(0x666666), 0.4f, 0.01f * CFDS, 0.99f, 0.95f, 0.0f, 0.4f, 0.00f, 0.000f * CFDS, 1, 0, 0, 0, 0, 1, SC_POWDERS, R_TEMP+0.0f+273.15f, 100, "Fireworks!! in progress"},
|
||||||
|
|
||||||
//Name Colour Advec Airdrag Airloss Loss Collid Grav Diffus Hotair Fal Burn Exp Mel Hrd M Section H Ins(real world, by triclops200) Description
|
//Name Colour Advec Airdrag Airloss Loss Collid Grav Diffus Hotair Fal Burn Exp Mel Hrd M Section H Ins(real world, by triclops200) Description
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user