1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-20 09:23:52 +00:00
Commit graph

4084 commits

Author SHA1 Message Date
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
Andrei Kortunov
2ed05a5195 Implement generic caching system 2019-03-14 09:10:19 +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
elsid
14c9190f49
Move tile replacement into separate function 2019-03-08 15:06:11 +03:00
elsid
b6243e7d1f
Fix name styleguide 2019-03-08 15:02:49 +03:00
Bret Curtis
551563cbfb Merge branch 'clsb-warning' into 'master'
Hopefully fix Clang warning about hiding overloaded virtual functions

See merge request OpenMW/openmw!82
2019-03-08 08:50:03 +00:00
Bret Curtis
0764271999
Merge pull request #2224 from elsid/fix_odr_violation
Fix ODR violation for VDSMCameraCullCallback
2019-03-08 09:09:36 +01:00
Bret Curtis
a381a1aff4
Merge pull request #2222 from akortunov/warnfix
Attempt to fix Clang warnings about hidden virtual methods
2019-03-08 00:09:31 +01:00
elsid
47e87cc2bd
Fix ODR violation for VDSMCameraCullCallback
This class is also defined in OpenSceneGraph at global namespace.
2019-03-07 23:49:23 +03:00
AnyOldName3
d34724a3c4 Hopefully fix Clang warning about hiding overloaded virtual functions 2019-03-07 20:46:10 +00:00
Bret Curtis
c55141d18d
Merge pull request #2217 from Capostrophic/shader
Move forcePPL and clamp to global shader defines (task #4869)
2019-03-07 16:56:09 +01:00
Andrei Kortunov
72db11b56c Fix Clang warnings about hidden virtual methods 2019-03-07 17:53:59 +04:00
Capostrophic
0cdc46dfd6 Move forcePPL and clamp to global shader defines (bug #4869) 2019-03-05 23:36:08 +03:00
Capostrophic
59f7df187d Add explicit variant of Journal 2019-03-05 20:47:05 +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
elsid
133d7447f3
Update scaled objects in navigator 2019-03-03 16:46:41 +03:00
Andrei Kortunov
bf5f68a4d8 Replace boost GCD to the homebrew implementation 2019-03-02 17:32:05 +04:00
Bret Curtis
cd70354f34
Merge pull request #2190 from akortunov/terrain
Make Distant Terrain configurable
2019-03-02 11:19:45 +01:00
Bret Curtis
3b8b0b5dd7
Merge pull request #2197 from akortunov/quadtree
Optimize terrain QuadTree build
2019-03-01 17:09:06 +01:00
Andrei Kortunov
56fea4b062 Add setting to control composite geometry size 2019-03-01 18:02:40 +04:00
bzzt
9d44e18af6 Allow to configure terrain vertex LOD 2019-03-01 18:02:38 +04:00
bzzt
03f23b235a Optimize terrain QuadTree build 2019-03-01 16:17:11 +04:00
bzzt
fd94d7f7ff Make Distant Terrain more configurable (feature #4890) 2019-03-01 14:51:13 +04:00
Grigory Latyshev
3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
2019-02-28 20:03:42 +00:00
Bret Curtis
fe23acdd14 Merge branch 'misc_stringutils_tolower' into 'master'
Simplify Misc::StringUtils::toLower

See merge request OpenMW/openmw!71
2019-02-28 19:59:05 +00:00
David Cernat
12cef51122
Merge pull request #2192 from Capostrophic/bzzt
Port minor fixes from bzzt's branch
2019-02-28 12:55:58 +02:00
bzzt
567ad293fd Don't discard object cache with uninitialized timestamp
This can happen during terrain loading
2019-02-28 03:01:32 +03:00
bzzt
b2000b7642 Fix quad tree node child bounding box dimensions 2019-02-28 02:51:46 +03:00
bzzt
172cb74763 Delete composite map layers on demand 2019-02-28 02:47:00 +03:00
bzzt
4f387fdf1c Prune empty quad tree nodes 2019-02-28 02:47:00 +03:00
bzzt
aecbc2f01c Fix crash when incremental compile operation is not used 2019-02-28 02:46:59 +03:00
Grigory
af7b6a09a8 Simplify Misc::StringUtils::toLower 2019-02-28 00:24:43 +03:00
bzzt
8c649f05e6 Don't reallocate light list vector unnecessarily 2019-02-27 00:12:14 +03:00
bzzt
a567111400 Use emplace instead of find-assign 2019-02-27 00:10:34 +03:00
bzzt
5bce3cbc68 Don't use MWRender namespace in common terrain components 2019-02-27 00:04:01 +03:00
Capostrophic
9bc360267b Ignore stray explicit references for names in expressions 2019-02-26 17:47:18 +03:00
Capostrophic
cc855e065a Ignore stray references for variables in Set instruction 2019-02-26 16:58:16 +03:00
elsid
33f6fb258d
Option to set specific random seed for random number generator 2019-02-26 09:36:34 +03:00
Bret Curtis
3316938dfc
Merge pull request #2182 from Capostrophic/format
Replace Boost format and replace_all where possible
2019-02-24 20:17:31 +01:00
Bret Curtis
56d5fc788c
Merge pull request #2163 from Capostrophic/hello
AI data handling minor revisions
2019-02-24 20:14:08 +01:00
Capostrophic
e70cc10305 Some more de-boosting 2019-02-24 03:20:20 +03:00
Capostrophic
8ecd0b82a4 Replace Boost format and replace_all where possible 2019-02-24 03:20:20 +03:00
Bret Curtis
d4564a9be7
Merge pull request #2180 from akortunov/includes
Remove redundant includes
2019-02-24 01:14:16 +01:00
Bret Curtis
8cf2523a8d
Merge pull request #2176 from akortunov/rollcontroller
Add support for NiRollController
2019-02-23 23:55:27 +01:00
Bret Curtis
44920352ce
Merge pull request #2181 from Capostrophic/boost
Get rid of Boost.Array
2019-02-23 23:54:30 +01:00
Capostrophic
594ea39f5d Revise AI data handling
Make Hello 16-bit unsigned as it's intended to be
Get rid of redundant mHasAI boolean
Always save AI data subrecord
Adjust creature and NPC default rating values to Morrowind defaults
2019-02-23 21:00:47 +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
Adam Fandrejewski
75c204cdd8 Fix #4835 - undefined behavior - uninitialized mCtx 2019-02-23 13:35:25 +00:00
Andrei Kortunov
3032b177a1 Remove redundant includes 2019-02-23 08:02:12 +04:00
Capostrophic
58788de7c4 Get rid of Boost.Array 2019-02-22 23:16:34 +03:00
Bret Curtis
212f097b3c
Merge pull request #2172 from akortunov/pvs_fix
Fix some issues, found by PVS-Studio
2019-02-22 15:01:37 +01: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
Andrei Kortunov
60f112d11c Add support for NiRollController (feature #4675) 2019-02-21 12:34:35 +04:00
Chris Djali
cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
Shadows
2019-02-20 15:35:49 +00:00
AnyOldName3
0c8ad0a3bb Double buffer debug HUD frustum geometries to prevent race conditions. 2019-02-19 18:13:03 +00:00
Bret Curtis
7a9ff9f7b3
Merge pull request #2161 from akortunov/switchnode
Do not create a redundant parent node for LOD and Switch nodes
2019-02-18 19:46:25 +01: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
Andrei Kortunov
18a59df050 Throw exceptions by value instead of reference 2019-02-17 10:24:25 +04: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
9626b6ec42
Add option to disable DetourNavigator component to find paths 2019-02-16 15:50:58 +03:00
elsid
34c594f01e
Add default initializators for settings fields 2019-02-16 15:39:06 +03:00
elsid
16675fd254
Return empty path when navmesh is not found for agent 2019-02-16 15:37:06 +03:00