Commit Graph

4084 Commits (670b0d236526ded189c4a50b403c966028b332e0)

Author SHA1 Message Date
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
Andrei Kortunov 60c9806d62 Share RigGeometry node data 6 years ago
Azdul 7940317e42 Make sure that proper operator function is used for char[N] argument 6 years ago
Andrei Kortunov 9e4a339ad3 Daytime node switch support (feature #4836) 6 years ago
AnyOldName3 15547750ba Correct behaviour of use front face culling setting to not use back face culling either when disabled. 6 years ago
AnyOldName3 cfe921fb82 Remove uneeded includes. 6 years ago
AnyOldName3 2761a38562 Prettify shadow define map setup. 6 years ago
AnyOldName3 57e10e26b2 Make variable name less confusing 6 years ago
AnyOldName3 a24b8ec3d2 Fix enable/disable mixup. 6 years ago
AnyOldName3 556c9a3382 Add normal-offset shadow mapping to remove shadow acne (flicker) 6 years ago
Bret Curtis e748abde7d
Merge pull request #2147 from akortunov/uvcontroller
Apply UVControllers only for given UV Set
6 years ago
Andrei Kortunov 03b71d3c30 Improve switchable nodes handling by optimizer 6 years ago
Andrei Kortunov 87598f9419 Fill Switch and LOD nodes names 6 years ago
Andrei Kortunov b2126c2b6b Apply UVControllers only for given UV Set (bug #4827) 6 years ago
AnyOldName3 8482236a82 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 d82c85913a Don't bother multiplying a matrix by its inverse and applying that to the light direction.
Hopefully this will improve numerical stability and reduce shadow flicker a little.
6 years ago
AnyOldName3 4438ab4493 Use CullVisitor traversal mask for light manager. 6 years ago
Bret Curtis 8ddb45eb22
Merge pull request #2141 from akortunov/switchnode
Support NiSwitchNode
6 years ago
Andrei Kortunov 2c38e337ae Support NiSwitchNode (feature #4812) 6 years ago
Capostrophic c9df63ffd1 Replace BSAOpt hash calculation with a custom function 6 years ago
Capostrophic be5faadff8 Fix compressed BSA loading on non-Windows systems 6 years ago
Bret Curtis e1d7a8415d Merge branch 'bugfix/file-list-emptying-error' into 'master'
Fix error when create new OpenCS addon

Closes #4757

See merge request OpenMW/openmw!50
6 years ago
Bret Curtis 9cfc97a37a Merge branch 'tes4_bsa' into 'master'
Read BSA files in TES4 / TES5 formats

See merge request OpenMW/openmw!56
6 years ago
Bret Curtis 6fd4d016eb
Merge pull request #2132 from akortunov/particlefix
Fix an exception when try to load a particle node with empty sizes array
6 years ago
Azdul 7880e6f761 CompressedBSAFile::FileRecord::isCompressed implementation simplified.
Double space in CompressedBSAFile::FileRecord::getSizeWithoutCompressionFlag removed.
6 years ago
Azdul 6aa6b2dc89 Removed TES4 from file names. Correct Git file history / attribution. 6 years ago
Azdul a3bcd95546 Merge branch 'cc9cii' of https://github.com/cc9cii/openmw into tes4_bsa 6 years ago
Azdul 42ea609d1d Remove files with incorrect Git history / attribution 6 years ago
Frederic Chardon a78d98df27 Fix crashcatcher 6 years ago
Adam.Fandrejewski 777a50cb64 Replaced C++ 14 make_unique with C++ 11 compliant code 6 years ago
Azdul 0c3a3ea241 Strange issue with Linux compilation (<memory> header) 6 years ago
Azdul 4c499983ca Fixed warnings reported by GCC 6 years ago
Azdul d55cc4d3ea Linux requires <memory> header 6 years ago
Azdul caa0487c6a Replace raw pointer in BsaArchive with unique_ptr 6 years ago
Azdul e502819246 Proper conversion from shared_ptr<bsa::MemoryinputStream> to shared_ptr<std::istream> 6 years ago
Azdul b9a7514278 Memory leak fixed. Proper file names in headers. 6 years ago
Azdul c6fd979c42 Spaces instead of tabs in CMakeLists.txt 6 years ago
Azdul 96d19e07ca Fix Linux build 6 years ago
Azdul 25650e65bf Read any BSA file - detection based on version in BSA header 6 years ago
Andrei Kortunov 39c4a7833c Fix out of range exception when try to load a particle node with empty sizes array (bug #4804) 6 years ago
Capostrophic 166d757a19 Allow stray special characters before a begin statement 6 years ago
Bret Curtis 8834ee95be
Merge pull request #2120 from Capostrophic/macros
Get rid of some remaining instances of C numeric limits
6 years ago
Bret Curtis 590b393c8e
Merge pull request #2123 from akortunov/skinning
Optimize skinning, part 2
6 years ago
Bret Curtis 4617dea154
Merge pull request #2119 from akortunov/stringstream
Get rid of unnecessary string streams
6 years ago
Andrei Kortunov 8e6fd348d1 RigGeometry optimization: optimize geometry optimization 6 years ago
Capostrophic a71cfca580 Get rid of some remaining instances of C limit macros 6 years ago
Andrei Kortunov 254f01b89d RigGeometry optimization: vector iteration is more cheap than map iteration 6 years ago
Andrei Kortunov 71227ffc04 Handle possible invalid iterator issue during settings parsing 6 years ago
Andrei Kortunov 0937f02598 Get rid of unnecessary string streams 6 years ago
Bret Curtis 65a6b10995
Merge pull request #2066 from akortunov/guifixes
Do not read font size just for every single widget
6 years ago
Capostrophic d1e0a10136 Make sure AI data is initialized when loading actor records 6 years ago
Capostrophic ee2560edc3 Fix constant raining 6 years ago
Capostrophic e412e1b41c Revert to lexical_cast<float>, catch out-of-range exceptions 6 years ago
Capostrophic 467724d5e8 Improve fallback numerical value handling (bug #4768) 6 years ago
Bret Curtis 91b962c095
Merge pull request #2099 from xyzz/replace-volatile-atomic
Replace volatile bools with std::atomic<bool>
6 years ago
Capostrophic 7155e787b4 Clean up fallback record creation 6 years ago
Ilya Zhuravlev 07e9ce84b3 Replace volatile bools with std::atomic<bool> 6 years ago
AnyOldName3 199e6ed82d Revert "Use forward declaration to reduce build times."
This reverts commit 305b9826df.
6 years ago
AnyOldName3 305b9826df Use forward declaration to reduce build times. 6 years ago
Alexander Kolodeev 7c3ef213ce Fix error when create new OpenCS addon 6 years ago
AnyOldName3 7b108ae9a2 Disable depth sorting for translucent objects in the shadow maps 6 years ago
AnyOldName3 e2515f6db7 Merge branch 'master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 53188f61fc Fix animation bug with VAOs 6 years ago
Bret Curtis fc19c842cf
Revert "fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO" 6 years ago
Bret Curtis 97aa6f58e3
Merge pull request #2064 from sthalik/pr/win32-debug-parent-console
enable win32 debug console when launching from console
6 years ago
Stanislaw Halik c5c160870d fix accidental header namespace inclusion 6 years ago
Stanislaw Halik f6c8842457 move to debugging.[ch]pp 6 years ago
Stanislaw Halik 74955555b9 remove verbose comments and example 6 years ago
AnyOldName3 b6b1b39804 Make the terrain paging system use the view point rather than the eye point to determine which nodes to use so that it can be inherited by RTT cameras. 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
AnyOldName3 2d5da1a6fa Don't exclusively rely on a shadow map if its bounds have been expanded since the cull traversal. 6 years ago
Stanislaw Halik 56d79bd4e0 fix typo 6 years ago
Andrei Kortunov e073e0d8c9 Do not read font size just for every single widget 6 years ago
Stanislaw Halik 44e60b708b fix missing _WIN32 guard 6 years ago
Stanislaw Halik 64e960aa22 enable win32 debug console when launching from console 6 years ago
AnyOldName3 244bd289cb Change default colour mode (as apparently it actually gets used sometimes) 6 years ago
mp3butcher 7a85e10d2f fix a rig bug visible with OSG_VERTEX_BUFFER_HINT=VAO 6 years ago
AnyOldName3 0a409c0ab8 Make shadow map front-face culling configurable 6 years ago
AnyOldName3 dd207d9e54 Make the shadow polygon offset parameters configurable 6 years ago
AnyOldName3 642002b302 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 aa11832949 Resolve bugs with depth-clamped shadow maps 6 years ago
AnyOldName3 7ad4882f0c Fix debug hud frustum outline disappearence 6 years ago
AnyOldName3 061fa57335 Switch to better-performing data types for debug hud geometry 6 years ago
AnyOldName3 632b0d8979 Make shadow maps use their whole depth range for the overlap with the view frustum and rely on depth clamping to ensure objects outside the frustum still cast shadows. 6 years ago
AnyOldName3 660e423e99 Correct debug hud frustum colour 6 years ago
Bret Curtis 419e7ea5a2
Merge pull request #2035 from akortunov/coverity
Fix many Coverity Scan warnings
6 years ago
Andrei Kortunov 4ee15ddcb9 Fix many Coverity Scan warnings 6 years ago
Andrei Kortunov d2613e35a2 Fix some Clang 7 warnings 6 years ago
Bret Curtis 228f6b572f
Merge branch 'master' into prisonmarker 6 years ago
Bret Curtis f6243fae83
Merge pull request #1615 from akortunov/holstered_weapons
Weapon sheathing
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
Andrei Kortunov ad36834671 Fix some compiler warnings 6 years ago
Capostrophic 4efe1bc892 Add prison marker record fallback definition (bug #4701) 6 years ago
Andrei Kortunov 92e45507d8 Weapon sheathing support, including quivers and scabbards (feature #4673) 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
Andrei Kortunov 829faf7b2c Improve toggleactorspaths console command 6 years ago
AnyOldName3 b178e1868a Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
AnyOldName3 3c25e7b93d
Merge pull request #2010 from AnyOldName3/windows-debug-build-fix
Include missing Windows header before calling Windows-specific functions and switch CMake compile definitions to the new style.
6 years ago
elsid 264ea99af6 Use explicit default ctors call
Special change for MSVC2015.
6 years ago
AnyOldName3 a6d3210a9c Include missing Windows header before calling Windows-specific functions 6 years ago
AnyOldName3 d0c254bc7e Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
elsid 792a0585c0 Add recastnavigation as subdirectory 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
AnyOldName3 3785ba6aa0 Merge upstream/master 6 years ago
AnyOldName3 90986df81c Allow OSG objects to be sent to the debug log. 6 years ago
Bret Curtis d6c674660a
Merge pull request #1633 from elsid/pathfinder_detour
Use recastnavigation for pathfinding (#2229)
6 years ago
AnyOldName3 1ca7ea23d1 Add extra uniforms to the disabled shadows StateSet so that the shadow texture samplers are bound ot the dummy shadow maps correctly. 6 years ago
Bret Curtis 3c53fe16e9
Merge pull request #1986 from akortunov/rootfix
[Regression] Handle RootCollisionNode exactly as in original engine
6 years ago
elsid 49d81241db Merge branch 'master' into pathfinder_detour 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
Andrei Kortunov 6e05853478 Center progress bar when there are active messageboxes (bug #4691) 6 years ago
Andrei Kortunov 61da6b6ecf Print warning if the RootCollisionNode is attached to non-root node (bug #4311) 6 years ago
Andrei Kortunov 6d91fe69b2 Revert "Handle RootCollisionNode, attached to non-root node (bug #4311)"
This reverts commit ec9a1b0d05.
6 years ago
Marc Zinnschlag 4d88d6dd58 Merged pull request #1980 6 years ago
AnyOldName3 1e2bf9c447 Merge remote-tracking branch 'refs/remotes/upstream/master' 6 years ago
Andrei Kortunov 61e6e359c4 Allow creatures to use the autogenerated collision box (feature #2787) 6 years ago
Andrei Kortunov 41e90bd56c Unify random generator usage 6 years ago
AnyOldName3 b0907f8929 Add todos in case they're left until after the shadow PR is merged 6 years ago
AnyOldName3 a41ce42208 Move setting of colorMode to ShaderRequirements in case they're reused 6 years ago
AnyOldName3 474770eca8 Switch shadow map rendering to a specialised, simplified shader. 6 years ago
AnyOldName3 ce15369bbd Convert colorMode shader define to a uniform 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
Bret Curtis 53ccce1867
Merge pull request #1966 from akortunov/logfix
Allow apps without logging system to display log messages
6 years ago
Andrei Kortunov b5df385111 Allow apps without logging system to display log messages 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
elsid dc09674362
Add command and settings option to enable actors paths render 6 years ago
elsid c95cea414c
Support water for NavMesh 6 years ago
elsid 72f211ef28
Add enums for area type and flags 6 years ago
elsid fa23b590a4
Add unwalkable areas to NavMesh 6 years ago
elsid c771986c56
Prioritise NavMesh jobs first to remove and last to add
When player move fast enough, tiles update for specific area square
couldn't catch player move. Tiles to be removed are left in the queue
with lower priority then tiles to be added which are nearest to player.
This can lead to overflow for amount of tiles. So we try to do remove
first. But we detect change type approximately using mixed change type,
because even if we do it precise, change type could change while job
is in queue.
6 years ago
elsid b33a291a67
Log thread id 6 years ago
elsid f6a60790f8
Create collision shape for all avoided nodes 6 years ago
elsid e24d4d7052
Explicitly use RC_NULL_AREA constant to mark unwalkable areas 6 years ago
elsid 330e596c64
Remove useless parameter 6 years ago
elsid c3298d13a6
Add log sinks (stdout and file) 6 years ago
elsid 84949bedb1
Remove and add tile in single critical section 6 years ago
elsid 144e1a063b
Support animated objects 6 years ago
elsid 4aba0fa85f
Limit number of NavMesh tiles to add by distance from player tile 6 years ago
elsid d2fd9abd51
Split RecastMesh into tiles 6 years ago
elsid dbb1d99bff
Add NavMeshItem generation to fix update NavMesh for render 6 years ago
elsid f268ec5d34
Measure total time for NavMesh build from first pop 6 years ago
elsid c26773bd29
Log update NavMesh status 6 years ago
elsid 937e8e1803
Allow to create empty RecastMesh 6 years ago
elsid dd5f4498f6
Increment NavMesh revision on remove or add tile 6 years ago
elsid ed3a255f65
Do not use NavMesh to find changed tiles 6 years ago
elsid d1e71f9322
Support btBoxShape for RecastMesh 6 years ago
elsid 70a369f70e
Add command to enable NavMesh render
togglenavmesh or tnm
6 years ago
elsid 1caa18bb4f
Use one recast mesh for all jobs 6 years ago
elsid 794cfc4aa3
Write detournavigator log to file 6 years ago
elsid dd5e6a61a3
Support btCompoundShape for RecastMesh 6 years ago
elsid 373adc6ec4
Option to enable/disable file names revisions 6 years ago
elsid f8909218ee
Store recast mesh bounds 6 years ago
elsid d1d034a1ec
Update NavMesh one by one tile in order from nearest to player 6 years ago
elsid 41caca24ee
Options to enable/disable write recast mesh and nav mesh into file 6 years ago
elsid 6d233ae868
Option in settings to enable/disable detour navigator debug log 6 years ago
elsid 430ba9d7a5
Build NavMesh tile data only for changed tiles 6 years ago
elsid fafba8ea0c
Use recastnavigation to find path 6 years ago
elsid 4f2bfa1e9d
Add operators for osg types 6 years ago
elsid c01be7b07f
Add operators for bullet types 6 years ago
jvoisin ca8744af56 Fix crash in the ESM reader, when SCVR has no variable names
Fixes bug [#4678](https://gitlab.com/OpenMW/openmw/issues/4678)
The `loadSCVR` method assumes that the list of variable
names won't be empty, which it might.
Instead of crashing, we show a warning and ignore the record.
6 years ago
Andrei Kortunov f9271fd7f0 Fix crash in the ESM reader, when list is empty (bug #4677) 6 years ago
AnyOldName3 0124be5713 Merge upstream/master 6 years ago
Andrei Kortunov e06f0b797a Replace all NULLs to nullptr 6 years ago
cc9cii 6ec6b9bc2a OpenMW Integration.
Read the ESM/ESP records but do nothing with them for the moment.
6 years ago
cc9cii 15d5cdf3cf Allow TES4 ESM/ESP to co-exist with TES3 ESM/ESP.
This change aims to allow TES4/TE5 content to OpenMW.  i.e. a standalone TES4 would be implemented quite differently.  That said, the key changes are:

* Use pointers rather than references for ESM readers so that they can be switched to another variant on the fly.
* Content file dependencies to be checked within each group (only 3 groups for now, TES3/TES4/TES5)
6 years ago
cc9cii 3982573035 BSA enhancements.
* Implement hash based lookup for TES3 BSA files.
* Added TES4/TES5 BSA support.
* Implemented a hack (non-portable code) in an attempt to reduce startup time under Windows because  Boost::filesystem seems to take forever on GetFileAttributeW.  This implementation uses FindFirstFile/FindNextFile/FindClose instead.
6 years ago
cc9cii 4cd4cf8479 Resolved conflicts and build fixes. 6 years ago