mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 13:56:38 +00:00 
			
		
		
		
	Make the code less verbose / more readable using for range loop and
structured binding. No functional changes.
This commit is contained in:
		
							parent
							
								
									730f1fe2a7
								
							
						
					
					
						commit
						c55db790f3
					
				
					 4 changed files with 34 additions and 69 deletions
				
			
		|  | @ -119,11 +119,8 @@ namespace MWPhysics | |||
|         assert (mShapeInstance->getCollisionShape()->isCompound()); | ||||
| 
 | ||||
|         btCompoundShape* compound = static_cast<btCompoundShape*>(mShapeInstance->getCollisionShape()); | ||||
|         for (const auto& shape : mShapeInstance->mAnimatedShapes) | ||||
|         for (const auto& [recIndex, shapeIndex] : mShapeInstance->mAnimatedShapes) | ||||
|         { | ||||
|             int recIndex = shape.first; | ||||
|             int shapeIndex = shape.second; | ||||
| 
 | ||||
|             auto nodePathFound = mRecIndexToNodePath.find(recIndex); | ||||
|             if (nodePathFound == mRecIndexToNodePath.end()) | ||||
|             { | ||||
|  |  | |||
|  | @ -440,10 +440,8 @@ namespace MWRender | |||
|                         continue; | ||||
|                     } | ||||
|                 } | ||||
|                 for (ESM::CellRefTracker::const_iterator it = cell->mLeasedRefs.begin(); it != cell->mLeasedRefs.end(); ++it) | ||||
|                 for (auto [ref, deleted] : cell->mLeasedRefs) | ||||
|                 { | ||||
|                     ESM::CellRef ref = it->first; | ||||
|                     bool deleted = it->second; | ||||
|                     if (deleted) { refs.erase(ref.mRefNum); continue; } | ||||
|                     Misc::StringUtils::lowerCaseInPlace(ref.mRefID); | ||||
|                     int type = store.findStatic(ref.mRefID); | ||||
|  |  | |||
|  | @ -345,8 +345,8 @@ namespace MWWorld | |||
| 
 | ||||
|         void merge() | ||||
|         { | ||||
|             for (std::map<LiveCellRefBase*, MWWorld::CellStore*>::const_iterator it = mMovedHere.begin(); it != mMovedHere.end(); ++it) | ||||
|                 mMergeTo.push_back(it->first); | ||||
|             for (const auto & [base, _] : mMovedHere) | ||||
|                 mMergeTo.push_back(base); | ||||
|         } | ||||
| 
 | ||||
|     private: | ||||
|  | @ -453,9 +453,9 @@ namespace MWWorld | |||
|         if (Ptr ptr = ::searchViaActorId (mCreatures, id, this, mMovedToAnotherCell)) | ||||
|             return ptr; | ||||
| 
 | ||||
|         for (MovedRefTracker::const_iterator it = mMovedHere.begin(); it != mMovedHere.end(); ++it) | ||||
|         for (const auto& [base, _] : mMovedHere) | ||||
|         { | ||||
|             MWWorld::Ptr actor (it->first, this); | ||||
|             MWWorld::Ptr actor (base, this); | ||||
|             if (!actor.getClass().isActor()) | ||||
|                 continue; | ||||
|             if (actor.getClass().getCreatureStats (actor).matchesActorId (id) && actor.getRefData().getCount() > 0) | ||||
|  | @ -577,11 +577,8 @@ namespace MWWorld | |||
|         } | ||||
| 
 | ||||
|         // List moved references, from separately tracked list.
 | ||||
|         for (ESM::CellRefTracker::const_iterator it = mCell->mLeasedRefs.begin(); it != mCell->mLeasedRefs.end(); ++it) | ||||
|         for (const auto& [ref, deleted]: mCell->mLeasedRefs) | ||||
|         { | ||||
|             const ESM::CellRef &ref = it->first; | ||||
|             bool deleted = it->second; | ||||
| 
 | ||||
|             if (!deleted) | ||||
|                 mIds.push_back(Misc::StringUtils::lowerCase(ref.mRefID)); | ||||
|         } | ||||
|  | @ -633,10 +630,10 @@ namespace MWWorld | |||
|         } | ||||
| 
 | ||||
|         // Load moved references, from separately tracked list.
 | ||||
|         for (ESM::CellRefTracker::const_iterator it = mCell->mLeasedRefs.begin(); it != mCell->mLeasedRefs.end(); ++it) | ||||
|         for (const auto& leasedRef : mCell->mLeasedRefs) | ||||
|         { | ||||
|             ESM::CellRef &ref = const_cast<ESM::CellRef&>(it->first); | ||||
|             bool deleted = it->second; | ||||
|             ESM::CellRef &ref = const_cast<ESM::CellRef&>(leasedRef.first); | ||||
|             bool deleted = leasedRef.second; | ||||
| 
 | ||||
|             loadRef (ref, deleted, refNumToID); | ||||
|         } | ||||
|  | @ -807,11 +804,10 @@ namespace MWWorld | |||
|         writeReferenceCollection<ESM::ObjectState> (writer, mWeapons); | ||||
|         writeReferenceCollection<ESM::ObjectState> (writer, mBodyParts); | ||||
| 
 | ||||
