Merge branch 'development' into navMess2

Conflicts:
	Engine/source/navigation/navMesh.cpp
This commit is contained in:
Azaezel 2016-02-21 15:27:12 -06:00
commit 554a871df9
151 changed files with 5453 additions and 394 deletions

View file

@ -663,7 +663,7 @@ DefineEngineMethod(NavMesh, build, bool, (bool background, bool save), (true, fa
void NavMesh::cancelBuild()
{
while(!mDirtyTiles.empty()) mDirtyTiles.pop();
mDirtyTiles.clear();
ctx->stopTimer(RC_TIMER_TOTAL);
mBuilding = false;
}
@ -733,7 +733,7 @@ void NavMesh::updateTiles(bool dirty)
mTiles.clear();
mTileData.clear();
while(!mDirtyTiles.empty()) mDirtyTiles.pop();
mDirtyTiles.clear();
const Box3F &box = DTStoRC(getWorldBox());
if(box.isEmpty())
@ -767,7 +767,7 @@ void NavMesh::updateTiles(bool dirty)
tileBmin, tileBmax));
if(dirty)
mDirtyTiles.push(mTiles.size() - 1);
mDirtyTiles.push_back_unique(mTiles.size() - 1);
if(mSaveIntermediates)
mTileData.increment();
@ -786,7 +786,7 @@ void NavMesh::buildNextTile()
{
// Pop a single dirty tile and process it.
U32 i = mDirtyTiles.front();
mDirtyTiles.pop();
mDirtyTiles.pop_front();
const Tile &tile = mTiles[i];
// Intermediate data for tile build.
TileData tempdata;
@ -1098,7 +1098,7 @@ void NavMesh::buildTiles(const Box3F &box)
if(!tile.box.isOverlapped(box))
continue;
// Mark as dirty.
mDirtyTiles.push(i);
mDirtyTiles.push_back_unique(i);
}
if(mDirtyTiles.size())
ctx->startTimer(RC_TIMER_TOTAL);
@ -1114,7 +1114,7 @@ void NavMesh::buildTile(const U32 &tile)
{
if(tile < mTiles.size())
{
mDirtyTiles.push(tile);
mDirtyTiles.push_back_unique(tile);
ctx->startTimer(RC_TIMER_TOTAL);
}
}
@ -1136,7 +1136,7 @@ void NavMesh::buildLinks()
mLinksUnsynced[j])
{
// Mark tile for build.
mDirtyTiles.push(i);
mDirtyTiles.push_back_unique(i);
// Delete link if necessary
if(mDeleteLinks[j])
{