Revert "Make THDR TYPE_ENERGY again, so it goes in photon map"
This reverts commit 8b20bfd764
.
TYPE_ENERGY makes THDR move like photons, and means adjacent particles
don't conduct as much heat from it (since the heat conduction code only
looks for particles in pmap, not photons).
Heat transfer could be fixed by increasing THDR's heat conductivity, but
gas or powder movement is probably better than photon movement for THDR.
This commit is contained in:
parent
303a32f290
commit
6d307b47b5
@ -79,7 +79,7 @@ part_type ptypes[PT_NUM] =
|
|||||||
{"GLAS", PIXPACK(0x404040), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 1, 100, SC_SOLIDS, R_TEMP+0.0f +273.15f, 150, "Solid. Meltable. Shatters under pressure", ST_SOLID, TYPE_SOLID | PROP_NEUTPASS | PROP_HOT_GLOW | PROP_SPARKSETTLE, &update_GLAS, NULL},
|
{"GLAS", PIXPACK(0x404040), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 1, 100, SC_SOLIDS, R_TEMP+0.0f +273.15f, 150, "Solid. Meltable. Shatters under pressure", ST_SOLID, TYPE_SOLID | PROP_NEUTPASS | PROP_HOT_GLOW | PROP_SPARKSETTLE, &update_GLAS, NULL},
|
||||||
{"PTCT", PIXPACK(0x405050), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 1, 100, SC_ELEC, R_TEMP+0.0f +273.15f, 251, "Semi-conductor. Only conducts electricity when cold (Less than 100C)", ST_SOLID, TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC, &update_NPTCT, NULL},
|
{"PTCT", PIXPACK(0x405050), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 1, 100, SC_ELEC, R_TEMP+0.0f +273.15f, 251, "Semi-conductor. Only conducts electricity when cold (Less than 100C)", ST_SOLID, TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC, &update_NPTCT, NULL},
|
||||||
{"BGLA", PIXPACK(0x606060), 0.4f, 0.04f * CFDS, 0.94f, 0.95f, -0.1f, 0.3f, 0.00f, 0.000f * CFDS, 1, 0, 0, 5, 2, 1, 1, 90, SC_POWDERS, R_TEMP+0.0f +273.15f, 150, "Broken Glass, Heavy particles. Meltable. Bagels.", ST_SOLID, TYPE_PART | PROP_HOT_GLOW, NULL, NULL},
|
{"BGLA", PIXPACK(0x606060), 0.4f, 0.04f * CFDS, 0.94f, 0.95f, -0.1f, 0.3f, 0.00f, 0.000f * CFDS, 1, 0, 0, 5, 2, 1, 1, 90, SC_POWDERS, R_TEMP+0.0f +273.15f, 150, "Broken Glass, Heavy particles. Meltable. Bagels.", ST_SOLID, TYPE_PART | PROP_HOT_GLOW, NULL, NULL},
|
||||||
{"THDR", PIXPACK(0xFFFFA0), 0.0f, 0.00f * CFDS, 1.0f, 0.30f, -0.99f, 0.6f, 0.62f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 1, 1, SC_EXPLOSIVE, 9000.0f +273.15f, 1, "Lightning! Very hot, inflicts damage upon most materials, transfers current to metals.", ST_NONE, TYPE_ENERGY, &update_THDR, &graphics_THDR},
|
{"THDR", PIXPACK(0xFFFFA0), 0.0f, 0.00f * CFDS, 1.0f, 0.30f, -0.99f, 0.6f, 0.62f, 0.000f * CFDS, 0, 0, 0, 0, 0, 1, 1, 1, SC_EXPLOSIVE, 9000.0f +273.15f, 1, "Lightning! Very hot, inflicts damage upon most materials, transfers current to metals.", ST_NONE, TYPE_PART, &update_THDR, &graphics_THDR},
|
||||||
{"PLSM", PIXPACK(0xBB99FF), 0.9f, 0.04f * CFDS, 0.97f, 0.20f, 0.0f, -0.1f, 0.30f, 0.001f * CFDS, 0, 0, 0, 0, 0, 1, 1, 1, SC_GAS, 10000.0f +273.15f, 5, "Plasma, extremely hot.", ST_NONE, TYPE_GAS|PROP_LIFE_DEC|PROP_LIFE_KILL, &update_PYRO, &graphics_PLSM},
|
{"PLSM", PIXPACK(0xBB99FF), 0.9f, 0.04f * CFDS, 0.97f, 0.20f, 0.0f, -0.1f, 0.30f, 0.001f * CFDS, 0, 0, 0, 0, 0, 1, 1, 1, SC_GAS, 10000.0f +273.15f, 5, "Plasma, extremely hot.", ST_NONE, TYPE_GAS|PROP_LIFE_DEC|PROP_LIFE_KILL, &update_PYRO, &graphics_PLSM},
|
||||||
{"ETRD", PIXPACK(0x404040), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 1, 100, SC_ELEC, R_TEMP+0.0f +273.15f, 251, "Electrode. Creates a surface that allows Plasma arcs. (Use sparingly)", ST_NONE, TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC, NULL, NULL},
|
{"ETRD", PIXPACK(0x404040), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 1, 100, SC_ELEC, R_TEMP+0.0f +273.15f, 251, "Electrode. Creates a surface that allows Plasma arcs. (Use sparingly)", ST_NONE, TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC, NULL, NULL},
|
||||||
{"NICE", PIXPACK(0xC0E0FF), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, -0.0005f* CFDS, 0, 0, 0, 0, 20, 1, 1, 100, SC_SOLIDS, 35.0f, 46, "Nitrogen Ice.", ST_SOLID, TYPE_SOLID, NULL, NULL},
|
{"NICE", PIXPACK(0xC0E0FF), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, -0.0005f* CFDS, 0, 0, 0, 0, 20, 1, 1, 100, SC_SOLIDS, 35.0f, 46, "Nitrogen Ice.", ST_SOLID, TYPE_SOLID, NULL, NULL},
|
||||||
|
@ -23,8 +23,6 @@ int update_FIRW(UPDATE_FUNC_ARGS) {
|
|||||||
if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry))
|
if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry))
|
||||||
{
|
{
|
||||||
r = pmap[y+ry][x+rx];
|
r = pmap[y+ry][x+rx];
|
||||||
if (!r)
|
|
||||||
r = photons[y+ry][x+rx];
|
|
||||||
if (!r)
|
if (!r)
|
||||||
continue;
|
continue;
|
||||||
rt = parts[r>>8].type;
|
rt = parts[r>>8].type;
|
||||||
|
@ -27,7 +27,7 @@ int LIGH_nearest_part(int ci, int max_d)
|
|||||||
int cy = (int)parts[ci].y;
|
int cy = (int)parts[ci].y;
|
||||||
for (i=0; i<=parts_lastActiveIndex; i++)
|
for (i=0; i<=parts_lastActiveIndex; i++)
|
||||||
{
|
{
|
||||||
if (parts[i].type && i!=ci && parts[i].type!=PT_LIGH && !(ptypes[parts[i].type].properties&TYPE_ENERGY))
|
if (parts[i].type && !parts[i].life && i!=ci && parts[i].type!=PT_LIGH && parts[i].type!=PT_THDR && parts[i].type!=PT_NEUT && parts[i].type!=PT_PHOT)
|
||||||
{
|
{
|
||||||
ndistance = abs(cx-parts[i].x)+abs(cy-parts[i].y);// Faster but less accurate Older: sqrt(pow(cx-parts[i].x, 2)+pow(cy-parts[i].y, 2));
|
ndistance = abs(cx-parts[i].x)+abs(cy-parts[i].y);// Faster but less accurate Older: sqrt(pow(cx-parts[i].x, 2)+pow(cy-parts[i].y, 2));
|
||||||
if (ndistance<distance)
|
if (ndistance<distance)
|
||||||
@ -151,7 +151,7 @@ int update_LIGH(UPDATE_FUNC_ARGS)
|
|||||||
continue;
|
continue;
|
||||||
if ((r&0xFF)!=PT_LIGH && (r&0xFF)!=PT_TESC)
|
if ((r&0xFF)!=PT_LIGH && (r&0xFF)!=PT_TESC)
|
||||||
{
|
{
|
||||||
if ((r&0xFF)!=PT_CLNE&&(r&0xFF)!=PT_DMND&&(r&0xFF)!=PT_FIRE && !(ptypes[r&0xFF].properties&TYPE_ENERGY))
|
if ((r&0xFF)!=PT_CLNE&&(r&0xFF)!=PT_THDR&&(r&0xFF)!=PT_DMND&&(r&0xFF)!=PT_FIRE&&(r&0xFF)!=PT_NEUT&&(r&0xFF)!=PT_PHOT)
|
||||||
{
|
{
|
||||||
if ((ptypes[r&0xFF].properties&PROP_CONDUCTS) && parts[r>>8].life==0)
|
if ((ptypes[r&0xFF].properties&PROP_CONDUCTS) && parts[r>>8].life==0)
|
||||||
{
|
{
|
||||||
|
@ -51,9 +51,9 @@ int create_n_parts(int n, int x, int y, float vx, float vy, float temp, int t)//
|
|||||||
parts[i].ctype = 0;
|
parts[i].ctype = 0;
|
||||||
parts[i].temp = temp;
|
parts[i].temp = temp;
|
||||||
parts[i].tmp = 0;
|
parts[i].tmp = 0;
|
||||||
if (t!=PT_STKM&&t!=PT_STKM2 && !(ptypes[t].properties&TYPE_ENERGY) && !pmap[y][x])
|
if (t!=PT_STKM&&t!=PT_STKM2 && t!=PT_PHOT && t!=PT_NEUT && !pmap[y][x])
|
||||||
pmap[y][x] = t|(i<<8);
|
pmap[y][x] = t|(i<<8);
|
||||||
else if ((ptypes[t].properties&TYPE_ENERGY) && !photons[y][x])
|
else if ((t==PT_PHOT||t==PT_NEUT) && !photons[y][x])
|
||||||
photons[y][x] = t|(i<<8);
|
photons[y][x] = t|(i<<8);
|
||||||
|
|
||||||
pv[y/CELL][x/CELL] += 6.0f * CFDS;
|
pv[y/CELL][x/CELL] += 6.0f * CFDS;
|
||||||
|
@ -31,7 +31,7 @@ int update_THDR(UPDATE_FUNC_ARGS) {
|
|||||||
part_change_type(r>>8,x+rx,y+ry,PT_SPRK);
|
part_change_type(r>>8,x+rx,y+ry,PT_SPRK);
|
||||||
parts[r>>8].life = 4;
|
parts[r>>8].life = 4;
|
||||||
}
|
}
|
||||||
else if ((r&0xFF)!=PT_CLNE&&(r&0xFF)!=PT_SPRK&&(r&0xFF)!=PT_DMND&&(r&0xFF)!=PT_FIRE&&!(ptypes[r&0xFF].properties&TYPE_ENERGY)&&(r&0xFF))
|
else if ((r&0xFF)!=PT_CLNE&&(r&0xFF)!=PT_THDR&&(r&0xFF)!=PT_SPRK&&(r&0xFF)!=PT_DMND&&(r&0xFF)!=PT_FIRE&&(r&0xFF)!=PT_NEUT&&(r&0xFF)!=PT_PHOT&&(r&0xFF))
|
||||||
{
|
{
|
||||||
pv[y/CELL][x/CELL] += 100.0f;
|
pv[y/CELL][x/CELL] += 100.0f;
|
||||||
if (legacy_enable&&1>(rand()%200))
|
if (legacy_enable&&1>(rand()%200))
|
||||||
|
@ -1808,7 +1808,7 @@ void render_parts(pixel *vid)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
if((photons[ny][nx]&0xFF) && !(ptypes[t].properties & TYPE_ENERGY) && t!=PT_STKM && t!=PT_STKM2 && t!=PT_FIGH)
|
if(photons[ny][nx]&0xFF && !(ptypes[t].properties & TYPE_ENERGY) && t!=PT_STKM && t!=PT_STKM2 && t!=PT_FIGH)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
//Defaults
|
//Defaults
|
||||||
|
Reference in New Issue
Block a user