Optimize check_poke

Callers care only for zero vs. non-zero.  Return (sidemask & (1 <<
side)) to skip the test and reload to constant 1.
This commit is contained in:
Kp 2015-07-12 01:04:17 +00:00
parent 8e5bf66b5f
commit c10e580453

View file

@ -630,15 +630,12 @@ void wall_close_door_num(int door_num)
}
static int check_poke(const vcobjptr_t obj, const vcsegptr_t segnum,int side)
static uint8_t check_poke(const vcobjptr_t obj, const vcsegptr_t segnum,int side)
{
//note: don't let objects with zero size block door
if (obj->size && get_seg_masks(obj->pos, segnum, obj->size).sidemask & (1 << side))
return 1; //pokes through side!
else
return 0; //does not!
if (!obj->size)
return 0;
return get_seg_masks(obj->pos, segnum, obj->size).sidemask & (1 << side); //pokes through side!
}
#if defined(DXX_BUILD_DESCENT_I)