From 1026963293716c8d340fcb857c0af092af92aa11 Mon Sep 17 00:00:00 2001 From: Jacob1 Date: Wed, 23 May 2012 19:53:50 -0400 Subject: [PATCH] fusion changes --- src/elements/elec.c | 2 +- src/elements/h2.c | 12 +++++------- src/elements/nble.c | 10 +++++----- src/elements/pyro.c | 2 +- src/elements/sprk.c | 4 ++-- src/graphics.c | 6 +++--- 6 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/elements/elec.c b/src/elements/elec.c index 667499ffb..9ee3876c3 100644 --- a/src/elements/elec.c +++ b/src/elements/elec.c @@ -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); diff --git a/src/elements/h2.c b/src/elements/h2.c index 212e56eca..d03cd5062 100644 --- a/src/elements/h2.c +++ b/src/elements/h2.c @@ -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; } } diff --git a/src/elements/nble.c b/src/elements/nble.c index bca0291df..dea5787b6 100644 --- a/src/elements/nble.c +++ b/src/elements/nble.c @@ -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; diff --git a/src/elements/pyro.c b/src/elements/pyro.c index 854e62d61..c09dd63ee 100644 --- a/src/elements/pyro.c +++ b/src/elements/pyro.c @@ -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); diff --git a/src/elements/sprk.c b/src/elements/sprk.c index d7ee0f0d8..f1c8c8e33 100644 --- a/src/elements/sprk.c +++ b/src/elements/sprk.c @@ -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) { diff --git a/src/graphics.c b/src/graphics.c index 6d4853131..c47c44e55 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -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);