mirror of
				https://github.com/TES3MP/openmw-tes3mp.git
				synced 2025-10-31 13:56:45 +00:00 
			
		
		
		
	Make navigator from settings manager setting in separate function
This commit is contained in:
		
							parent
							
								
									4a9abf1c1b
								
							
						
					
					
						commit
						c68e64a2a7
					
				
					 4 changed files with 48 additions and 26 deletions
				
			
		|  | @ -198,35 +198,10 @@ namespace MWWorld | |||
| 
 | ||||
|         mPhysics.reset(new MWPhysics::PhysicsSystem(resourceSystem, rootNode)); | ||||
| 
 | ||||
|         DetourNavigator::Settings navigatorSettings; | ||||
|         navigatorSettings.mBorderSize = Settings::Manager::getInt("border size", "Navigator"); | ||||
|         navigatorSettings.mCellHeight = Settings::Manager::getFloat("cell height", "Navigator"); | ||||
|         navigatorSettings.mCellSize = Settings::Manager::getFloat("cell size", "Navigator"); | ||||
|         navigatorSettings.mDetailSampleDist = Settings::Manager::getFloat("detail sample dist", "Navigator"); | ||||
|         navigatorSettings.mDetailSampleMaxError = Settings::Manager::getFloat("detail sample max error", "Navigator"); | ||||
|         auto navigatorSettings = DetourNavigator::makeSettingsFromSettingsManager(); | ||||
|         navigatorSettings.mMaxClimb = MWPhysics::sStepSizeUp; | ||||
|         navigatorSettings.mMaxSimplificationError = Settings::Manager::getFloat("max simplification error", "Navigator"); | ||||
|         navigatorSettings.mMaxSlope = MWPhysics::sMaxSlope; | ||||
|         navigatorSettings.mRecastScaleFactor = Settings::Manager::getFloat("recast scale factor", "Navigator"); | ||||
|         navigatorSettings.mSwimHeightScale = mSwimHeightScale; | ||||
|         navigatorSettings.mMaxEdgeLen = Settings::Manager::getInt("max edge len", "Navigator"); | ||||
|         navigatorSettings.mMaxNavMeshQueryNodes = Settings::Manager::getInt("max nav mesh query nodes", "Navigator"); | ||||
|         navigatorSettings.mMaxPolys = Settings::Manager::getInt("max polygons per tile", "Navigator"); | ||||
|         navigatorSettings.mMaxVertsPerPoly = Settings::Manager::getInt("max verts per poly", "Navigator"); | ||||
|         navigatorSettings.mRegionMergeSize = Settings::Manager::getInt("region merge size", "Navigator"); | ||||
|         navigatorSettings.mRegionMinSize = Settings::Manager::getInt("region min size", "Navigator"); | ||||
|         navigatorSettings.mTileSize = Settings::Manager::getInt("tile size", "Navigator"); | ||||
|         navigatorSettings.mAsyncNavMeshUpdaterThreads = static_cast<std::size_t>(Settings::Manager::getInt("async nav mesh updater threads", "Navigator")); | ||||
|         navigatorSettings.mMaxNavMeshTilesCacheSize = static_cast<std::size_t>(Settings::Manager::getInt("max nav mesh tiles cache size", "Navigator")); | ||||
|         navigatorSettings.mMaxPolygonPathSize = static_cast<std::size_t>(Settings::Manager::getInt("max polygon path size", "Navigator")); | ||||
|         navigatorSettings.mMaxSmoothPathSize = static_cast<std::size_t>(Settings::Manager::getInt("max smooth path size", "Navigator")); | ||||
|         navigatorSettings.mTrianglesPerChunk = static_cast<std::size_t>(Settings::Manager::getInt("triangles per chunk", "Navigator")); | ||||
|         navigatorSettings.mEnableWriteRecastMeshToFile = Settings::Manager::getBool("enable write recast mesh to file", "Navigator"); | ||||
|         navigatorSettings.mEnableWriteNavMeshToFile = Settings::Manager::getBool("enable write nav mesh to file", "Navigator"); | ||||
|         navigatorSettings.mRecastMeshPathPrefix = Settings::Manager::getString("recast mesh path prefix", "Navigator"); | ||||
|         navigatorSettings.mNavMeshPathPrefix = Settings::Manager::getString("nav mesh path prefix", "Navigator"); | ||||
|         navigatorSettings.mEnableRecastMeshFileNameRevision = Settings::Manager::getBool("enable recast mesh file name revision", "Navigator"); | ||||
|         navigatorSettings.mEnableNavMeshFileNameRevision = Settings::Manager::getBool("enable nav mesh file name revision", "Navigator"); | ||||
|         if (Settings::Manager::getBool("enable log", "Navigator")) | ||||
|             DetourNavigator::Log::instance().setSink(std::unique_ptr<DetourNavigator::FileSink>( | ||||
|                 new DetourNavigator::FileSink(Settings::Manager::getString("log path", "Navigator")))); | ||||
|  |  | |||
|  | @ -171,6 +171,7 @@ add_component_dir(detournavigator | |||
|     tilecachedrecastmeshmanager | ||||
|     recastmeshobject | ||||
|     navmeshtilescache | ||||
|     settings | ||||
|     ) | ||||
| 
 | ||||
