diff --git a/server/gameserver/navmeshbuilder.cc b/server/gameserver/navmeshbuilder.cc index 3554964..38ef147 100644 --- a/server/gameserver/navmeshbuilder.cc +++ b/server/gameserver/navmeshbuilder.cc @@ -68,7 +68,7 @@ void NavMeshBuilder::InitTileCacheParams(BuilderParams& builder_params, dtTileCa tcparams.walkableClimb = builder_params.kAgentMaxClimb; tcparams.maxSimplificationError = builder_params.kEdgeMaxError; tcparams.maxTiles = builder_params.tile_width * builder_params.tile_height * EXPECTED_LAYERS_PER_TILE; - tcparams.maxObstacles = 128; + tcparams.maxObstacles = 128 * 1000; } void NavMeshBuilder::InitNavMeshParams(BuilderParams& builder_params, dtNavMeshParams& params) @@ -132,6 +132,7 @@ void NavMeshBuilder::BuildTiles(BuilderParams& builder_params) DT_COMPRESSEDTILE_FREE_DATA, 0); if (dtStatusFailed(status)) { + abort(); dtFree(tile->data); tile->data = 0; continue; @@ -143,7 +144,7 @@ void NavMeshBuilder::BuildTiles(BuilderParams& builder_params) // Build initial meshes for (int y = 0; y < builder_params.tile_height; ++y) { for (int x = 0; x < builder_params.tile_width; ++x) { - builder_params.tile_cache->buildNavMeshTilesAt(x,y, builder_params.navmesh); + builder_params.tile_cache->buildNavMeshTilesAt(x, y, builder_params.navmesh); } } } @@ -350,9 +351,9 @@ int NavMeshBuilder::RasterizeTileLayers(BuilderParams& builder_params, bool NavMeshBuilder::CreateTileCache(BuilderParams& builder_params) { - LinearAllocator* talloc = nullptr; - FastLZCompressor* tcomp = nullptr; - MeshProcess* tmproc = nullptr; + LinearAllocator* talloc = new LinearAllocator(320000); + FastLZCompressor* tcomp = new FastLZCompressor(); + MeshProcess* tmproc = new MeshProcess(); dtTileCacheParams tcparams; InitTileCacheParams(builder_params, tcparams); diff --git a/third_party/framework b/third_party/framework index 8b8fb38..203adbe 160000 --- a/third_party/framework +++ b/third_party/framework @@ -1 +1 @@ -Subproject commit 8b8fb38a7ccafb18d01fd4a5505cf6997dcac91b +Subproject commit 203adbe1f4d7cf2f9d57e8bf8b80102c5fdd47a1