diff options
| author | Cracker64 <cracker642@gmail.com> | 2010-12-29 22:22:18 (GMT) |
|---|---|---|
| committer | Cracker64 <cracker642@gmail.com> | 2010-12-29 22:22:18 (GMT) |
| commit | 8df470662fc687cedeac97fac2c4d8afe4ccedd0 (patch) | |
| tree | 0d27ecea2b65430214c6e6e727437b2fb0907ac8 /src/powder.c | |
| parent | 5766f9aa7ee0f78adea5799322dce67506d9247d (diff) | |
| download | powder-8df470662fc687cedeac97fac2c4d8afe4ccedd0.zip powder-8df470662fc687cedeac97fac2c4d8afe4ccedd0.tar.gz | |
ARAY gets colored by FILT, woo
Diffstat (limited to 'src/powder.c')
| -rw-r--r-- | src/powder.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/powder.c b/src/powder.c index 8e7a4ea..84d129b 100644 --- a/src/powder.c +++ b/src/powder.c @@ -1614,7 +1614,7 @@ void update_particles_i(pixel *vid, int start, int inc) r = pmap[y+ny][x+nx]; if((r>>8)>=NPART || !r) continue; - if(parts[r>>8].type!=PT_NONE&&parts[i].type!=PT_NONE&&ptypes[parts[r>>8].type].hconduct>0&&!(parts[r>>8].type==PT_HSWC&&parts[r>>8].life!=10)&&!(parts[i].type==PT_PHOT&&parts[r>>8].type==PT_FILT)&&!(parts[i].type==PT_BIZR&&parts[r>>8].type==PT_FILT)&&!(parts[i].type==PT_BIZRG&&parts[r>>8].type==PT_FILT)&&!(parts[r>>8].type==PT_BIZR&&parts[i].type==PT_FILT)&&!(parts[r>>8].type==PT_BIZRG&&parts[i].type==PT_FILT)) + if(parts[r>>8].type!=PT_NONE&&parts[i].type!=PT_NONE&&ptypes[parts[r>>8].type].hconduct>0&&!(parts[r>>8].type==PT_HSWC&&parts[r>>8].life!=10)&&!(parts[r>>8].type==PT_BRAY&&parts[i].type==PT_FILT)&&!(parts[i].type==PT_BRAY&&parts[r>>8].type==PT_FILT)&&!(parts[i].type==PT_PHOT&&parts[r>>8].type==PT_FILT)&&!(parts[i].type==PT_BIZR&&parts[r>>8].type==PT_FILT)&&!(parts[i].type==PT_BIZRG&&parts[r>>8].type==PT_FILT)&&!(parts[r>>8].type==PT_BIZR&&parts[i].type==PT_FILT)&&!(parts[r>>8].type==PT_BIZRG&&parts[i].type==PT_FILT)) { h_count++; c_heat += parts[r>>8].temp; @@ -1632,7 +1632,7 @@ void update_particles_i(pixel *vid, int start, int inc) r = pmap[y+ny][x+nx]; if((r>>8)>=NPART || !r) continue; - if(parts[r>>8].type!=PT_NONE&&parts[i].type!=PT_NONE&&ptypes[parts[r>>8].type].hconduct>0&&!(parts[r>>8].type==PT_HSWC&&parts[r>>8].life!=10)&&!(parts[i].type==PT_PHOT&&parts[r>>8].type==PT_FILT)&&!(parts[i].type==PT_BIZR&&parts[r>>8].type==PT_FILT)&&!(parts[i].type==PT_BIZRG&&parts[r>>8].type==PT_FILT)&&!(parts[r>>8].type==PT_BIZR&&parts[i].type==PT_FILT)&&!(parts[r>>8].type==PT_BIZRG&&parts[i].type==PT_FILT)) + if(parts[r>>8].type!=PT_NONE&&parts[i].type!=PT_NONE&&ptypes[parts[r>>8].type].hconduct>0&&!(parts[r>>8].type==PT_HSWC&&parts[r>>8].life!=10)&&!(parts[r>>8].type==PT_BRAY&&parts[i].type==PT_FILT)&&!(parts[i].type==PT_BRAY&&parts[r>>8].type==PT_FILT)&&!(parts[i].type==PT_PHOT&&parts[r>>8].type==PT_FILT)&&!(parts[i].type==PT_BIZR&&parts[r>>8].type==PT_FILT)&&!(parts[i].type==PT_BIZRG&&parts[r>>8].type==PT_FILT)&&!(parts[r>>8].type==PT_BIZR&&parts[i].type==PT_FILT)&&!(parts[r>>8].type==PT_BIZRG&&parts[i].type==PT_FILT)) { parts[r>>8].temp = parts[i].temp; } @@ -1984,6 +1984,7 @@ void update_particles_i(pixel *vid, int start, int inc) } } else if(t==PT_ARAY && parts[i].life==0){ + int colored =0; for(nx=-1; nx<2; nx++){ for(ny=-1; ny<2; ny++){ if(x+nx>=0 && y+ny>0 && x+nx<XRES && y+ny<YRES && (nx || ny)){ @@ -2000,9 +2001,12 @@ void update_particles_i(pixel *vid, int start, int inc) if(!((r>>8)>=NPART)) { if(!r){ int nr = create_part(-1, x+nxi+nxx, y+nyi+nyy, PT_BRAY); - if(nr!=-1&&destroy){ + if(nr!=-1){ + if(destroy){ parts[nr].tmp = 2; parts[nr].life = 2; + }else + parts[nr].ctype = colored; } } else if(!destroy) { if(parts[r>>8].type==PT_BRAY&&parts[r>>8].tmp==0){ @@ -2010,12 +2014,17 @@ void update_particles_i(pixel *vid, int start, int inc) parts[r>>8].type = PT_BRAY; parts[r>>8].life = 1020; parts[r>>8].tmp = 1; + if(!parts[r>>8].ctype) + parts[r>>8].ctype = colored; } docontinue = 0; } else if(parts[r>>8].type==PT_BRAY&&parts[r>>8].tmp==1){ parts[r>>8].life = 1020; //docontinue = 1; - } else if(parts[r>>8].type!=PT_INWR && parts[r>>8].type!=PT_ARAY) { + } + else if(parts[r>>8].type==PT_FILT){ + colored = parts[r>>8].ctype; + }else if(parts[r>>8].type!=PT_INWR && parts[r>>8].type!=PT_ARAY) { if(nyy!=0 || nxx!=0){ create_part(-1, x+nxi+nxx, y+nyi+nyy, PT_SPRK); } |
