mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-04-01 13:06:43 +00:00
Fix MSVC2015 C4503 warning
This commit is contained in:
parent
261bbded00
commit
a387c6b910
2 changed files with 14 additions and 8 deletions
|
@ -64,8 +64,8 @@ namespace DetourNavigator
|
||||||
return Value();
|
return Value();
|
||||||
|
|
||||||
// TODO: use different function to make key to avoid unnecessary std::string allocation
|
// TODO: use different function to make key to avoid unnecessary std::string allocation
|
||||||
const auto tile = tileValues->second.find(makeNavMeshKey(recastMesh, offMeshConnections));
|
const auto tile = tileValues->second.Map.find(makeNavMeshKey(recastMesh, offMeshConnections));
|
||||||
if (tile == tileValues->second.end())
|
if (tile == tileValues->second.Map.end())
|
||||||
return Value();
|
return Value();
|
||||||
|
|
||||||
acquireItemUnsafe(tile->second);
|
acquireItemUnsafe(tile->second);
|
||||||
|
@ -98,7 +98,7 @@ namespace DetourNavigator
|
||||||
|
|
||||||
const auto iterator = mFreeItems.emplace(mFreeItems.end(), agentHalfExtents, changedTile, navMeshKey);
|
const auto iterator = mFreeItems.emplace(mFreeItems.end(), agentHalfExtents, changedTile, navMeshKey);
|
||||||
// TODO: use std::string_view or some alternative to avoid navMeshKey copy into both mFreeItems and mValues
|
// TODO: use std::string_view or some alternative to avoid navMeshKey copy into both mFreeItems and mValues
|
||||||
const auto emplaced = mValues[agentHalfExtents][changedTile].emplace(navMeshKey, iterator);
|
const auto emplaced = mValues[agentHalfExtents][changedTile].Map.emplace(navMeshKey, iterator);
|
||||||
|
|
||||||
if (!emplaced.second)
|
if (!emplaced.second)
|
||||||
{
|
{
|
||||||
|
@ -127,15 +127,15 @@ namespace DetourNavigator
|
||||||
if (tileValues == agentValues->second.end())
|
if (tileValues == agentValues->second.end())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const auto value = tileValues->second.find(item.mNavMeshKey);
|
const auto value = tileValues->second.Map.find(item.mNavMeshKey);
|
||||||
if (value == tileValues->second.end())
|
if (value == tileValues->second.Map.end())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
mUsedNavMeshDataSize -= static_cast<std::size_t>(item.mNavMeshData.mSize) + item.mNavMeshKey.size();
|
mUsedNavMeshDataSize -= static_cast<std::size_t>(item.mNavMeshData.mSize) + item.mNavMeshKey.size();
|
||||||
mFreeItems.pop_back();
|
mFreeItems.pop_back();
|
||||||
|
|
||||||
tileValues->second.erase(value);
|
tileValues->second.Map.erase(value);
|
||||||
if (!tileValues->second.empty())
|
if (!tileValues->second.Map.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
agentValues->second.erase(tileValues);
|
agentValues->second.erase(tileValues);
|
||||||
|
|
|
@ -108,13 +108,19 @@ namespace DetourNavigator
|
||||||
NavMeshData&& value);
|
NavMeshData&& value);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
struct TileMap
|
||||||
|
{
|
||||||
|
std::map<std::string, ItemIterator> Map;
|
||||||
|
};
|
||||||
|
|
||||||
std::mutex mMutex;
|
std::mutex mMutex;
|
||||||
std::size_t mMaxNavMeshDataSize;
|
std::size_t mMaxNavMeshDataSize;
|
||||||
std::size_t mUsedNavMeshDataSize;
|
std::size_t mUsedNavMeshDataSize;
|
||||||
std::size_t mFreeNavMeshDataSize;
|
std::size_t mFreeNavMeshDataSize;
|
||||||
std::list<Item> mBusyItems;
|
std::list<Item> mBusyItems;
|
||||||
std::list<Item> mFreeItems;
|
std::list<Item> mFreeItems;
|
||||||
std::map<osg::Vec3f, std::map<TilePosition, std::map<std::string, ItemIterator>>> mValues;
|
std::map<osg::Vec3f, std::map<TilePosition, TileMap>> mValues;
|
||||||
|
|
||||||
void removeLeastRecentlyUsed();
|
void removeLeastRecentlyUsed();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue