diff options
Diffstat (limited to 'src/simulation/elements/TUGN.cpp')
| -rw-r--r-- | src/simulation/elements/TUGN.cpp | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/src/simulation/elements/TUGN.cpp b/src/simulation/elements/TUGN.cpp deleted file mode 100644 index 4fb8032..0000000 --- a/src/simulation/elements/TUGN.cpp +++ /dev/null @@ -1,132 +0,0 @@ -#include "simulation/Elements.h" -#include "simulation/Air.h" -//#TPT-Directive ElementClass Element_TUGN PT_TUGN 171 -Element_TUGN::Element_TUGN() -{ - Identifier = "DEFAULT_PT_TUGN"; - Name = "TUGN"; - Colour = PIXPACK(0x505050); - MenuVisible = 1; - MenuSection = SC_ELEC; - 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 = 1; - Hardness = 1; - - Weight = 100; - - Temperature = R_TEMP+0.0f +273.15f; - HeatConduct = 251; - Description = "Brittle metal with a very high melting point."; - - State = ST_SOLID; - Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC; - - LowPressure = IPL; - LowPressureTransition = NT; - HighPressure = IPH; - HighPressureTransition = NT; - LowTemperature = ITL; - LowTemperatureTransition = NT; - HighTemperature = ITH; - HighTemperatureTransition = NT; - /*HighTemperature = 3895.0f; - HighTemperatureTransition = PT_LAVA;*/ - - Update = &Element_TUGN::update; - Graphics = &Element_TUGN::graphics; - -} - -#define MELTING_POINT 3695.0 - -//#TPT-Directive ElementHeader Element_TUGN static int update(UPDATE_FUNC_ARGS) -int Element_TUGN::update(UPDATE_FUNC_ARGS) -{ - bool splode = false; - if(parts[i].temp > 2400.0) - { - int r, rx, ry, rt; - for (rx=-1; rx<2; rx++) - for (ry=-1; ry<2; ry++) - if (BOUNDS_CHECK && (rx || ry)) - { - r = pmap[y+ry][x+rx]; - if((r&0xFF) == PT_O2) - { - splode = true; - } - } - } - if((parts[i].temp > MELTING_POINT && !(rand()%20)) || splode) - { - if(!(rand()%50)) - { - sim->pv[y/CELL][x/CELL] += 50.0f; - } - else if(!(rand()%100)) - { - sim->part_change_type(i, x, y, PT_FIRE); - parts[i].life = rand()%500; - return 1; - } - else - { - sim->part_change_type(i, x, y, PT_LAVA); - parts[i].ctype = PT_TUGN; - return 1; - } - if(splode) - { - parts[i].temp = MELTING_POINT + (rand()%600) + 200; - } - parts[i].vx += (rand()%100)-50; - parts[i].vy += (rand()%100)-50; - return 1; - } - parts[i].pavg[0] = parts[i].pavg[1]; - parts[i].pavg[1] = sim->pv[y/CELL][x/CELL]; - if (parts[i].pavg[1]-parts[i].pavg[0] > 0.50f || parts[i].pavg[1]-parts[i].pavg[0] < -0.50f) - { - sim->part_change_type(i,x,y,PT_BRMT); - } - return 0; -} - - -//#TPT-Directive ElementHeader Element_TUGN static int graphics(GRAPHICS_FUNC_ARGS) -int Element_TUGN::graphics(GRAPHICS_FUNC_ARGS) -{ - double startTemp = (MELTING_POINT - 1500.0); - double tempOver = (((cpart->temp - startTemp)/1500.0)*M_PI) - (M_PI/2.0); - if(tempOver > -(M_PI/2.0)) - { - if(tempOver > (M_PI/2.0)) - tempOver = (M_PI/2.0); - double gradv = sin(tempOver) + 1.0; - *firer = (int)(gradv * 258.0); - *fireg = (int)(gradv * 156.0); - *fireb = (int)(gradv * 112.0); - *firea = 30; - - *colr += *firer; - *colg += *fireg; - *colb += *fireb; - *pixel_mode |= FIRE_ADD; - } - return 0; -} - -Element_TUGN::~Element_TUGN() {} |
