1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-26 19:41:34 +00:00

Rename CellRef::getRefIdPtr -> getRefIdRef and return reference

Return value can't be nullptr. Pointer complicates the code because has to be
dereferenced.

Also move function definition to hpp to make it easier for compiler to optimize
calls.
This commit is contained in:
elsid 2021-08-20 00:09:31 +02:00
parent 6170971ea3
commit e910dd7a25
No known key found for this signature in database
GPG key ID: B845CB9FEE18AB40
7 changed files with 10 additions and 15 deletions

View file

@ -71,7 +71,7 @@ namespace MWLua
else
{
const std::string& recordId = std::get<std::string>(item);
if (old_it != store.end() && *old_it->getCellRef().getRefIdPtr() == recordId)
if (old_it != store.end() && old_it->getCellRef().getRefIdRef() == recordId)
return true; // already equipped
itemPtr = store.search(recordId);
if (itemPtr.isEmpty() || itemPtr.getRefData().getCount() == 0)

View file

@ -284,7 +284,7 @@ namespace MWLua
std::shared_ptr<LocalScripts> scripts;
// When loading a game, it can be called before LuaManager::setPlayer,
// so we can't just check ptr == mPlayer here.
if (*ptr.getCellRef().getRefIdPtr() == "player")
if (ptr.getCellRef().getRefIdRef() == "player")
{
scripts = std::make_shared<PlayerScripts>(&mLua, LObject(getId(ptr), mWorldView.getObjectRegistry()));
scripts->addPackage("openmw.ui", mUserInterfacePackage);

View file

@ -51,13 +51,13 @@ namespace MWLua
bool isMarker(const MWWorld::Ptr& ptr)
{
std::string_view id = *ptr.getCellRef().getRefIdPtr();
std::string_view id = ptr.getCellRef().getRefIdRef();
return id == "prisonmarker" || id == "divinemarker" || id == "templemarker" || id == "northmarker";
}
std::string_view getMWClassName(const MWWorld::Ptr& ptr)
{
if (*ptr.getCellRef().getRefIdPtr() == "player")
if (ptr.getCellRef().getRefIdRef() == "player")
return "Player";
if (isMarker(ptr))
return "Marker";
@ -71,7 +71,7 @@ namespace MWLua
res.append(" (");
res.append(getMWClassName(ptr));
res.append(", ");
res.append(*ptr.getCellRef().getRefIdPtr());
res.append(ptr.getCellRef().getRefIdRef());
res.append(")");
return res;
}

View file

@ -48,11 +48,6 @@ namespace MWWorld
return mCellRef.mRefID;
}
const std::string* CellRef::getRefIdPtr() const
{
return &mCellRef.mRefID;
}
bool CellRef::getTeleport() const
{
return mCellRef.mTeleport;

View file

@ -38,8 +38,8 @@ namespace MWWorld
// Id of object being referenced
std::string getRefId() const;
// Pointer to ID of the object being referenced
const std::string* getRefIdPtr() const;
// Reference to ID of the object being referenced
const std::string& getRefIdRef() const { return mCellRef.mRefID; }
// For doors - true if this door teleports to somewhere else, false
// if it should open through animation.

View file

@ -36,7 +36,7 @@ namespace
}
bool cont = cell.second.forEach([&] (MWWorld::Ptr ptr)
{
if(*ptr.getCellRef().getRefIdPtr() == id)
if (ptr.getCellRef().getRefIdRef() == id)
{
return visitor(ptr);
}

View file

@ -181,7 +181,7 @@ namespace
{
for (typename MWWorld::CellRefList<T>::List::iterator iter (collection.mList.begin());
iter!=collection.mList.end(); ++iter)
if (iter->mRef.getRefNum()==state.mRef.mRefNum && *iter->mRef.getRefIdPtr() == state.mRef.mRefID)
if (iter->mRef.getRefNum()==state.mRef.mRefNum && iter->mRef.getRefIdRef() == state.mRef.mRefID)
{
// overwrite existing reference
float oldscale = iter->mRef.getScale();
@ -417,7 +417,7 @@ namespace MWWorld
const std::string *mIdToFind;
bool operator()(const PtrType& ptr)
{
if (*ptr.getCellRef().getRefIdPtr() == *mIdToFind)
if (ptr.getCellRef().getRefIdRef() == *mIdToFind)
{
mFound = ptr;
return false;