fusion changes

This commit is contained in:
Jacob1 2012-05-23 19:53:50 -04:00
parent 0799c2e09d
commit 1026963293
6 changed files with 17 additions and 19 deletions

View File

@ -94,7 +94,7 @@ int update_ELEC(UPDATE_FUNC_ARGS) {
kill_part(i);
return 1;
}
if (ptypes[r&0xFF].properties & PROP_CONDUCTS && ((r&0xFF)!=PT_H2||parts[i].tmp!=1))
if (ptypes[r&0xFF].properties & PROP_CONDUCTS && ((r&0xFF)!=PT_H2||parts[i].temp<2273.15))
{
create_part(-1, x+rx, y+ry, PT_SPRK);
kill_part(i);

View File

@ -35,7 +35,7 @@ int update_H2(UPDATE_FUNC_ARGS)
}
if (parts[r>>8].temp > 2273.15)// && pv[y/CELL][x/CELL] > 50.0f)
continue;
if (parts[i].tmp != 1)
if (parts[i].temp < 2273.15)
{
if (rt==PT_FIRE)
{
@ -54,20 +54,18 @@ int update_H2(UPDATE_FUNC_ARGS)
}
if (parts[i].temp > 2273.15 && pv[y/CELL][x/CELL] > 50.0f)
{
parts[i].tmp = 1;
if (rand()%5 < 1)
{
int j;
float temp = parts[i].temp;
part_change_type(i,x,y,PT_PLSM);
parts[i].life = rand()%150+50;
create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT);
create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC);
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = temp;
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) parts[j].temp = temp;
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT);
if (j != -1) { parts[j].ctype = 0xFFFF00; parts[j].temp = temp; }
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NBLE);
if (j != -1) { parts[j].tmp = 1; parts[j].temp = temp; }
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NBLE); if (j != -1) parts[j].temp = temp;
if (rand()%2)
{
@ -75,7 +73,7 @@ int update_H2(UPDATE_FUNC_ARGS)
if (j != -1) { parts[j].tmp = 1; parts[j].temp = temp; }
}
parts[i].temp += 6000;
parts[i].temp += 750+rand()%500;
pv[y/CELL][x/CELL] += 30;
}
}

View File

@ -25,16 +25,16 @@ int update_NBLE(UPDATE_FUNC_ARGS)
float temp = parts[i].temp;
part_change_type(i,x,y,PT_PLSM);
parts[i].life = rand()%150+50;
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1)
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1)
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = temp;
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) parts[j].temp = temp;
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT);
if (j != -1) { parts[j].ctype = 0xFF0000; parts[j].temp = temp; }
j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_CO2);
if (j != -1) parts[j].temp = temp - 1000;
if (j != -1) parts[j].temp = temp;
parts[i].temp += 10000;
pv[y/CELL][x/CELL] += 30;
parts[i].temp += 1750+rand()%500;
pv[y/CELL][x/CELL] += 50;
}
}
return 0;

View File

@ -61,7 +61,7 @@ int update_PYRO(UPDATE_FUNC_ARGS) {
(t!=PT_SPRK || (rt!=PT_RBDM && rt!=PT_LRBD && rt!=PT_INSL)) &&
(t!=PT_PHOT || rt!=PT_INSL) &&
(rt!=PT_SPNG || parts[r>>8].life==0) &&
(rt!=PT_H2 || (parts[r>>8].temp < 2273.15 && pv[y/CELL][x/CELL] < 50.0f)) &&
(rt!=PT_H2 || parts[r>>8].temp < 2273.15) &&
ptypes[rt].flammable && (ptypes[rt].flammable + (int)(pv[(y+ry)/CELL][(x+rx)/CELL]*10.0f))>(rand()%1000))
{
part_change_type(r>>8,x+rx,y+ry,PT_FIRE);

View File

@ -59,7 +59,7 @@ int update_SPRK(UPDATE_FUNC_ARGS) {
parts[nearp].ctype = PT_ETRD;
}
}
else if (ct==PT_NBLE&&parts[i].life<=1&&parts[i].tmp!=1)
else if (ct==PT_NBLE&&parts[i].life<=1&&parts[i].temp<5273.15)
{
parts[i].life = rand()%150+50;
part_change_type(i,x,y,PT_PLSM);
@ -194,7 +194,7 @@ int update_SPRK(UPDATE_FUNC_ARGS) {
conduct_sprk = 0;
if (rt==PT_INST&&ct!=PT_PSCN)
conduct_sprk = 0;
if (rt == PT_NBLE && parts[r>>8].tmp == 1)
if (rt == PT_NBLE && parts[r>>8].temp > 5273.15)
conduct_sprk = 0;
if (conduct_sprk) {

View File

@ -2877,10 +2877,10 @@ void render_before(pixel *part_vbuf)
{
clearScreen(0.01f);
memset(part_vbuf, 0, (XRES+BARSIZE)*YRES*PIXELSIZE);
}
}
else //clear screen every frame
{
clearScreen(1.0f);
clearScreen(1.0f);
memset(part_vbuf, 0, (XRES+BARSIZE)*YRES*PIXELSIZE);
if (display_mode & DISPLAY_AIR)//air only gets drawn in these modes
{
@ -2896,7 +2896,7 @@ void render_before(pixel *part_vbuf)
{
memcpy(part_vbuf, pers_bg, (XRES+BARSIZE)*YRES*PIXELSIZE);
memset(part_vbuf+((XRES+BARSIZE)*YRES), 0, ((XRES+BARSIZE)*YRES*PIXELSIZE)-((XRES+BARSIZE)*YRES*PIXELSIZE));
}
}
else //clear screen every frame
{
memset(part_vbuf, 0, (XRES+BARSIZE)*YRES*PIXELSIZE);