1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-22 12:39:59 +00:00

Merge branch 'update_recastnavigation' into 'master'

Update recastnavigation

See merge request OpenMW/openmw!420
This commit is contained in:
psi29a 2020-11-19 06:44:46 +00:00
commit f95d2cf54c
9 changed files with 63 additions and 50 deletions

View File

@ -51,7 +51,7 @@ namespace DetourNavigator
const auto inum = imax - imin; const auto inum = imax - imin;
const auto icur = curNode; const auto icur = curNode;
if (curNode > nodes.size()) if (curNode >= nodes.size())
return; return;
ChunkyTriMeshNode& node = nodes[curNode++]; ChunkyTriMeshNode& node = nodes[curNode++];

View File

@ -1 +1 @@
57610fa6ef31b39020231906f8c5d40eaa8294ae 6624e7aef5e15df11cb2f5673574df8e4c96af6a

View File

@ -13,6 +13,12 @@ SET(VERSION 1.0.0)
option(RECASTNAVIGATION_STATIC "Build static libraries" ON) option(RECASTNAVIGATION_STATIC "Build static libraries" ON)
if(MSVC AND BUILD_SHARED_LIBS)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()
include(GNUInstallDirs)
add_subdirectory(DebugUtils) add_subdirectory(DebugUtils)
add_subdirectory(Detour) add_subdirectory(Detour)
add_subdirectory(DetourCrowd) add_subdirectory(DetourCrowd)

View File

