- added missing range checks to level compatibility handler

# Conflicts:
#	src/compatibility.cpp
This commit is contained in:
alexey.lysiuk 2019-01-02 16:35:23 +02:00 committed by drfrag
parent 990aad3b0c
commit 70e7f9f853

View file

@ -361,10 +361,13 @@ DEFINE_ACTION_FUNCTION(DLevelCompatibility, OffsetSectorPlane)
PARAM_INT(planeval);
PARAM_FLOAT(delta);
sector_t *sec = &level.sectors[sector];
secplane_t& plane = sector_t::floor == planeval? sec->floorplane : sec->ceilingplane;
plane.ChangeHeight(delta);
sec->ChangePlaneTexZ(planeval, delta);
if ((unsigned)sector < level.sectors.Size())
{
sector_t *sec = &level.sectors[sector];
secplane_t& plane = sector_t::floor == planeval? sec->floorplane : sec->ceilingplane;
plane.ChangeHeight(delta);
sec->ChangePlaneTexZ(planeval, delta);
}
return 0;
}
@ -381,7 +384,11 @@ DEFINE_ACTION_FUNCTION(DLevelCompatibility, AddSectorTag)
PARAM_PROLOGUE;
PARAM_INT(sector);
PARAM_INT(tag);
tagManager.AddSectorTag(sector, tag);
if ((unsigned)sector < level.sectors.Size())
{
tagManager.AddSectorTag(sector, tag);
}
return 0;
}