fix freeze when hovering over a massive amount of portals

This commit is contained in:
jacob1 2015-07-15 00:20:00 -04:00
parent e990eead10
commit 37f8038fcd

View File

@ -1906,26 +1906,23 @@ void Renderer::render_parts()
addpixel(nx+nxo, ny+nyo, colr, colg, colb, 255-orbd[r]); addpixel(nx+nxo, ny+nyo, colr, colg, colb, 255-orbd[r]);
} }
} }
if (pixel_mode & EFFECT_DBGLINES) if (pixel_mode & EFFECT_DBGLINES && !(display_mode&DISPLAY_PERS))
{ {
if (mousePos.X == nx && mousePos.Y == ny && debugLines && !(display_mode&DISPLAY_PERS))//draw lines connecting wifi/portal channels // draw lines connecting wifi/portal channels
if (mousePos.X == nx && mousePos.Y == ny && (i == sim->pmap[ny][nx]>>8) && debugLines)
{ {
int z;
int type = parts[i].type, tmp = (int)((parts[i].temp-73.15f)/100+1), othertmp; int type = parts[i].type, tmp = (int)((parts[i].temp-73.15f)/100+1), othertmp;
if (type == PT_PRTI) if (type == PT_PRTI)
type = PT_PRTO; type = PT_PRTO;
else if (type == PT_PRTO) else if (type == PT_PRTO)
type = PT_PRTI; type = PT_PRTI;
for (z = 0; z<NPART; z++) for (int z = 0; z < sim->parts_lastActiveIndex; z++)
{ {
if (parts[z].type) if (parts[z].type == type)
{ {
if (parts[z].type==type) othertmp = (int)((parts[z].temp-73.15f)/100+1);
{ if (tmp == othertmp)
othertmp = (int)((parts[z].temp-73.15f)/100+1); xor_line(nx,ny,(int)(parts[z].x+0.5f),(int)(parts[z].y+0.5f));
if (tmp == othertmp)
xor_line(nx,ny,(int)(parts[z].x+0.5f),(int)(parts[z].y+0.5f));
}
} }
} }
} }