diff options
Diffstat (limited to 'src/simulation/elements/PCLN.cpp')
| -rw-r--r-- | src/simulation/elements/PCLN.cpp | 96 |
1 files changed, 48 insertions, 48 deletions
diff --git a/src/simulation/elements/PCLN.cpp b/src/simulation/elements/PCLN.cpp index 1cd2ede..6ad4964 100644 --- a/src/simulation/elements/PCLN.cpp +++ b/src/simulation/elements/PCLN.cpp @@ -2,48 +2,48 @@ //#TPT-Directive ElementClass Element_PCLN PT_PCLN 74 Element_PCLN::Element_PCLN() { - Identifier = "DEFAULT_PT_PCLN"; - Name = "PCLN"; - Colour = PIXPACK(0x3B3B0A); - MenuVisible = 1; - MenuSection = SC_POWERED; - Enabled = 1; - - Advection = 0.0f; - AirDrag = 0.00f * CFDS; - AirLoss = 0.90f; - Loss = 0.00f; - Collision = 0.0f; - Gravity = 0.0f; - Diffusion = 0.00f; - HotAir = 0.000f * CFDS; - Falldown = 0; - - Flammable = 0; - Explosive = 0; - Meltable = 0; - Hardness = 1; - - Weight = 100; - - Temperature = R_TEMP+0.0f +273.15f; - HeatConduct = 251; - Description = "Solid. When activated, duplicates any particles it touches."; - - State = ST_NONE; - Properties = TYPE_SOLID; - - LowPressure = IPL; - LowPressureTransition = NT; - HighPressure = IPH; - HighPressureTransition = NT; - LowTemperature = ITL; - LowTemperatureTransition = NT; - HighTemperature = ITH; - HighTemperatureTransition = NT; - - Update = &Element_PCLN::update; - Graphics = &Element_PCLN::graphics; + Identifier = "DEFAULT_PT_PCLN"; + Name = "PCLN"; + Colour = PIXPACK(0x3B3B0A); + MenuVisible = 1; + MenuSection = SC_POWERED; + Enabled = 1; + + Advection = 0.0f; + AirDrag = 0.00f * CFDS; + AirLoss = 0.90f; + Loss = 0.00f; + Collision = 0.0f; + Gravity = 0.0f; + Diffusion = 0.00f; + HotAir = 0.000f * CFDS; + Falldown = 0; + + Flammable = 0; + Explosive = 0; + Meltable = 0; + Hardness = 1; + + Weight = 100; + + Temperature = R_TEMP+0.0f +273.15f; + HeatConduct = 251; + Description = "Solid. When activated, duplicates any particles it touches."; + + State = ST_NONE; + Properties = TYPE_SOLID; + + LowPressure = IPL; + LowPressureTransition = NT; + HighPressure = IPH; + HighPressureTransition = NT; + LowTemperature = ITL; + LowTemperatureTransition = NT; + HighTemperature = ITH; + HighTemperatureTransition = NT; + + Update = &Element_PCLN::update; + Graphics = &Element_PCLN::graphics; } //#TPT-Directive ElementHeader Element_PCLN static int update(UPDATE_FUNC_ARGS) @@ -54,7 +54,7 @@ int Element_PCLN::update(UPDATE_FUNC_ARGS) parts[i].life--; for (rx=-2; rx<3; rx++) for (ry=-2; ry<3; ry++) - if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry)) + if (BOUNDS_CHECK && (rx || ry)) { r = pmap[y+ry][x+rx]; if (!r) @@ -80,7 +80,7 @@ int Element_PCLN::update(UPDATE_FUNC_ARGS) if (parts[i].ctype<=0 || parts[i].ctype>=PT_NUM || !sim->elements[parts[i].ctype].Enabled || (parts[i].ctype==PT_LIFE && (parts[i].tmp<0 || parts[i].tmp>=NGOL))) 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) + if (BOUNDS_CHECK) { r = sim->photons[y+ry][x+rx]; if (!r) @@ -89,10 +89,10 @@ int Element_PCLN::update(UPDATE_FUNC_ARGS) continue; rt = r&0xFF; if (rt!=PT_CLNE && rt!=PT_PCLN && - rt!=PT_BCLN && rt!=PT_SPRK && - rt!=PT_NSCN && rt!=PT_PSCN && - rt!=PT_STKM && rt!=PT_STKM2 && - rt!=PT_PBCN && rt<PT_NUM) + rt!=PT_BCLN && rt!=PT_SPRK && + rt!=PT_NSCN && rt!=PT_PSCN && + rt!=PT_STKM && rt!=PT_STKM2 && + rt!=PT_PBCN && rt<PT_NUM) { parts[i].ctype = rt; if (rt==PT_LIFE || rt==PT_LAVA) |
