mirror of
https://github.com/OpenMW/openmw.git
synced 2025-06-27 06: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:
parent
6170971ea3
commit
e910dd7a25
7 changed files with 10 additions and 15 deletions
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue