Bret Curtis
b819690e82
Merge pull request #2264 from akortunov/optimize_terrain
...
Delete composite map layers in the background thread
2019-03-18 13:52:17 +01:00
bzzt
aa5a071aef
Delete composite map layers in the background thread
2019-03-18 14:00:50 +04:00
Bret Curtis
d56733149c
Merge pull request #2201 from akortunov/optimize_terrain
...
Optimize terrain
2019-03-18 08:59:10 +01:00
Bret Curtis
45221418bd
Merge pull request #2260 from elsid/fix_clean_unused_navmeshes
...
Fix clean unused navmeshes
2019-03-18 08:57:46 +01:00
bzzt
6029ed4ecc
Reject empty quad tree nodes at the cell level without land data
2019-03-18 10:27:29 +04:00
bzzt
36fa51b6ad
Fix bounding box calculation for terrain shapes
2019-03-18 10:27:09 +04:00
elsid
4624f31788
Report navigator stats
2019-03-17 22:15:18 +03:00
elsid
8adc83f6e2
Fix clean unused navmeshes
...
weak_ptr doesn't have constructor for shared_ptr&& type, so ptr wasn't
moved, just copied.
2019-03-17 21:28:34 +03:00
elsid
2c78d530a2
Use static vector to store stat names
2019-03-17 20:50:15 +03:00
Bret Curtis
ab69ad65ed
Merge pull request #2234 from Capostrophic/terrain
...
Some more improvements from bzzt's branch
2019-03-17 18:07:19 +01:00
Capostrophic
de572226e4
Update optimizer with upstream improvements
2019-03-17 07:59:16 +03:00
bzzt
b42ad0f610
Inline certain terrain storage functions
2019-03-17 07:27:27 +03:00
bzzt
e131e6699c
Match vertex colors data type to source
2019-03-17 07:24:22 +03:00
elsid
c91deaf7af
Use std::vector::data method to avoid reference binding to null pointer
2019-03-16 00:46:00 +03:00
elsid
dd0b45ede6
Do not pass nullptr to std::memcmp
2019-03-14 22:15:57 +03:00
Bret Curtis
7917f1fc84
Merge pull request #2252 from akortunov/terrain
...
Do not allocate empty callbacks in the RigGeometry
2019-03-14 14:53:35 +01:00
bzzt
4ab93aeffe
Do not allocate empty callbacks in the RigGeometry
2019-03-14 12:37:41 +04:00
elsid
8e09468f45
Don't set display list usage for navmesh
2019-03-12 00:05:55 +03:00
Bret Curtis
7b1a62fc1d
Merge pull request #2247 from akortunov/loadtex
...
Allow to override texture records in the game
2019-03-11 21:05:30 +01:00
Andrei Kortunov
943279abbb
Consider land texture with given ID and index as override for base texture with the same ID and index (bug #4736 )
2019-03-11 20:19:19 +04:00
Bret Curtis
7efdddd53c
Merge pull request #2242 from elsid/make_shared
...
Use std::make_shared
2019-03-11 07:53:02 +01:00
Bret Curtis
cb1a5f3679
Merge pull request #2245 from elsid/navigator_refactor
...
Refactor navigator related code
2019-03-11 07:51:43 +01:00
Bret Curtis
7b793b8809
Merge pull request #2244 from elsid/navmesh_cache_item_refactor
...
Make NavMeshCacheItem consistent
2019-03-11 07:51:22 +01:00
elsid
68948bc847
Avoid key allocation to find tile in cache
2019-03-11 03:01:41 +03:00
elsid
4395a92c35
Use display list to render navmesh
...
Slightly improves performance of massive navmesh rendering.
2019-03-10 23:58:49 +03:00
elsid
849f2078c1
Swap outside critical section
2019-03-10 23:58:49 +03:00
elsid
8d2af94b75
Use default objects for NavigatorStub methods result
2019-03-10 23:58:49 +03:00
elsid
ece111d05a
Check for jobs using predicate
2019-03-10 23:58:49 +03:00
elsid
c05fc9e054
Add missing cleanup
2019-03-10 23:58:49 +03:00
elsid
ce9aebcba1
Clear all changed tiles after post
2019-03-10 23:58:48 +03:00
elsid
9d61c49478
Store key by reference in tiles map
2019-03-10 23:56:52 +03:00
elsid
614d5243c3
Make NavMeshCacheItem consistent
...
Move all logic related to this type into its methods.
2019-03-10 23:07:36 +03:00
elsid
b3c5d64ff3
Use std::make_shared
2019-03-10 22:07:46 +03:00
elsid
f6a1d3cecf
Store weak pointers to navmesh in jobs queue
...
To avoid useless processing for removed navmeshes.
2019-03-10 17:06:19 +03:00
elsid
ccc709a316
Store guarded navmesh cache item in shared_ptr
...
Remove useless SharedGuarded type.
2019-03-10 17:06:19 +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
Chris Djali
c328c4a010
Merge pull request #2231 from akortunov/warnfix
...
Get rid of C-style limits in the shadows code
2019-03-09 19:00:39 +00:00
Andrei Kortunov
bacaa1f789
Get rid of C-style limits in the shadows code
2019-03-09 13:52:03 +04:00
Andrei Kortunov
12f9184d00
Allow to interrupt terrain preloading
2019-03-09 13:15:23 +04:00
Andrei Kortunov
b214c54b3a
Calculate bounding volumes when preloading model instance
2019-03-09 13:15:16 +04: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
bzzt
e0cf460ba3
Do not load terrain beyond the viewing distance
2019-03-08 22:15:27 +04:00
Andrei Kortunov
a6fd077537
Render nearby default cells if the Distant Terrain is disabled
2019-03-08 22:15:27 +04:00
Andrei Kortunov
46e1ed660c
Revert "Render default land texture for Wilderness cells with distant terrain"
...
This reverts commit 888c2d9a33
.
2019-03-08 22:15:27 +04:00
elsid
f2e47d640d
Add option to limit max number of navmesh tiles
2019-03-08 17:39:04 +03:00
elsid
ff47df4f2c
Repost navmesh update jobs when failed because of out of memory
...
DT_OUT_OF_MEMORY error is returned when limit of tiles is reached.
2019-03-08 17:39:04 +03:00
elsid
82e2739bae
Notify workers when only at least one job is posted
2019-03-08 15:27:16 +03:00
elsid
b9b8ed177c
Store priority values as named fields
2019-03-08 15:23:36 +03:00
elsid
0c16fef285
Add navmesh update status builder
2019-03-08 15:07:07 +03:00