diff options
Diffstat (limited to 'src/simulation/elements')
| -rw-r--r-- | src/simulation/elements/BOMB.cpp | 2 | ||||
| -rw-r--r-- | src/simulation/elements/NEUT.cpp | 2 | ||||
| -rw-r--r-- | src/simulation/elements/NONE.cpp | 4 | ||||
| -rw-r--r-- | src/simulation/elements/PIPE.cpp | 14 | ||||
| -rw-r--r-- | src/simulation/elements/PLNT.cpp | 2 |
5 files changed, 12 insertions, 12 deletions
diff --git a/src/simulation/elements/BOMB.cpp b/src/simulation/elements/BOMB.cpp index ad1a193..303ceb5 100644 --- a/src/simulation/elements/BOMB.cpp +++ b/src/simulation/elements/BOMB.cpp @@ -69,7 +69,7 @@ int Element_BOMB::update(UPDATE_FUNC_ARGS) if ((pow((float)nxi,2))/(pow((float)rad,2))+(pow((float)nxj,2))/(pow((float)rad,2))<=1) if ((pmap[y+nxj][x+nxi]&0xFF)!=PT_DMND && (pmap[y+nxj][x+nxi]&0xFF)!=PT_CLNE && (pmap[y+nxj][x+nxi]&0xFF)!=PT_PCLN && (pmap[y+nxj][x+nxi]&0xFF)!=PT_BCLN && (pmap[y+nxj][x+nxi]&0xFF)!=PT_VIBR) { - sim->delete_part(x+nxi, y+nxj, 0); + sim->delete_part(x+nxi, y+nxj); sim->pv[(y+nxj)/CELL][(x+nxi)/CELL] += 0.1f; nb = sim->create_part(-3, x+nxi, y+nxj, PT_EMBR); if (nb!=-1) diff --git a/src/simulation/elements/NEUT.cpp b/src/simulation/elements/NEUT.cpp index 1d65a33..9e47e7e 100644 --- a/src/simulation/elements/NEUT.cpp +++ b/src/simulation/elements/NEUT.cpp @@ -53,7 +53,7 @@ int Element_NEUT::update(UPDATE_FUNC_ARGS) int pressureFactor = 3 + (int)sim->pv[y/CELL][x/CELL]; for (rx=-1; rx<2; rx++) for (ry=-1; ry<2; ry++) - if (BOUNDS_CHECK && (rx || ry)) + if (BOUNDS_CHECK) { r = pmap[y+ry][x+rx]; switch (r&0xFF) diff --git a/src/simulation/elements/NONE.cpp b/src/simulation/elements/NONE.cpp index b2bcd12..2fdb261 100644 --- a/src/simulation/elements/NONE.cpp +++ b/src/simulation/elements/NONE.cpp @@ -26,8 +26,8 @@ Element_NONE::Element_NONE() Weight = 100; - Temperature = R_TEMP+0.0f +273.15f; - HeatConduct = 251; + Temperature = R_TEMP+273.15f; + HeatConduct = 0; Description = "Erases particles."; State = ST_NONE; diff --git a/src/simulation/elements/PIPE.cpp b/src/simulation/elements/PIPE.cpp index a470e6c..14dbee0 100644 --- a/src/simulation/elements/PIPE.cpp +++ b/src/simulation/elements/PIPE.cpp @@ -192,7 +192,7 @@ int Element_PIPE::update(UPDATE_FUNC_ARGS) np = sim->create_part(-1,x+rx,y+ry,parts[i].tmp&0xFF); if (np!=-1) { - transfer_pipe_to_part(parts+i, parts+np); + transfer_pipe_to_part(sim, parts+i, parts+np); } } //try eating particle at entrance @@ -374,8 +374,8 @@ int Element_PIPE::graphics(GRAPHICS_FUNC_ARGS) return 0; } -//#TPT-Directive ElementHeader Element_PIPE static void transfer_pipe_to_part(Particle *pipe, Particle *part) -void Element_PIPE::transfer_pipe_to_part(Particle *pipe, Particle *part) +//#TPT-Directive ElementHeader Element_PIPE static void transfer_pipe_to_part(Simulation * sim, Particle *pipe, Particle *part) +void Element_PIPE::transfer_pipe_to_part(Simulation * sim, Particle *pipe, Particle *part) { part->type = (pipe->tmp & 0xFF); part->temp = pipe->temp; @@ -384,7 +384,7 @@ void Element_PIPE::transfer_pipe_to_part(Particle *pipe, Particle *part) part->ctype = pipe->pavg[1]; pipe->tmp &= ~0xFF; - if (part->type != PT_PHOT && part->type != PT_ELEC && part->type != PT_NEUT) + if (!(sim->elements[part->type].Properties & TYPE_ENERGY)) { part->vx = 0.0f; part->vy = 0.0f; @@ -456,7 +456,7 @@ void Element_PIPE::pushParticle(Simulation * sim, int i, int count, int original for (nnx=0; nnx<80; nnx++) if (!sim->portalp[sim->parts[r>>8].tmp][count][nnx].type) { - transfer_pipe_to_part(sim->parts+i, &(sim->portalp[sim->parts[r>>8].tmp][count][nnx])); + transfer_pipe_to_part(sim, sim->parts+i, &(sim->portalp[sim->parts[r>>8].tmp][count][nnx])); count++; break; } @@ -482,7 +482,7 @@ void Element_PIPE::pushParticle(Simulation * sim, int i, int count, int original for (nnx=0; nnx<80; nnx++) if (!sim->portalp[sim->parts[r>>8].tmp][count][nnx].type) { - transfer_pipe_to_part(sim->parts+i, &(sim->portalp[sim->parts[r>>8].tmp][count][nnx])); + transfer_pipe_to_part(sim, sim->parts+i, &(sim->portalp[sim->parts[r>>8].tmp][count][nnx])); count++; break; } @@ -494,7 +494,7 @@ void Element_PIPE::pushParticle(Simulation * sim, int i, int count, int original np = sim->create_part(-1,x+rx,y+ry,sim->parts[i].tmp&0xFF); if (np!=-1) { - transfer_pipe_to_part(sim->parts+i, sim->parts+np); + transfer_pipe_to_part(sim, sim->parts+i, sim->parts+np); } } diff --git a/src/simulation/elements/PLNT.cpp b/src/simulation/elements/PLNT.cpp index 61218d5..99890e6 100644 --- a/src/simulation/elements/PLNT.cpp +++ b/src/simulation/elements/PLNT.cpp @@ -81,7 +81,7 @@ int Element_PLNT::update(UPDATE_FUNC_ARGS) } break; case PT_WOOD: - if (surround_space && !(rand()%4) && (abs(rx+ry)<=2) && (sim->VINE_MODE || parts[i].tmp==1)) + if (surround_space && !(rand()%4) && (abs(rx+ry)<=2) && parts[i].tmp==1) { int nnx = rand()%3 -1; int nny = rand()%3 -1; |
