Merge branch 'master' of git://github.com/cracker64/The-Powder-Toy

This commit is contained in:
Simon 2011-01-01 12:43:44 +00:00
commit c3eb6e11f9
2 changed files with 38 additions and 13 deletions

View File

@ -1521,14 +1521,38 @@ void draw_parts(pixel *vid)
}
else if(t==PT_QRTZ || t==PT_PQRT)
{
int q = parts[i].tmp;
cr = q * 16 + PIXR(ptypes[t].pcolors);
cg = q * 16 + PIXG(ptypes[t].pcolors);
cb = q * 16 + PIXB(ptypes[t].pcolors);
cr = cr>255?255:cr;
cg = cg>255?255:cg;
cb = cb>255?255:cb;
blendpixel(vid, nx, ny, cr, cg, cb, 255);
int z = parts[i].tmp;
if(parts[i].temp>(pstates[t].ltemp-800.0f))
{
float frequency = 3.1415/(2*pstates[t].ltemp-(pstates[t].ltemp-800.0f));
int q = (parts[i].temp>pstates[t].ltemp)?pstates[t].ltemp-(pstates[t].ltemp-800.0f):parts[i].temp-(pstates[t].ltemp-800.0f);
cr = sin(frequency*q) * 226 + (z * 16 + PIXR(ptypes[t].pcolors));
cg = sin(frequency*q*4.55 +3.14) * 34 + (z * 16 + PIXR(ptypes[t].pcolors));
cb = sin(frequency*q*2.22 +3.14) * 64 + (z * 16 + PIXR(ptypes[t].pcolors));
if(cr>=255)
cr = 255;
if(cg>=255)
cg = 255;
if(cb>=255)
cb = 255;
if(cr<=0)
cr = 0;
if(cg<=0)
cg = 0;
if(cb<=0)
cb = 0;
blendpixel(vid, nx, ny, cr, cg, cb, 255);
}
else
{
cr = z * 16 + PIXR(ptypes[t].pcolors);
cg = z * 16 + PIXG(ptypes[t].pcolors);
cb = z * 16 + PIXB(ptypes[t].pcolors);
cr = cr>255?255:cr;
cg = cg>255?255:cg;
cb = cb>255?255:cb;
blendpixel(vid, nx, ny, cr, cg, cb, 255);
}
}
else if(t==PT_SPNG)
{
@ -2528,10 +2552,10 @@ void draw_parts(pixel *vid)
}
}
else if(ptypes[t].properties&PROP_HOT_GLOW && parts[i].temp>473.0f)
else if(ptypes[t].properties&PROP_HOT_GLOW && parts[i].temp>(pstates[t].ltemp-800.0f))
{
float frequency = 3.1415/(2*pstates[t].ltemp-473.0);
int q = (parts[i].temp>pstates[t].ltemp)?pstates[t].ltemp-473:parts[i].temp-473;
float frequency = 3.1415/(2*pstates[t].ltemp-(pstates[t].ltemp-800.0f));
int q = (parts[i].temp>pstates[t].ltemp)?pstates[t].ltemp-(pstates[t].ltemp-800.0f):parts[i].temp-(pstates[t].ltemp-800.0f);
cr = sin(frequency*q) * 226 + PIXR(ptypes[t].pcolors);
cg = sin(frequency*q*4.55 +3.14) * 34 + PIXG(ptypes[t].pcolors);
cb = sin(frequency*q*2.22 +3.14) * 64 + PIXB(ptypes[t].pcolors);

View File

@ -4882,7 +4882,7 @@ killed:
}
}
}
else if(parts[i].ctype>77&&parts[i].ctype<77+NGOL) {
else if(ptypes[parts[i].ctype].properties&PROP_LIFE) {
for(nx=-1; nx<2; nx++) {
for(ny=-1; ny<2; ny++) {
create_part(-1, x+nx, y+ny, parts[i].ctype);
@ -6071,7 +6071,8 @@ int create_parts(int x, int y, int rx, int ry, int c)
}
if(rx==0&&ry==0)//workaround for 1pixel brush/floodfill crashing. todo: find a better fix later.
{
create_part(-2, x, y, c);
if(create_part(-2, x, y, c)==-1)
f = 1;
}
else
for(j=-ry; j<=ry; j++)