1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-27 21:41:37 +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 else
{ {
const std::string& recordId = std::get<std::string>(item); 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 return true; // already equipped
itemPtr = store.search(recordId); itemPtr = store.search(recordId);
if (itemPtr.isEmpty() || itemPtr.getRefData().getCount() == 0) if (itemPtr.isEmpty() || itemPtr.getRefData().getCount() == 0)

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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