| set (ESM_UI ${CMAKE_SOURCE_DIR}/files/ui/contentselector.ui | ||||
|  |  | |||
							
								
								
									
										44
									
								
								components/detournavigator/settings.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								components/detournavigator/settings.cpp
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,44 @@ | |||
| #include "settings.hpp" | ||||
| 
 | ||||
| #include <components/settings/settings.hpp> | ||||
| 
 | ||||
| #include <string> | ||||
| 
 | ||||
| namespace DetourNavigator | ||||
| { | ||||
|     Settings makeSettingsFromSettingsManager() | ||||
|     { | ||||
|         Settings navigatorSettings; | ||||
| 
 | ||||
|         navigatorSettings.mBorderSize = ::Settings::Manager::getInt("border size", "Navigator"); | ||||
|         navigatorSettings.mCellHeight = ::Settings::Manager::getFloat("cell height", "Navigator"); | ||||
|         navigatorSettings.mCellSize = ::Settings::Manager::getFloat("cell size", "Navigator"); | ||||
|         navigatorSettings.mDetailSampleDist = ::Settings::Manager::getFloat("detail sample dist", "Navigator"); | ||||
|         navigatorSettings.mDetailSampleMaxError = ::Settings::Manager::getFloat("detail sample max error", "Navigator"); | ||||
|         navigatorSettings.mMaxClimb = 0; | ||||
|         navigatorSettings.mMaxSimplificationError = ::Settings::Manager::getFloat("max simplification error", "Navigator"); | ||||
|         navigatorSettings.mMaxSlope = 0; | ||||
|         navigatorSettings.mRecastScaleFactor = ::Settings::Manager::getFloat("recast scale factor", "Navigator"); | ||||
|         navigatorSettings.mSwimHeightScale = 0; | ||||
|         navigatorSettings.mMaxEdgeLen = ::Settings::Manager::getInt("max edge len", "Navigator"); | ||||
|         navigatorSettings.mMaxNavMeshQueryNodes = ::Settings::Manager::getInt("max nav mesh query nodes", "Navigator"); | ||||
|         navigatorSettings.mMaxPolys = ::Settings::Manager::getInt("max polygons per tile", "Navigator"); | ||||
|         navigatorSettings.mMaxVertsPerPoly = ::Settings::Manager::getInt("max verts per poly", "Navigator"); | ||||
|         navigatorSettings.mRegionMergeSize = ::Settings::Manager::getInt("region merge size", "Navigator"); | ||||
|         navigatorSettings.mRegionMinSize = ::Settings::Manager::getInt("region min size", "Navigator"); | ||||
|         navigatorSettings.mTileSize = ::Settings::Manager::getInt("tile size", "Navigator"); | ||||
|         navigatorSettings.mAsyncNavMeshUpdaterThreads = static_cast<std::size_t>(::Settings::Manager::getInt("async nav mesh updater threads", "Navigator")); | ||||
|         navigatorSettings.mMaxNavMeshTilesCacheSize = static_cast<std::size_t>(::Settings::Manager::getInt("max nav mesh tiles cache size", "Navigator")); | ||||
|         navigatorSettings.mMaxPolygonPathSize = static_cast<std::size_t>(::Settings::Manager::getInt("max polygon path size", "Navigator")); | ||||
|         navigatorSettings.mMaxSmoothPathSize = static_cast<std::size_t>(::Settings::Manager::getInt("max smooth path size", "Navigator")); | ||||
|         navigatorSettings.mTrianglesPerChunk = static_cast<std::size_t>(::Settings::Manager::getInt("triangles per chunk", "Navigator")); | ||||
|         navigatorSettings.mEnableWriteRecastMeshToFile = ::Settings::Manager::getBool("enable write recast mesh to file", "Navigator"); | ||||
|         navigatorSettings.mEnableWriteNavMeshToFile = ::Settings::Manager::getBool("enable write nav mesh to file", "Navigator"); | ||||
|         navigatorSettings.mRecastMeshPathPrefix = ::Settings::Manager::getString("recast mesh path prefix", "Navigator"); | ||||
|         navigatorSettings.mNavMeshPathPrefix = ::Settings::Manager::getString("nav mesh path prefix", "Navigator"); | ||||
|         navigatorSettings.mEnableRecastMeshFileNameRevision = ::Settings::Manager::getBool("enable recast mesh file name revision", "Navigator"); | ||||
|         navigatorSettings.mEnableNavMeshFileNameRevision = ::Settings::Manager::getBool("enable nav mesh file name revision", "Navigator"); | ||||
| 
 | ||||
|         return navigatorSettings; | ||||
|     } | ||||
| } | ||||
|  | @ -36,6 +36,8 @@ namespace DetourNavigator | |||
|         std::string mRecastMeshPathPrefix; | ||||
|         std::string mNavMeshPathPrefix; | ||||
|     }; | ||||
| 
 | ||||
|     Settings makeSettingsFromSettingsManager(); | ||||
| } | ||||
| 
 | ||||
| #endif | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue