diff options
Diffstat (limited to 'src/elements/deut.cpp')
| -rw-r--r-- | src/elements/deut.cpp | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/src/elements/deut.cpp b/src/elements/deut.cpp deleted file mode 100644 index 98fa69b..0000000 --- a/src/elements/deut.cpp +++ /dev/null @@ -1,94 +0,0 @@ -#include "simulation/Element.h" - -int update_DEUT(UPDATE_FUNC_ARGS) { - int r, rx, ry, trade, np; - float gravtot = fabs(sim->gravy[(y/CELL)*(XRES/CELL)+(x/CELL)])+fabs(sim->gravx[(y/CELL)*(XRES/CELL)+(x/CELL)]); - int maxlife = ((10000/(parts[i].temp + 1))-1); - if ((10000%((int)parts[i].temp+1))>rand()%((int)parts[i].temp+1)) - maxlife ++; - // Compress when Newtonian gravity is applied - // multiplier=1 when gravtot=0, multiplier -> 5 as gravtot -> inf - maxlife = maxlife*(5.0f - 8.0f/(gravtot+2.0f)); - if (parts[i].life < maxlife) - { - for (rx=-1; rx<2; rx++) - for (ry=-1; ry<2; ry++) - if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry)) - { - r = pmap[y+ry][x+rx]; - if (!r || (parts[i].life >=maxlife)) - continue; - if ((r&0xFF)==PT_DEUT&&33>=rand()/(RAND_MAX/100)+1) - { - if ((parts[i].life + parts[r>>8].life + 1) <= maxlife) - { - parts[i].life += parts[r>>8].life + 1; - sim->kill_part(r>>8); - } - } - } - } - else - for (rx=-1; rx<2; rx++) - for (ry=-1; ry<2; ry++) - if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry)) - { - r = pmap[y+ry][x+rx]; - if (parts[i].life<=maxlife) - continue; - if ((!r)&&parts[i].life>=1)//if nothing then create deut - { - np = sim->create_part(-1,x+rx,y+ry,PT_DEUT); - if (np<0) continue; - parts[i].life--; - parts[np].temp = parts[i].temp; - parts[np].life = 0; - } - } - for ( trade = 0; trade<4; trade ++) - { - rx = rand()%5-2; - ry = rand()%5-2; - if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry)) - { - r = pmap[y+ry][x+rx]; - if (!r) - continue; - if ((r&0xFF)==PT_DEUT&&(parts[i].life>parts[r>>8].life)&&parts[i].life>0)//diffusion - { - int temp = parts[i].life - parts[r>>8].life; - if (temp ==1) - { - parts[r>>8].life ++; - parts[i].life --; - } - else if (temp>0) - { - parts[r>>8].life += temp/2; - parts[i].life -= temp/2; - } - } - } - } - return 0; -} - -int graphics_DEUT(GRAPHICS_FUNC_ARGS) -{ - if(cpart->life>=700) - { - *firea = 60; - *firer = *colr += cpart->life*1; - *fireg = *colg += cpart->life*2; - *fireb = *colb += cpart->life*3; - *pixel_mode |= PMODE_GLOW | FIRE_ADD; - } - else - { - *colr += cpart->life*1; - *colg += cpart->life*2; - *colb += cpart->life*3; - *pixel_mode |= PMODE_BLUR; - } - return 0; -} |
