- 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 Rachael Alexanderson
parent dbc03a9f9d
commit 8d34cf15cc

View file

@ -333,10 +333,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 < self->Level->sectors.Size())
{
sector_t *sec = &self->Level->sectors[sector];
secplane_t& plane = sector_t::floor == planeval? sec->floorplane : sec->ceilingplane;
plane.ChangeHeight(delta);
sec->ChangePlaneTexZ(planeval, delta);
}
return 0;
}
@ -353,7 +356,11 @@ DEFINE_ACTION_FUNCTION(DLevelCompatibility, AddSectorTag)
PARAM_PROLOGUE;
PARAM_INT(sector);
PARAM_INT(tag);
tagManager.AddSectorTag(sector, tag);
if ((unsigned)sector < self->Level->sectors.Size())
{
tagManager.AddSectorTag(sector, tag);
}
return 0;
}