Fix crashing when pipe has a negative tmp value

This commit is contained in:
jacksonmj 2011-07-06 17:08:13 +08:00 committed by Simon Robertshaw
parent 8754bb0bf6
commit 11dbdb9314
2 changed files with 3 additions and 3 deletions

View File

@ -2377,7 +2377,7 @@ void draw_parts(pixel *vid)
cg = PIXG(ptypes[t].pcolors); cg = PIXG(ptypes[t].pcolors);
cb = PIXB(ptypes[t].pcolors); cb = PIXB(ptypes[t].pcolors);
} }
if (parts[i].tmp) if (parts[i].tmp>0 && parts[i].tmp<PT_NUM)
{ {
cr = PIXR(ptypes[parts[i].tmp].pcolors); cr = PIXR(ptypes[parts[i].tmp].pcolors);
cg = PIXG(ptypes[parts[i].tmp].pcolors); cg = PIXG(ptypes[parts[i].tmp].pcolors);

View File

@ -2553,13 +2553,13 @@ int main(int argc, char *argv[])
if (DEBUG_MODE) if (DEBUG_MODE)
{ {
int tctype = parts[cr>>8].ctype; int tctype = parts[cr>>8].ctype;
if (tctype>=PT_NUM || tctype<0 || (cr&0xFF)==PT_PHOT)
tctype = 0;
if ((cr&0xFF)==PT_PIPE) if ((cr&0xFF)==PT_PIPE)
{ {
if (parts[cr>>8].tmp<PT_NUM) tctype = parts[cr>>8].tmp; if (parts[cr>>8].tmp<PT_NUM) tctype = parts[cr>>8].tmp;
else tctype = 0; else tctype = 0;
} }
if (tctype>=PT_NUM || tctype<0 || (cr&0xFF)==PT_PHOT)
tctype = 0;
sprintf(heattext, "%s (%s), Pressure: %3.2f, Temp: %4.2f C, Life: %d", ptypes[cr&0xFF].name, ptypes[tctype].name, pv[(y/sdl_scale)/CELL][(x/sdl_scale)/CELL], parts[cr>>8].temp-273.15f, parts[cr>>8].life); sprintf(heattext, "%s (%s), Pressure: %3.2f, Temp: %4.2f C, Life: %d", ptypes[cr&0xFF].name, ptypes[tctype].name, pv[(y/sdl_scale)/CELL][(x/sdl_scale)/CELL], parts[cr>>8].temp-273.15f, parts[cr>>8].life);
sprintf(coordtext, "#%d, X:%d Y:%d", cr>>8, x/sdl_scale, y/sdl_scale); sprintf(coordtext, "#%d, X:%d Y:%d", cr>>8, x/sdl_scale, y/sdl_scale);
} else { } else {