This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
The-Powder-Toy/src/simulation/elements/NONE.cpp
jacob1 ffb88259d6 Split Simulation::IsValidElement into IsElement and IsElementOrNone
Allows finer control over whether you want none included or not.
Fixes some invalid things being allowed for element 0 in legacy lua api
Fixes {ctype} signs showing 0 instead of NONE
2021-04-11 23:20:33 -04:00

62 lines
1.2 KiB
C++

#include "simulation/ElementCommon.h"
static VideoBuffer *iconGen(int wallID, int width, int height);
void Element::Element_NONE()
{
Identifier = "DEFAULT_PT_NONE";
Name = "NONE";
Colour = PIXPACK(0x000000);
MenuVisible = 1;
MenuSection = SC_SPECIAL;
Enabled = 1;
Advection = 0.0f;
AirDrag = 0.00f * CFDS;
AirLoss = 1.00f;
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;
HeatConduct = 0;
Description = "Erases particles.";
Properties = 0;
LowPressure = IPL;
LowPressureTransition = NT;
HighPressure = IPH;
HighPressureTransition = NT;
LowTemperature = ITL;
LowTemperatureTransition = NT;
HighTemperature = ITH;
HighTemperatureTransition = NT;
IconGenerator = &iconGen;
}
static VideoBuffer *iconGen(int wallID, int width, int height)
{
VideoBuffer * newTexture = new VideoBuffer(width, height);
for (int j=3; j<(width-4)/2; j++)
{
newTexture->SetPixel(j+6, j, 0xFF, 0, 0, 255);
newTexture->SetPixel(j+7, j, 0xFF, 0, 0, 255);
newTexture->SetPixel(-j+19, j, 0xFF, 0, 0, 255);
newTexture->SetPixel(-j+20, j, 0xFF, 0, 0, 255);
}
return newTexture;
}