Commit Graph

4177 Commits (649a14dfae3ae862a2985b1188db7b0f0d643081)

Author SHA1 Message Date
Capostrophic b08fed6d83 Fix NIF printVersion and allow 4.0.0.0 file loading 6 years ago
Andrei Kortunov 14b756a692 Use a generic logging system for RecastNavigation 6 years ago
Bret Curtis 7808cbbfe8
Merge pull request #2292 from akortunov/fallback
Make fallback map static to simplify constructors
6 years ago
bzzt 391f6faffb Remove unused defaultViewer / defaultViewPoint 6 years ago
bzzt e908790584 Inherit the view point from main camera for water RTT cameras 6 years ago
Andrei Kortunov 489e5c6cce Store preloaded terrain view in the main thread 6 years ago
bzzt 63ab7345be Reuse traversal result for different traversal with same view point
Rename eyePoint to viewPoint to match OSG conventions (eyePoint is the camera position, viewPoint is for LOD handling)
6 years ago
Bret Curtis a5504f8cc1
Merge pull request #2297 from Capostrophic/esm
Make sure the record hasn't ended in getHString hack (bug #4938)
6 years ago
bzzt 1a65adacdd Do not allocate dummy LightStateAttribute's for every stateset 6 years ago
Capostrophic 4b6fc5f720 Make sure the record hasn't ended in getHString hack (bug #4938) 6 years ago
Andrei Kortunov 368d1f9d25
Merge pull request #2191 from akortunov/viewer
Do not store Viewer reference in the ViewData
6 years ago
Andrei Kortunov cae456a4aa
Merge pull request #2294 from Capostrophic/arguments
Ignore extra arguments to PlayLoopSound3D too
6 years ago
Capostrophic 7ef7555c19 Ignore extra arguments to PlayLoopSound3D too 6 years ago
Andrei Kortunov a302ec9c65 Make fallback map static to simplify constructors 6 years ago
Capostrophic 17dce28705 Improve compiler messages 6 years ago
bzzt c8d2107b80 Do not store Viewer reference in the ViewData 6 years ago
Bret Curtis 1e9eac568f
Merge pull request #2249 from akortunov/cache
Implement generic caching system
6 years ago
Bret Curtis 6cbf1288ff
Merge pull request #1929 from Capostrophic/elseif
Ignore the rest of the line after else operator (bug #3006)
6 years ago
Capostrophic cbce1a1b7c Ignore the rest of the line after else (bug #3006) 6 years ago
Bret Curtis 8f8bba66d9
Merge pull request #2178 from Capostrophic/declaration
Ignore extra text after a local variable declaration (bug #4867)
6 years ago
Capostrophic 786f3e5fc3 Remove unused and unfinished blendmap packing feature 6 years ago
Capostrophic af47ec7756 Skip extra text after variable declaration (bug #4867) 6 years ago
Bret Curtis 5e12073b47
Merge pull request #2272 from akortunov/optimize_terrain
Do not block loading while compiling composite maps
6 years ago
Andrei Kortunov b466bfee40 Enable light sources directly to avoid virtual calls 6 years ago
Andrei Kortunov 0e1f5f68b6 Do not allow different threads to compile the same composite map 6 years ago
Andrei Kortunov cad45e96ac Remove redundant mCompile set - we do not use data from it anyway 6 years ago
bzzt c2986b3bd7 Do not block the loading thread while compiling composite maps in the
draw thread
6 years ago
Bret Curtis 26feedfcae
Merge pull request #2268 from akortunov/scanfix
Fix some issues from the Coverity Scan report
6 years ago
Bret Curtis 19dcbf2b3d
Merge pull request #2266 from Capostrophic/vsync
Vsync tweaks
6 years ago
Andrei Kortunov b2fca46206 Fix a couple of minor issues in shadows 6 years ago
Andrei Kortunov 7995a92672 Initialize missing variables 6 years ago
Capostrophic 9b65f0dbca Vsync tweaks
Try to use adaptive vsync if available
Don't use vsync if unavailable
6 years ago
Bret Curtis b819690e82
Merge pull request #2264 from akortunov/optimize_terrain
Delete composite map layers in the background thread
6 years ago
bzzt aa5a071aef Delete composite map layers in the background thread 6 years ago
Bret Curtis d56733149c
Merge pull request #2201 from akortunov/optimize_terrain
Optimize terrain
6 years ago
Bret Curtis 45221418bd
Merge pull request #2260 from elsid/fix_clean_unused_navmeshes
Fix clean unused navmeshes
6 years ago
bzzt 6029ed4ecc Reject empty quad tree nodes at the cell level without land data 6 years ago
bzzt 36fa51b6ad Fix bounding box calculation for terrain shapes 6 years ago
elsid 4624f31788
Report navigator stats 6 years ago
elsid 8adc83f6e2
Fix clean unused navmeshes
weak_ptr doesn't have constructor for shared_ptr&& type, so ptr wasn't
moved, just copied.
6 years ago
elsid 2c78d530a2
Use static vector to store stat names 6 years ago
Bret Curtis ab69ad65ed
Merge pull request #2234 from Capostrophic/terrain
Some more improvements from bzzt's branch
6 years ago
Capostrophic de572226e4 Update optimizer with upstream improvements 6 years ago
bzzt b42ad0f610 Inline certain terrain storage functions 6 years ago
bzzt e131e6699c Match vertex colors data type to source 6 years ago
elsid c91deaf7af
Use std::vector::data method to avoid reference binding to null pointer 6 years ago
elsid dd0b45ede6
Do not pass nullptr to std::memcmp 6 years ago
Bret Curtis 7917f1fc84
Merge pull request #2252 from akortunov/terrain
Do not allocate empty callbacks in the RigGeometry
6 years ago
bzzt 4ab93aeffe Do not allocate empty callbacks in the RigGeometry 6 years ago
Andrei Kortunov 2ed05a5195 Implement generic caching system 6 years ago
elsid 8e09468f45
Don't set display list usage for navmesh 6 years ago
Bret Curtis 7b1a62fc1d
Merge pull request #2247 from akortunov/loadtex
Allow to override texture records in the game
6 years ago
Andrei Kortunov 943279abbb Consider land texture with given ID and index as override for base texture with the same ID and index (bug #4736) 6 years ago
Bret Curtis 7efdddd53c
Merge pull request #2242 from elsid/make_shared
Use std::make_shared
6 years ago
Bret Curtis cb1a5f3679
Merge pull request #2245 from elsid/navigator_refactor
Refactor navigator related code
6 years ago
Bret Curtis 7b793b8809
Merge pull request #2244 from elsid/navmesh_cache_item_refactor
Make NavMeshCacheItem consistent
6 years ago
elsid 68948bc847
Avoid key allocation to find tile in cache 6 years ago
elsid 4395a92c35
Use display list to render navmesh
Slightly improves performance of massive navmesh rendering.
6 years ago
elsid 849f2078c1
Swap outside critical section 6 years ago
elsid 8d2af94b75
Use default objects for NavigatorStub methods result 6 years ago
elsid ece111d05a
Check for jobs using predicate 6 years ago
elsid c05fc9e054
Add missing cleanup 6 years ago
elsid ce9aebcba1
Clear all changed tiles after post 6 years ago
elsid 9d61c49478
Store key by reference in tiles map 6 years ago
elsid 614d5243c3
Make NavMeshCacheItem consistent
Move all logic related to this type into its methods.
6 years ago
elsid b3c5d64ff3
Use std::make_shared 6 years ago
elsid f6a1d3cecf
Store weak pointers to navmesh in jobs queue
To avoid useless processing for removed navmeshes.
6 years ago
elsid ccc709a316
Store guarded navmesh cache item in shared_ptr
Remove useless SharedGuarded type.
6 years ago
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.
6 years ago
Chris Djali c328c4a010
Merge pull request #2231 from akortunov/warnfix
Get rid of C-style limits in the shadows code
6 years ago
Andrei Kortunov bacaa1f789 Get rid of C-style limits in the shadows code 6 years ago
Andrei Kortunov 12f9184d00 Allow to interrupt terrain preloading 6 years ago
Andrei Kortunov b214c54b3a Calculate bounding volumes when preloading model instance 6 years ago
Bret Curtis c20e69ef24
Merge pull request #2227 from elsid/fix_twitchy_massive_creatures
Fix twitchy movement for massive creatures (bug #4907)
6 years ago
elsid b9f21ec81a
Use custom steps size to make smooth path depending on half extents 6 years ago
bzzt e0cf460ba3 Do not load terrain beyond the viewing distance 6 years ago
Andrei Kortunov a6fd077537 Render nearby default cells if the Distant Terrain is disabled 6 years ago
Andrei Kortunov 46e1ed660c Revert "Render default land texture for Wilderness cells with distant terrain"
This reverts commit 888c2d9a33.
6 years ago
elsid f2e47d640d
Add option to limit max number of navmesh tiles 6 years ago
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.
6 years ago
elsid 82e2739bae
Notify workers when only at least one job is posted 6 years ago
elsid b9b8ed177c
Store priority values as named fields 6 years ago
elsid 0c16fef285
Add navmesh update status builder 6 years ago
elsid 14c9190f49
Move tile replacement into separate function 6 years ago
elsid b6243e7d1f
Fix name styleguide 6 years ago
Bret Curtis 551563cbfb Merge branch 'clsb-warning' into 'master'
Hopefully fix Clang warning about hiding overloaded virtual functions

See merge request OpenMW/openmw!82
6 years ago
Bret Curtis 0764271999
Merge pull request #2224 from elsid/fix_odr_violation
Fix ODR violation for VDSMCameraCullCallback
6 years ago
Bret Curtis a381a1aff4
Merge pull request #2222 from akortunov/warnfix
Attempt to fix Clang warnings about hidden virtual methods
6 years ago
elsid 47e87cc2bd
Fix ODR violation for VDSMCameraCullCallback
This class is also defined in OpenSceneGraph at global namespace.
6 years ago
AnyOldName3 d34724a3c4 Hopefully fix Clang warning about hiding overloaded virtual functions 6 years ago
Bret Curtis c55141d18d
Merge pull request #2217 from Capostrophic/shader
Move forcePPL and clamp to global shader defines (task #4869)
6 years ago
Andrei Kortunov 72db11b56c Fix Clang warnings about hidden virtual methods 6 years ago
Capostrophic 0cdc46dfd6 Move forcePPL and clamp to global shader defines (bug #4869) 6 years ago
Capostrophic 59f7df187d Add explicit variant of Journal 6 years ago
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
Andrei Kortunov bf5f68a4d8 Replace boost GCD to the homebrew implementation 6 years ago
Bret Curtis cd70354f34
Merge pull request #2190 from akortunov/terrain
Make Distant Terrain configurable
6 years ago
Bret Curtis 3b8b0b5dd7
Merge pull request #2197 from akortunov/quadtree
Optimize terrain QuadTree build
6 years ago
Andrei Kortunov 56fea4b062 Add setting to control composite geometry size 6 years ago
bzzt 9d44e18af6 Allow to configure terrain vertex LOD 6 years ago
bzzt 03f23b235a Optimize terrain QuadTree build 6 years ago
bzzt fd94d7f7ff Make Distant Terrain more configurable (feature #4890) 6 years ago
Grigory Latyshev 3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
6 years ago
Bret Curtis fe23acdd14 Merge branch 'misc_stringutils_tolower' into 'master'
Simplify Misc::StringUtils::toLower

See merge request OpenMW/openmw!71
6 years ago
David Cernat 12cef51122
Merge pull request #2192 from Capostrophic/bzzt
Port minor fixes from bzzt's branch
6 years ago
bzzt 567ad293fd Don't discard object cache with uninitialized timestamp
This can happen during terrain loading
6 years ago
bzzt b2000b7642 Fix quad tree node child bounding box dimensions 6 years ago
bzzt 172cb74763 Delete composite map layers on demand 6 years ago
bzzt 4f387fdf1c Prune empty quad tree nodes 6 years ago
bzzt aecbc2f01c Fix crash when incremental compile operation is not used 6 years ago
Grigory af7b6a09a8 Simplify Misc::StringUtils::toLower 6 years ago
bzzt 8c649f05e6 Don't reallocate light list vector unnecessarily 6 years ago
bzzt a567111400 Use emplace instead of find-assign 6 years ago
bzzt 5bce3cbc68 Don't use MWRender namespace in common terrain components 6 years ago
Capostrophic 9bc360267b Ignore stray explicit references for names in expressions 6 years ago
Capostrophic cc855e065a Ignore stray references for variables in Set instruction 6 years ago
elsid 33f6fb258d
Option to set specific random seed for random number generator 6 years ago
Bret Curtis 3316938dfc
Merge pull request #2182 from Capostrophic/format
Replace Boost format and replace_all where possible
6 years ago
Bret Curtis 56d5fc788c
Merge pull request #2163 from Capostrophic/hello
AI data handling minor revisions
6 years ago
Capostrophic e70cc10305 Some more de-boosting 6 years ago
Capostrophic 8ecd0b82a4 Replace Boost format and replace_all where possible 6 years ago
Bret Curtis d4564a9be7
Merge pull request #2180 from akortunov/includes
Remove redundant includes
6 years ago
Bret Curtis 8cf2523a8d
Merge pull request #2176 from akortunov/rollcontroller
Add support for NiRollController
6 years ago
Bret Curtis 44920352ce
Merge pull request #2181 from Capostrophic/boost
Get rid of Boost.Array
6 years ago
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
6 years ago
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
6 years ago
Adam Fandrejewski 75c204cdd8 Fix #4835 - undefined behavior - uninitialized mCtx 6 years ago
Andrei Kortunov 3032b177a1 Remove redundant includes 6 years ago
Capostrophic 58788de7c4 Get rid of Boost.Array 6 years ago
Bret Curtis 212f097b3c
Merge pull request #2172 from akortunov/pvs_fix
Fix some issues, found by PVS-Studio
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
Andrei Kortunov 60f112d11c Add support for NiRollController (feature #4675) 6 years ago
Chris Djali cb5a57e41b
Merge pull request #1547 from AnyOldName3/osgshadow-test-vdsm
Shadows
6 years ago
AnyOldName3 0c8ad0a3bb Double buffer debug HUD frustum geometries to prevent race conditions. 6 years ago
Bret Curtis 7a9ff9f7b3
Merge pull request #2161 from akortunov/switchnode
Do not create a redundant parent node for LOD and Switch nodes
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
Andrei Kortunov 18a59df050 Throw exceptions by value instead of reference 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
Andrei Kortunov 058e289162 Do not create a redundant parent node for LOD and Switch nodes (bug #4837) 6 years ago
Andrei Kortunov 573b3f4f1d Init target for AI packages from old saves 6 years ago
Bret Curtis f4313c02e1
Merge pull request #2153 from akortunov/glowing_windows
Native glowing windows support
6 years ago