diff options
Diffstat (limited to 'src/simulation/elements/LAVA.cpp')
| -rw-r--r-- | src/simulation/elements/LAVA.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/simulation/elements/LAVA.cpp b/src/simulation/elements/LAVA.cpp new file mode 100644 index 0000000..35eefec --- /dev/null +++ b/src/simulation/elements/LAVA.cpp @@ -0,0 +1,71 @@ +#include "simulation/Elements.h" +//#TPT-Directive ElementClass Element_LAVA PT_LAVA 6 +Element_LAVA::Element_LAVA() +{ + Identifier = "DEFAULT_PT_LAVA"; + Name = "LAVA"; + Colour = PIXPACK(0xE05010); + MenuVisible = 1; + MenuSection = SC_LIQUID; + Enabled = 1; + + Advection = 0.3f; + AirDrag = 0.02f * CFDS; + AirLoss = 0.95f; + Loss = 0.80f; + Collision = 0.0f; + Gravity = 0.15f; + Diffusion = 0.00f; + HotAir = 0.0003f * CFDS; + Falldown = 2; + + Flammable = 0; + Explosive = 0; + Meltable = 0; + Hardness = 2; + + Weight = 45; + + Temperature = R_TEMP+1500.0f+273.15f; + HeatConduct = 60; + Description = "Heavy liquid. Ignites flammable materials. Solidifies when cold."; + + State = ST_LIQUID; + Properties = TYPE_LIQUID|PROP_LIFE_DEC; + + LowPressure = IPL; + LowPressureTransition = NT; + HighPressure = IPH; + HighPressureTransition = NT; + LowTemperature = 2573.15f; + LowTemperatureTransition = ST; + HighTemperature = ITH; + HighTemperatureTransition = NT; + + Update = &Element_FIRE::update; + Graphics = &Element_LAVA::graphics; +} + + +//#TPT-Directive ElementHeader Element_LAVA static int graphics(GRAPHICS_FUNC_ARGS) +int Element_LAVA::graphics(GRAPHICS_FUNC_ARGS) + +{ + *colr = cpart->life * 2 + 0xE0; + *colg = cpart->life * 1 + 0x50; + *colb = cpart->life / 2 + 0x10; + if (*colr>255) *colr = 255; + if (*colg>192) *colg = 192; + if (*colb>128) *colb = 128; + *firea = 40; + *firer = *colr; + *fireg = *colg; + *fireb = *colb; + *pixel_mode |= FIRE_ADD; + *pixel_mode |= PMODE_BLUR; + //Returning 0 means dynamic, do not cache + return 0; +} + + +Element_LAVA::~Element_LAVA() {}
\ No newline at end of file |
