mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-04-10 09:22:41 +02:00
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;
|
||||
y = ny;
|
||||
if(parts[i].life>=50&&parts[i].life<=250)
|
||||
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);
|
||||
blendpixel(vid,x,y,parts[i].tmp,parts[i].ctype,parts[i].flags,255);
|
||||
}
|
||||
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);
|
||||
r = pmap[y-1][x];
|
||||
parts[r>>8].vy = rand()%5-10;
|
||||
parts[r>>8].vx = rand()%5-rand()%5;
|
||||
parts[r>>8].vy = rand()%10-25;
|
||||
parts[r>>8].vx = rand()%30-rand()%30;
|
||||
parts[r>>8].life=rand()%30+50;
|
||||
parts[i].type=PT_NONE;
|
||||
}
|
||||
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--;
|
||||
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(ny=-1; ny<2; ny++)
|
||||
for(ny=-2; ny<3; ny++)
|
||||
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)
|
||||
{
|
||||
|
||||
create_part(-1, x+nx, y+ny , PT_DUST);
|
||||
a= pmap[y+ny][x+nx];
|
||||
parts[a>>8].vy = rand()%(ny*16+4)-rand()%9;
|
||||
parts[a>>8].vx = rand()%(nx*16+4)-rand()%9;
|
||||
parts[a>>8].life= q;
|
||||
parts[a>>8].vy = -(rand()%8+1);
|
||||
parts[a>>8].vx = rand()%8-rand()%8+(parts[i].vx)*2;
|
||||
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[i].type=PT_NONE;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
parts[i].type=PT_NONE;
|
||||
}
|
||||
}
|
||||
if(t==PT_DUST&&!parts[i].life==0)
|
||||
@ -1953,10 +1954,7 @@ player[23] = 1;
|
||||
if(parts[i].life>=0)
|
||||
{
|
||||
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)||
|
||||
(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)
|
||||
if(parts[i].life<1)
|
||||
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."},
|
||||
{"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."},
|
||||
{"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
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user