|         for (MovedRefTracker::const_iterator it = mMovedToAnotherCell.begin(); it != mMovedToAnotherCell.end(); ++it) | ||||
|         for (const auto& [base, store] : mMovedToAnotherCell) | ||||
|         { | ||||
|             LiveCellRefBase* base = it->first; | ||||
|             ESM::RefNum refNum = base->mRef.getRefNum(); | ||||
|             ESM::CellId movedTo = it->second->getCell()->getCellId(); | ||||
|             ESM::CellId movedTo = store->getCell()->getCellId(); | ||||
| 
 | ||||
|             refNum.save(writer, true, "MVRF"); | ||||
|             movedTo.save(writer); | ||||
|  | @ -1138,9 +1134,9 @@ namespace MWWorld | |||
|             updateRechargingItems(); | ||||
|             mRechargingItemsUpToDate = true; | ||||
|         } | ||||
|         for (TRechargingItems::iterator it = mRechargingItems.begin(); it != mRechargingItems.end(); ++it) | ||||
|         for (const auto& [item, charge] : mRechargingItems) | ||||
|         { | ||||
|             MWMechanics::rechargeItem(it->first, it->second, duration); | ||||
|             MWMechanics::rechargeItem(item, charge, duration); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  | @ -1148,38 +1144,22 @@ namespace MWWorld | |||
|     { | ||||
|         mRechargingItems.clear(); | ||||
| 
 | ||||
|         for (CellRefList<ESM::Weapon>::List::iterator it (mWeapons.mList.begin()); it!=mWeapons.mList.end(); ++it) | ||||
|         const auto update = [this](auto& list) | ||||
|         { | ||||
|             Ptr ptr = getCurrentPtr(&*it); | ||||
|             if (!ptr.isEmpty() && ptr.getRefData().getCount() > 0) | ||||
|             for (auto & item : list) | ||||
|             { | ||||
|                 checkItem(ptr); | ||||
|                 Ptr ptr = getCurrentPtr(&item); | ||||
|                 if (!ptr.isEmpty() && ptr.getRefData().getCount() > 0) | ||||
|                 { | ||||
|                     checkItem(ptr); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         for (CellRefList<ESM::Armor>::List::iterator it (mArmors.mList.begin()); it!=mArmors.mList.end(); ++it) | ||||
|         { | ||||
|             Ptr ptr = getCurrentPtr(&*it); | ||||
|             if (!ptr.isEmpty() && ptr.getRefData().getCount() > 0) | ||||
|             { | ||||
|                 checkItem(ptr); | ||||
|             } | ||||
|         } | ||||
|         for (CellRefList<ESM::Clothing>::List::iterator it (mClothes.mList.begin()); it!=mClothes.mList.end(); ++it) | ||||
|         { | ||||
|             Ptr ptr = getCurrentPtr(&*it); | ||||
|             if (!ptr.isEmpty() && ptr.getRefData().getCount() > 0) | ||||
|             { | ||||
|                 checkItem(ptr); | ||||
|             } | ||||
|         } | ||||
|         for (CellRefList<ESM::Book>::List::iterator it (mBooks.mList.begin()); it!=mBooks.mList.end(); ++it) | ||||
|         { | ||||
|             Ptr ptr = getCurrentPtr(&*it); | ||||
|             if (!ptr.isEmpty() && ptr.getRefData().getCount() > 0) | ||||
|             { | ||||
|                 checkItem(ptr); | ||||
|             } | ||||
|         } | ||||
|         }; | ||||
| 
 | ||||
|         update(mWeapons.mList); | ||||
|         update(mArmors.mList); | ||||
|         update(mClothes.mList); | ||||
|         update(mBooks.mList); | ||||
|     } | ||||
| 
 | ||||
|     void MWWorld::CellStore::checkItem(Ptr ptr) | ||||
|  |  | |||
|  | @ -621,20 +621,15 @@ namespace MWWorld | |||
| 
 | ||||
|     void Store<ESM::Cell>::setUp() | ||||
|     { | ||||
|         typedef DynamicExt::iterator ExtIterator; | ||||
|         typedef std::map<std::string, ESM::Cell>::iterator IntIterator; | ||||
| 
 | ||||
|         mSharedInt.clear(); | ||||
|         mSharedInt.reserve(mInt.size()); | ||||
|         for (IntIterator it = mInt.begin(); it != mInt.end(); ++it) { | ||||
|             mSharedInt.push_back(&(it->second)); | ||||
|         } | ||||
|         for (auto & [_, cell] : mInt) | ||||
|             mSharedInt.push_back(&cell); | ||||
| 
 | ||||
|         mSharedExt.clear(); | ||||
|         mSharedExt.reserve(mExt.size()); | ||||
|         for (ExtIterator it = mExt.begin(); it != mExt.end(); ++it) { | ||||
|             mSharedExt.push_back(&(it->second)); | ||||
|         } | ||||
|         for (auto & [_, cell] : mExt) | ||||
|             mSharedExt.push_back(&cell); | ||||
|     } | ||||
|     RecordId Store<ESM::Cell>::load(ESM::ESMReader &esm) | ||||
|     { | ||||
|  | @ -1050,18 +1045,13 @@ namespace MWWorld | |||
|     { | ||||
|         // DialInfos marked as deleted are kept during the loading phase, so that the linked list
 | ||||
|         // structure is kept intact for inserting further INFOs. Delete them now that loading is done.
 | ||||
|         for (Static::iterator it = mStatic.begin(); it != mStatic.end(); ++it) | ||||
|         { | ||||
|             ESM::Dialogue& dial = it->second; | ||||
|         for (auto & [_, dial] : mStatic) | ||||
|             dial.clearDeletedInfos(); | ||||
|         } | ||||
| 
 | ||||
|         mShared.clear(); | ||||
|         mShared.reserve(mStatic.size()); | ||||
|         std::map<std::string, ESM::Dialogue>::iterator it = mStatic.begin(); | ||||
|         for (; it != mStatic.end(); ++it) { | ||||
|             mShared.push_back(&(it->second)); | ||||
|         } | ||||
|         for (auto & [_, dial] : mStatic) | ||||
|             mShared.push_back(&dial); | ||||
|     } | ||||
| 
 | ||||
|     template <> | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue