Commit Graph

79 Commits (be57da3b1ad5dd7b6606680a8eb3872fe04f7e90)

Author SHA1 Message Date
elsid 27d7452267
Update scaled objects in navigator 6 years ago
Bret Curtis 14c93b3df0 Revert "Merge pull request #2204 from elsid/fix_navigator_update"
This reverts commit 26fb0e7a0f, reversing
changes made to 42b2391303.
6 years ago
elsid 133d7447f3
Update scaled objects in navigator 6 years ago
Grigory Latyshev 3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
6 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 6 years ago
elsid 73734fc04d
Fix update navmesh for not changed objects
When update method is called for not changed object befor this change
all object tiles were considered as not object tiles and were removed.
Also this marked those tiles as changed. This lead to alternation
between remove and add each tile update method was called. Problem was
detected by using Animated Containers mod.
6 years ago
Bret Curtis 09262e0336
Merge pull request #2170 from elsid/disable_navigator_option
Add option to disable DetourNavigator component (feature #4833)
6 years ago
elsid da6df818ff
Fix update navmesh
Every updated object should produce a set of changed tiles where it is
placed. Before this change only current object tiles were updated. If
object was moved to another set of tiles then navmesh were not changed
in new tiles.

TileCachedRecastMeshManager::updateObject should add all new tiles if object
was moved and remove all no more used tiles. Both new and old tiles should be
marked as changed.

Also add tests to show desired result for add, update, remove.
6 years ago
elsid 9626b6ec42
Add option to disable DetourNavigator component to find paths 6 years ago
elsid 34c594f01e
Add default initializators for settings fields 6 years ago
elsid 16675fd254
Return empty path when navmesh is not found for agent 6 years ago
elsid 1d3668cd22
Add Navigator interface 6 years ago
elsid d63881e054
Make Navigator::findPath independent from class fields 6 years ago
elsid a0ed981a7c
Fix operator ++ for OutputTransformIterator 6 years ago
elsid c68e64a2a7
Make navigator from settings manager setting in separate function 6 years ago
elsid da431135fa
Use pointer to check is NavMeshTilesCache::Value initialized 6 years ago
elsid aab7f2e8b9
Don't check for equality in move assignment
Assume it is undefined behavior to move-assing value to itself.
6 years ago
Andrei Kortunov 4ee15ddcb9 Fix many Coverity Scan warnings 6 years ago
Bret Curtis 9ae077c033
use c++11 std::align from <memory> (#2026)
* use c++11 std::align from <memory>

* for Ubuntu, use gcc5 instead of 4.8

* use travis to set gcc to 5

eval

and sudo

* use eval in .travis.yml

* use gcc-8

* replace precise with trusty llvm toolchain, because we have been using trusty for awhile now

* push things to matrix, so we can support multiple releases if we want

* we should not be allowing for failures, we are ready to start trusting clang and its analyzer

* scan-build was pushed to another package

* use gcc-8 still but wrap in scan-build

* travis.yml cleanup, have output of scripts go to stdout, make search for substring a regex

use double []

fix missing ,

use bash to use regex

black spaces matter

* set human readable names for our various builds, split out our static analysis between openmw and openmw-cs

* test if not set, then set otherwise ignore

* use quotes

* do not eval it, set it in travis env

* no more &&

* what does clang7 have to say?

* use sourceline for now

* use clang-7 instead of clang-7.0

* yes, llvm-toolchain-trusty-7 not llvm-toolchain-trusty-7.0

* for static analysis, openmw is compiled and checked on its own while openmw-cs is build with all the rest. this might change in the future.

and actually do it the other way around
6 years ago
Bret Curtis a8d944e756
Merge pull request #2023 from elsid/navmesh_cache_limit
Navmesh cache limit
6 years ago
elsid 6e78fbb538
Double key size for item cache size 6 years ago
elsid 696bb9adc8
Add missing decrease for free navmesh data size 6 years ago
elsid d2c2bdadb5
Add align implementation 6 years ago
elsid b477775e16
Use callback to iterate over chunks 6 years ago
elsid db5638bf6d
Add global recast allocator to allocate temp buffers on stack 6 years ago
Andrei Kortunov a387c6b910 Fix MSVC2015 C4503 warning 6 years ago
Bret Curtis 261bbded00
Merge pull request #2016 from elsid/navmesh_update_change_type
Use new change type for update object
6 years ago
elsid 41319eb2bf
Use new change type for update object
To perform jobs for updated animated objects and doors with lowest
priority.
6 years ago
elsid b77684a135
Add TODOs 6 years ago
elsid 2ba026e2b2
Limit navmesh cache size by data size + key size 6 years ago
AnyOldName3 0208cb8616
Merge pull request #2001 from AnyOldName3/enable-osg-logging
Allow OSG objects to be sent to the debug log.
6 years ago
AnyOldName3 4489f23005 Remove recastnavigation conflicts 6 years ago
Andrei Kortunov a615076c61 Add default return value 6 years ago
elsid 50b6ae3e10 Fix calculation for shape local AABB 6 years ago
elsid af2f4e8424 Allow to use zero cache size 6 years ago
elsid abc51a8a17 Add settings option to set max number of polygons per navmesh tile 6 years ago
elsid 03d4ce5e49
Log find path exception with level verbose, add more info to message 6 years ago
elsid dc2eb2e16b
Do not write to global log async navmesh updater exceptions 6 years ago
elsid e57504ae7c
Lower log level 6 years ago
elsid 0f6a64ad54
Split makeNavMeshTileData 6 years ago
elsid fb655cb04f
Remove macroses to check recastnavigation functions result 6 years ago
elsid ed73d130f9
Cache navmesh tiles
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.

Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.
6 years ago
elsid 69b5834c64
Add doc for Navigator 6 years ago
elsid ae7285e960
Use ScopeGuarded instead of raw mutex 6 years ago
elsid cf4066751c
Add classes to encapsulate value guarded by mutex 6 years ago
elsid 1a27489904
Add special type for object id 6 years ago
elsid 7c80bb9411
Support multiple threads for async nav mesh updater 6 years ago
elsid ff478aba6d
Use actor half extent for interior cells 6 years ago
elsid 346e9e3141
Add off mesh connections for doors without teleport 6 years ago
elsid d02beae5a8
Find path for actors according to their abilities to swim and walk 6 years ago