Fix a bunch of LDTC and DTEC issues

Namely: LDTC GoL detection, ctype-drawing and HUD rendering, alongside DTEC HUD rendering.
This commit is contained in:
Tamás Bálint Misius 2021-04-18 20:32:12 +02:00
parent f441626de4
commit 2e16eecae0
No known key found for this signature in database
GPG Key ID: 5B472A12F6ECA9F2
2 changed files with 4 additions and 4 deletions

View File

@ -2180,9 +2180,9 @@ void GameView::OnDraw()
if (wavelengthGfx)
sampleInfo << " (" << ctype << ")";
// Some elements store extra LIFE info in upper bits of ctype, instead of tmp/tmp2
else if (type == PT_CRAY || type == PT_DRAY || type == PT_CONV)
else if (type == PT_CRAY || type == PT_DRAY || type == PT_CONV || type == PT_LDTC)
sampleInfo << " (" << c->ElementResolve(TYP(ctype), ID(ctype)) << ")";
else if (type == PT_CLNE || type == PT_BCLN || type == PT_PCLN || type == PT_PBCN)
else if (type == PT_CLNE || type == PT_BCLN || type == PT_PCLN || type == PT_PBCN || type == PT_DTEC)
sampleInfo << " (" << c->ElementResolve(ctype, sample.particle.tmp) << ")";
else if (c->IsValidElement(ctype))
sampleInfo << " (" << c->ElementResolve(ctype, -1) << ")";

View File

@ -44,7 +44,7 @@ void Element::Element_LDTC()
HighTemperatureTransition = NT;
Update = &update;
CtypeDraw = &Element::ctypeDrawVInTmp;
CtypeDraw = &Element::ctypeDrawVInCtype;
}
constexpr int FLAG_INVERT_FILTER = 0x1;
@ -123,7 +123,7 @@ static int update(UPDATE_FUNC_ARGS)
// If ctype isn't set (no type restriction), or ctype matches what we found
// Can use .tmp2 flag to invert this
bool matchesCtype = parts[i].ctype == TYP(rr) && (ctype != PT_LIFE || parts[ID(rr)].ctype == ctypeExtra);
bool matchesCtype = ctype == TYP(rr) && (ctype != PT_LIFE || parts[ID(rr)].ctype == ctypeExtra);
bool matchesFilter = !ctype || (invertFilter ^ (int)matchesCtype);
if (!matchesFilter)
{