Capostrophic
8baddefdbd
Refactor extra data and particle modifier handling
...
Objects no longer inherit from extra data class
"Controlled" harmful abstraction no longer exists
Introduced NiParticleModifier/NiParticleCollider abstractions
Extra data size reading moved into the base read() method
2019-09-13 20:26:22 +03:00
elsid
0479ebf5ae
Remove unused actors and navmeshes on update
...
When there is only one actor (player) on a scene and it moving to other
cell first it will be removed from navigator then added. Remove cause
navmesh removing for its half extents. After it is added navmesh for
same half extents is created and added. While this all happens there are
still jobs for old navmesh are processing. Old navmesh still exists
because it is stored by shared pointer. So jobs take tiles from cache
and place them into old navmesh. After that other jobs take same tiles
from cache (half extents and coordinates are equal) and place them into
other navmesh. dtNavMesh changes tile data on add and remove. Adding tile
to two dtNavMesh corrupts tile in both nameshes.
2019-03-10 17:06:15 +03:00
Bret Curtis
c20e69ef24
Merge pull request #2227 from elsid/fix_twitchy_massive_creatures
...
Fix twitchy movement for massive creatures (bug #4907 )
2019-03-09 02:11:11 +01:00
elsid
b9f21ec81a
Use custom steps size to make smooth path depending on half extents
2019-03-08 22:33:34 +03:00
elsid
f2e47d640d
Add option to limit max number of navmesh tiles
2019-03-08 17:39:04 +03:00
elsid
27d7452267
Update scaled objects in navigator
2019-03-04 22:59:39 +03:00
Bret Curtis
14c93b3df0
Revert "Merge pull request #2204 from elsid/fix_navigator_update"
...
This reverts commit 26fb0e7a0f
, reversing
changes made to 42b2391303
.
2019-03-04 11:06:15 +01:00
Bret Curtis
84ce9814fd
Merge pull request #2203 from elsid/update_recastnavigation
...
Update recastnavigation
2019-03-03 20:48:50 +01:00
elsid
133d7447f3
Update scaled objects in navigator
2019-03-03 16:46:41 +03:00
elsid
895899b25b
Fix tests
2019-03-03 13:46:24 +03:00
elsid
2b3bc4fe61
Add detailed output for osg::Vec3f in tests
2019-03-03 13:46:24 +03:00
Bret Curtis
4a69d96483
Merge branch 'esm_name_template_fix' into 'master'
...
Make sure that proper operator function of ESM:FIXED_STRING is used for char[N] argument
See merge request OpenMW/openmw!63
2019-02-23 13:39:15 +00:00
Bret Curtis
8e3b10b5b4
Merge branch 'detour_navigator_unit_test_fix' into 'master'
...
Fix DetourNavigatorNavMeshTilesCacheTest on Windows
See merge request OpenMW/openmw!65
2019-02-23 07:59:03 +00:00
elsid
2342a31add
Add more tests for TileCachedRecastMeshManager
2019-02-22 11:49:02 +03:00
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.
2019-02-22 11:48:31 +03:00
Bret Curtis
09262e0336
Merge pull request #2170 from elsid/disable_navigator_option
...
Add option to disable DetourNavigator component (feature #4833 )
2019-02-18 16:01:30 +01:00
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.
2019-02-17 01:50:53 +03:00
elsid
16675fd254
Return empty path when navmesh is not found for agent
2019-02-16 15:37:06 +03:00
elsid
1d3668cd22
Add Navigator interface
2019-02-16 15:37:06 +03:00
Azdul
2412017685
Fix DetourNavigatorNavMeshTilesCacheTest on Windows
2019-02-10 08:04:39 +01:00
Azdul
7940317e42
Make sure that proper operator function is used for char[N] argument
2019-02-03 09:32:32 +01:00
Azdul
32013d35f2
Formatting of CMakeLists made consistent with other CMakeLists files.
2019-01-23 14:21:11 +01:00
Azdul
6d8215ecb6
Google Test / Google Mock / OpenMW unit tests on Windows
2019-01-23 14:21:03 +01:00
Andrei Kortunov
d2613e35a2
Fix some Clang 7 warnings
2018-11-09 19:42:59 +04:00
elsid
6e78fbb538
Double key size for item cache size
2018-11-05 02:21:19 +03:00
elsid
2ba026e2b2
Limit navmesh cache size by data size + key size
2018-11-03 16:14:07 +03:00
elsid
792a0585c0
Add recastnavigation as subdirectory
2018-11-01 17:01:22 +01:00
AnyOldName3
6bbc1cb308
Remove outdated include
2018-10-31 19:32:52 +00:00
AnyOldName3
93843d024c
Remove another duplicate operator<<
2018-10-31 16:26:53 +00:00
Bret Curtis
d6c674660a
Merge pull request #1633 from elsid/pathfinder_detour
...
Use recastnavigation for pathfinding (#2229 )
2018-10-30 20:44:13 +01:00
elsid
50b6ae3e10
Fix calculation for shape local AABB
2018-10-28 16:58:22 +03:00
elsid
abc51a8a17
Add settings option to set max number of polygons per navmesh tile
2018-10-28 15:36:47 +03:00
Andrei Kortunov
d2f3196ee8
Fix testcase for RootCollisionNode with MRK data
2018-10-26 21:21:34 +04:00
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.
2018-10-13 22:22:12 +03:00
elsid
1a27489904
Add special type for object id
2018-10-13 22:16:35 +03:00
elsid
7c80bb9411
Support multiple threads for async nav mesh updater
2018-10-13 22:16:34 +03:00
elsid
d02beae5a8
Find path for actors according to their abilities to swim and walk
2018-10-13 22:16:33 +03:00
elsid
c95cea414c
Support water for NavMesh
2018-10-13 22:16:32 +03:00
elsid
72f211ef28
Add enums for area type and flags
2018-10-13 22:16:32 +03:00
elsid
fa23b590a4
Add unwalkable areas to NavMesh
2018-10-13 22:16:32 +03:00
elsid
f6a60790f8
Create collision shape for all avoided nodes
2018-10-13 22:16:31 +03:00
elsid
144e1a063b
Support animated objects
2018-10-13 22:16:30 +03:00
elsid
d2fd9abd51
Split RecastMesh into tiles
2018-10-13 22:16:30 +03:00
elsid
937e8e1803
Allow to create empty RecastMesh
2018-10-13 22:16:29 +03:00
elsid
ed3a255f65
Do not use NavMesh to find changed tiles
2018-10-13 22:16:28 +03:00
elsid
d1e71f9322
Support btBoxShape for RecastMesh
2018-10-13 22:16:28 +03:00
elsid
373adc6ec4
Option to enable/disable file names revisions
2018-10-13 22:16:27 +03:00
elsid
d1d034a1ec
Update NavMesh one by one tile in order from nearest to player
2018-10-13 22:16:26 +03:00
elsid
41caca24ee
Options to enable/disable write recast mesh and nav mesh into file
2018-10-13 22:16:26 +03:00
elsid
fafba8ea0c
Use recastnavigation to find path
2018-10-13 22:16:25 +03:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
elsid
f2a63bcf35
Add unit tests for BulletNifLoader
2018-08-11 18:00:52 +03:00
elsid
6afc1dc3a0
Support build with coverage for components and test suite
2018-08-11 17:24:40 +03:00
elsid
ef631a0961
Add dependency for GMock
2018-08-11 16:52:53 +03:00
Andrei Kortunov
1f4dd3b393
Make partial binary search case insensitive, as it supposed to be (bug #4558 )
2018-08-05 13:26:12 +04:00
Capostrophic
84a871cac7
Actually enable is_pod test
2018-07-28 23:56:42 +03:00
Bret Curtis
0fc198be52
Merge pull request #1698 from Capostrophic/c++11
...
A bunch of C++11-related updates
2018-05-06 10:44:11 +02:00
Capostrophic
85b7aa4f09
Uncomment is_pod test in fixed string tests
2018-05-03 19:47:39 +03:00
elsid
2f9b6b536b
Label gtest directories as system
...
To hide all warnings when use custom GTEST_ROOT.
2018-03-13 21:27:14 +03:00
AnyOldName3
5ce34f1cbf
Move new behaviour into macro to reduce code duplication
2017-09-08 22:17:42 +01:00
AnyOldName3
3c0ec0d6d0
If CMake supports it, sets the debugger working directory for Visual Studio
2017-09-08 17:26:46 +01:00
Andrei Kortunov
de14e9811d
Fixed Travis CI build
2017-05-08 11:16:03 +04:00
scrawl
48c764a580
Update test
2017-05-07 23:31:06 +02:00
scrawl
813af876f6
Use a partial binary search in isReservedName ( Fixes #3835 )
2017-05-07 23:28:56 +02:00
Roman Proskuryakov
5ae1864062
Add unit tests for ESM::FIXED_STRING
2016-05-07 23:27:33 +03:00
scrawl
aae1aa3708
Adjust tests to work with esm_rewrite branch.
2015-11-14 00:27:59 +01:00
scrawl
f91aae2350
Tests: add record overwrite test
2015-11-14 00:27:59 +01:00
scrawl
1e817a976f
Tests: add record deletion test
2015-11-14 00:27:59 +01:00
scrawl
771193bae8
Tests: add content_diagnostics_test (requires some data files)
2015-11-14 00:27:59 +01:00
scrawl
38c155c579
Tests: add dialogue_merging_test (requires some data files)
2015-11-14 00:27:59 +01:00
scrawl
d0d8c2eded
Delete empty test
2015-11-14 00:27:59 +01:00
scrawl
66e7e04807
UnitTests: add another dialogue keyword test
2015-01-10 00:29:07 +01:00
scrawl
1b302b750c
UnitTests: add tests for KeywordSearch conflict resolution
2015-01-09 20:53:49 +01:00
scrawl
9d07edda13
UnitTests: remove GMock which wasn't used anyway, and the gmock headers fail to compile together with gtest on ubuntu 14.04
2015-01-09 20:53:43 +01:00
scrawl
40c3fa0dc1
Fix travis
2014-07-12 18:53:22 +02:00
scrawl
b3735981d6
Remove unused file_finder
2014-05-15 21:36:24 +02:00
scrawl
9998c2783e
Fix travis
...
Why again do we need a unit test for something that was never used?
2014-04-21 17:37:06 +02:00
Lukasz Gromanowski
2c49458b6c
Added unittests for FileFinder::FileFinderStrict class.
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-08-31 00:13:42 +02:00
Lukasz Gromanowski
0e83b50659
Changed test dir for SearchTest.
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-08-30 23:24:33 +02:00
Lukasz Gromanowski
2baaef7d87
Added unittests for FileFinder::FileFinder class.
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-08-30 23:23:34 +02:00
Lukasz Gromanowski
303e02cab5
Added unittests for FileFinder::find function.
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-08-30 22:45:30 +02:00
Lukasz Gromanowski
515a865daa
Changed ASSERT_EQ to ASSERT_TRUE/FALSE.
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-08-30 22:44:03 +02:00
Lukasz Gromanowski
da0b90ee45
Converted tests from components/misc into google unittests.
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2013-08-30 21:57:06 +02:00
Lukasz Gromanowski
770f747eec
Added fix for not visible pthreads functions for linker with glibc 2.15
...
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2012-08-20 00:18:40 +03:00
Lukasz Gromanowski
34513cf16b
Added support for code coverage checking and unittests.
...
Added support for code coverage checking with gcov and
unittests with Google C++ unittest and GMock frameworks.
Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
2012-08-19 22:23:46 +03:00