@ -1,12 +1,8 @@
file(GLOB SOURCES Source/*.cpp) file(GLOB SOURCES Source/*.cpp)
add_library(DebugUtils ${SOURCES})
if (RECASTNAVIGATION_STATIC)
add_library(DebugUtils STATIC ${SOURCES})
else()
add_library(DebugUtils SHARED ${SOURCES})
endif()
add_library(RecastNavigation::DebugUtils ALIAS DebugUtils) add_library(RecastNavigation::DebugUtils ALIAS DebugUtils)
set_target_properties(DebugUtils PROPERTIES DEBUG_POSTFIX -d)
set(DebugUtils_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include") set(DebugUtils_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include")
@ -23,13 +19,18 @@ target_link_libraries(DebugUtils
set_target_properties(DebugUtils PROPERTIES set_target_properties(DebugUtils PROPERTIES
SOVERSION ${SOVERSION} SOVERSION ${SOVERSION}
VERSION ${VERSION} VERSION ${VERSION}
COMPILE_PDB_OUTPUT_DIRECTORY .
COMPILE_PDB_NAME "DebugUtils-d"
) )
install(TARGETS DebugUtils install(TARGETS DebugUtils
ARCHIVE DESTINATION lib RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION lib ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT library COMPONENT library
) )
file(GLOB INCLUDES Include/*.h) file(GLOB INCLUDES Include/*.h)
install(FILES ${INCLUDES} DESTINATION include) install(FILES ${INCLUDES} DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation)
install(FILES "$<TARGET_FILE_DIR:DebugUtils>/DebugUtils-d.pdb" CONFIGURATIONS "Debug" DESTINATION "lib")

View File

@ -1,12 +1,8 @@
file(GLOB SOURCES Source/*.cpp) file(GLOB SOURCES Source/*.cpp)
add_library(Detour ${SOURCES})
if(RECASTNAVIGATION_STATIC)
add_library(Detour STATIC ${SOURCES})
else()
add_library(Detour SHARED ${SOURCES})
endif()
add_library(RecastNavigation::Detour ALIAS Detour) add_library(RecastNavigation::Detour ALIAS Detour)
set_target_properties(Detour PROPERTIES DEBUG_POSTFIX -d)
set(Detour_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include") set(Detour_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include")
@ -17,13 +13,18 @@ target_include_directories(Detour PUBLIC
set_target_properties(Detour PROPERTIES set_target_properties(Detour PROPERTIES
SOVERSION ${SOVERSION} SOVERSION ${SOVERSION}
VERSION ${VERSION} VERSION ${VERSION}
COMPILE_PDB_OUTPUT_DIRECTORY .
COMPILE_PDB_NAME "Detour-d"
) )
install(TARGETS Detour install(TARGETS Detour
ARCHIVE DESTINATION lib RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION lib ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT library COMPONENT library
) )
file(GLOB INCLUDES Include/*.h) file(GLOB INCLUDES Include/*.h)
install(FILES ${INCLUDES} DESTINATION include) install(FILES ${INCLUDES} DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation)
install(FILES "$<TARGET_FILE_DIR:Detour>/Detour-d.pdb" CONFIGURATIONS "Debug" DESTINATION "lib")

View File

@ -1,12 +1,8 @@
file(GLOB SOURCES Source/*.cpp) file(GLOB SOURCES Source/*.cpp)
add_library(DetourCrowd ${SOURCES})
if (RECASTNAVIGATION_STATIC)
add_library(DetourCrowd STATIC ${SOURCES})
else ()
add_library(DetourCrowd SHARED ${SOURCES})
endif ()
add_library(RecastNavigation::DetourCrowd ALIAS DetourCrowd) add_library(RecastNavigation::DetourCrowd ALIAS DetourCrowd)
set_target_properties(DetourCrowd PROPERTIES DEBUG_POSTFIX -d)
set(DetourCrowd_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include") set(DetourCrowd_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include")
@ -21,13 +17,18 @@ target_link_libraries(DetourCrowd
set_target_properties(DetourCrowd PROPERTIES set_target_properties(DetourCrowd PROPERTIES
SOVERSION ${SOVERSION} SOVERSION ${SOVERSION}
VERSION ${VERSION} VERSION ${VERSION}
COMPILE_PDB_OUTPUT_DIRECTORY .
COMPILE_PDB_NAME "DetourCrowd-d"
) )
install(TARGETS DetourCrowd install(TARGETS DetourCrowd
ARCHIVE DESTINATION lib RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION lib ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT library COMPONENT library
) )
file(GLOB INCLUDES Include/*.h) file(GLOB INCLUDES Include/*.h)
install(FILES ${INCLUDES} DESTINATION include) install(FILES ${INCLUDES} DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation)
install(FILES "$<TARGET_FILE_DIR:DetourCrowd>/DetourCrowd-d.pdb" CONFIGURATIONS "Debug" DESTINATION "lib")

View File

@ -1409,12 +1409,14 @@ void dtCrowd::update(const float dt, dtCrowdAgentDebugInfo* debug)
} }
// Update agents using off-mesh connection. // Update agents using off-mesh connection.
for (int i = 0; i < m_maxAgents; ++i) for (int i = 0; i < nagents; ++i)
{ {
dtCrowdAgentAnimation* anim = &m_agentAnims[i]; dtCrowdAgent* ag = agents[i];
const int idx = (int)(ag - m_agents);
dtCrowdAgentAnimation* anim = &m_agentAnims[idx];
if (!anim->active) if (!anim->active)
continue; continue;
dtCrowdAgent* ag = agents[i];
anim->t += dt; anim->t += dt;
if (anim->t > anim->tmax) if (anim->t > anim->tmax)

View File

@ -1,12 +1,8 @@
file(GLOB SOURCES Source/*.cpp) file(GLOB SOURCES Source/*.cpp)
add_library(DetourTileCache ${SOURCES})
if (RECASTNAVIGATION_STATIC)
add_library(DetourTileCache STATIC ${SOURCES})
else ()
add_library(DetourTileCache SHARED ${SOURCES})
endif ()
add_library(RecastNavigation::DetourTileCache ALIAS DetourTileCache) add_library(RecastNavigation::DetourTileCache ALIAS DetourTileCache)
set_target_properties(DetourTileCache PROPERTIES DEBUG_POSTFIX -d)
set(DetourTileCache_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include") set(DetourTileCache_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include")
@ -21,14 +17,19 @@ target_link_libraries(DetourTileCache
set_target_properties(DetourTileCache PROPERTIES set_target_properties(DetourTileCache PROPERTIES
SOVERSION ${SOVERSION} SOVERSION ${SOVERSION}
VERSION ${VERSION} VERSION ${VERSION}
COMPILE_PDB_OUTPUT_DIRECTORY .
COMPILE_PDB_NAME "DetourTileCache-d"
) )
install(TARGETS DetourTileCache install(TARGETS DetourTileCache
ARCHIVE DESTINATION lib RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION lib ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT library COMPONENT library
) )
file(GLOB INCLUDES Include/*.h) file(GLOB INCLUDES Include/*.h)
install(FILES ${INCLUDES} DESTINATION include) install(FILES ${INCLUDES} DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation)
install(FILES "$<TARGET_FILE_DIR:DetourTileCache>/DetourTileCache-d.pdb" CONFIGURATIONS "Debug" DESTINATION "lib")

View File

@ -1,12 +1,8 @@
file(GLOB SOURCES Source/*.cpp) file(GLOB SOURCES Source/*.cpp)
add_library(Recast ${SOURCES})
if (RECASTNAVIGATION_STATIC)
add_library(Recast STATIC ${SOURCES})
else ()
add_library(Recast SHARED ${SOURCES})
endif ()
add_library(RecastNavigation::Recast ALIAS Recast) add_library(RecastNavigation::Recast ALIAS Recast)
set_target_properties(Recast PROPERTIES DEBUG_POSTFIX -d)
set(Recast_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include") set(Recast_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include")
@ -17,13 +13,18 @@ target_include_directories(Recast PUBLIC
set_target_properties(Recast PROPERTIES set_target_properties(Recast PROPERTIES
SOVERSION ${SOVERSION} SOVERSION ${SOVERSION}
VERSION ${VERSION} VERSION ${VERSION}
COMPILE_PDB_OUTPUT_DIRECTORY .
COMPILE_PDB_NAME "Recast-d"
) )
install(TARGETS Recast install(TARGETS Recast
ARCHIVE DESTINATION lib RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION lib ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT library COMPONENT library
) )
file(GLOB INCLUDES Include/*.h) file(GLOB INCLUDES Include/*.h)
install(FILES ${INCLUDES} DESTINATION include) install(FILES ${INCLUDES} DESTINATION
${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation)
install(FILES "$<TARGET_FILE_DIR:Recast>/Recast-d.pdb" CONFIGURATIONS "Debug" DESTINATION "lib")