[Client] Don't initialize actors without unique indexes

This commit is contained in:
David Cernat 2017-04-28 23:17:23 +03:00
parent 328b4fb763
commit e419e25e72
2 changed files with 12 additions and 0 deletions

View file

@ -193,6 +193,9 @@ void ActorList::sendActorsInCell(MWWorld::CellStore* cellStore)
{ {
MWWorld::Ptr ptr(&*listIter, 0); MWWorld::Ptr ptr(&*listIter, 0);
// If this Ptr is lacking a unique index, ignore it
if (ptr.getCellRef().getRefNum().mIndex == 0 && ptr.getCellRef().getMpNum() == 0) continue;
BaseActor actor; BaseActor actor;
actor.refId = ptr.getCellRef().getRefId(); actor.refId = ptr.getCellRef().getRefId();
actor.refNumIndex = ptr.getCellRef().getRefNum().mIndex; actor.refNumIndex = ptr.getCellRef().getRefNum().mIndex;
@ -208,6 +211,9 @@ void ActorList::sendActorsInCell(MWWorld::CellStore* cellStore)
{ {
MWWorld::Ptr ptr(&*listIter, 0); MWWorld::Ptr ptr(&*listIter, 0);
// If this Ptr is lacking a unique index, ignore it
if (ptr.getCellRef().getRefNum().mIndex == 0 && ptr.getCellRef().getMpNum() == 0) continue;
BaseActor actor; BaseActor actor;
actor.refId = ptr.getCellRef().getRefId(); actor.refId = ptr.getCellRef().getRefId();
actor.refNumIndex = ptr.getCellRef().getRefNum().mIndex; actor.refNumIndex = ptr.getCellRef().getRefNum().mIndex;

View file

@ -253,6 +253,9 @@ void Cell::initializeLocalActors()
{ {
MWWorld::Ptr ptr(&*listIter, store); MWWorld::Ptr ptr(&*listIter, store);
// If this Ptr is lacking a unique index, ignore it
if (ptr.getCellRef().getRefNum().mIndex == 0 && ptr.getCellRef().getMpNum() == 0) continue;
initializeLocalActor(ptr); initializeLocalActor(ptr);
} }
@ -263,6 +266,9 @@ void Cell::initializeLocalActors()
{ {
MWWorld::Ptr ptr(&*listIter, store); MWWorld::Ptr ptr(&*listIter, store);
// If this Ptr is lacking a unique index, ignore it
if (ptr.getCellRef().getRefNum().mIndex == 0 && ptr.getCellRef().getMpNum() == 0) continue;
initializeLocalActor(ptr); initializeLocalActor(ptr);
} }
} }