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:
parent
f441626de4
commit
2e16eecae0
@ -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) << ")";
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user