Commit Graph

5828 Commits (00997fa7327293db6075d47d18bd36516537ba44)

Author SHA1 Message Date
Frederic Chardon caf382c19f Merge branch 'barrier' into 'master'
Do not store callback inside Misc::Barrier

See merge request OpenMW/openmw!821
4 years ago
Andrei Kortunov 2e8873af51 Add new scene nodes to scene graph serializer blacklist 4 years ago
psi29a 08e1a8e0fb Merge branch 'esm_opti' into 'master'
Teensy optimisation for esmtool

See merge request OpenMW/openmw!826
4 years ago
jvoisin 8a56ba6aaa Fix compilation 4 years ago
elsid fbeccc2908 Apply 1 suggestion(s) to 1 file(s) 4 years ago
Bret Curtis e720a56030
Merge pull request #3080 from akortunov/fix_ci
Add missing include for std::inserter
4 years ago
Andrei Kortunov 8d4a374516 Add missing include for std::inserter 4 years ago
psi29a 6263ade01a Merge branch 'esmcleanup' into 'master'
Minor ESM code cleanup

See merge request OpenMW/openmw!825
4 years ago
David Cernat ea6d5c68ae Add OpenMW commits up to 6 May 2021
# Conflicts:
#   CMakeLists.txt
#   components/CMakeLists.txt
4 years ago
jvoisin e97e4d07dd Teensy optimisation for esmtool
- Use an unordered_set instead of a list to
  keep track of skipped records.
- Reduce the number of conditions when parsing 4-letters
  records by using a switch-case instead of cascading conditions.
- Add a const
4 years ago
CedricMocquillon a885134868 Do not search if it is not used 4 years ago
elsid 626e032931
Do not store callback inside Misc::Barrier
The only wait method can be provided with it so pass it as a template
parameter there.
4 years ago
CedricMocquillon 813b8ee0d1 Search only in the niffilemanager for nif files 4 years ago
CedricMocquillon e378159ea8 Use O(log(n)) search instead of O(n) 4 years ago
Dobrohotov Alexei 57c372a50e ESM code cleanup 4 years ago
elsid 7a51d0db18
Wait until navmesh is generated within given distance around player
Add a setting to change this distance.

To prevent situations when there is not enough navmesh generated and actors
can't find path correctly.
4 years ago
elsid f169f8e6f0
Wait until navmesh is generated for interior cells
Add special loading progress bar.

It should be fast enough to not keep loading screen for noticably long but
will provide better pathfinding for actors inside interior cells.
4 years ago
psi29a 110001d47f Merge branch 'nullroots' into 'master'
Improve null root handling

Closes #5963

See merge request OpenMW/openmw!818
4 years ago
Dobrohotov Alexei 19f0b80983 Improve null root handling 4 years ago
psi29a 6513c38875 Merge branch 'clean_navigator' into 'master'
Remove redundant and useless code from navigator

See merge request OpenMW/openmw!815
4 years ago
psi29a e94181b2b2 Merge branch 'constexpr' into 'master'
Sprinkle a couple of constexpr found by VS

See merge request OpenMW/openmw!800

(cherry picked from commit 5e8ea624bc85acebf457592dd10b790124ecf6ef)

5704b2ac Sprinkle a couple of constexpr found by VS
4 years ago
psi29a e6b097085b Merge branch 'const_ref' into 'master'
Sprinkle some const-ref to avoid unnecessary copies

See merge request OpenMW/openmw!803
4 years ago
elsid 87ada56edd Various fixes for niftest 4 years ago
elsid 865ef56a09
Replace include by RecastMesh forward declaration
To reduce dependency between navigator interface and implementation.
4 years ago
elsid ec87b3f8f7
Remove redundant ChunkyTriMesh
This AABB tree required when need to filter out input mesh that has not
influence navmesh tile output. This filtering is already done before. Each
recast mesh corresponds to a single navmesh tile and has appropriate bounds.
4 years ago
elsid bce06df254
Add missing array header 4 years ago
elsid 22aebcea74
Remove useless rcMarkWalkableTriangles call
It fills areas.data with walkable triangles but right after it's overwritten
and rcClearUnwalkableTriangles is called instead that fills areas.data with
unwalkable triangles.
4 years ago
Gleb Mazovetskiy e3a6cb1695 Remove OsIdentity.cmake
Removes the OsIdentity.cmake file and uses a cross-compilation friendly
and OS-independent method of detecting system double-precision bullet
instead.
4 years ago
psi29a 7f7041656d Merge branch 'enforce_double_bullet' into 'master'
Remove support for single-precision Bullet, fail during configuration instead of during linking (#5980)

See merge request OpenMW/openmw!806
4 years ago
David Cernat a3f304107b Add OpenMW commits up to 2 May 2021
# Conflicts:
#   components/CMakeLists.txt
4 years ago
fredzio 6fd04cb8f6 Remove support for single-precision Bullet, fail during configuration instead of during linking. 4 years ago
jvoisin d4d111a709 Don't use std::move on const 4 years ago
jvoisin d45184a730 Sprinkle some const-ref to avoid unnecessary copies 4 years ago
jvoisin 813969a46e Fix an off-by-one in windows_crashcatcher.cpp 4 years ago
Chris Djali f0cef87cd8
Merge pull request #3069 from akortunov/msvc_warnings
Rework warnings settings
4 years ago
psi29a 0e50349192 Merge branch 'uvcontroller' into 'master'
Fix NiUVController UV offset calculations (bug #5995)

Closes #5995

See merge request OpenMW/openmw!795
4 years ago
Dobrohotov Alexei 971ba81ed2 Use higher level transformations in UVController 4 years ago
Alexei Dobrohotov e9ff90f3de Merge branch 'pgrd_overflow' into 'master'
Fix a heap overflow in loadpgrd.cpp

See merge request OpenMW/openmw!784
4 years ago
jvoisin 5f65583a3a Fix a heap overflow in loadpgrd.cpp 4 years ago
Dobrohotov Alexei 24f4bf9c28 Fix NiUVController UV offset calculations (bug #5995) 4 years ago
Andrei Kortunov 18a4c81b5c Merge branch 'fix_toggleborders' into 'master'
Fix ToggleBorders debug view with 'Shaders' lighting method

See merge request OpenMW/openmw!792
4 years ago
AnyOldName3 ceb6a280ff Fix typo
Hopefully this will actually let us make better use of shadow bounds,
but I wouldn't count on it.
4 years ago
glassmancody.info 9f314d1d6f Fix ToggleBorders 4 years ago
Roman Siromakha 68ddde84fe
Merge pull request #3074 from akortunov/warnfix
Declare separate constructors with const reference and rvalue arguments for OscillatingRecastMeshObject
4 years ago
psi29a 16bb3919d1 Merge branch 'navmesh_cache_simplification' into 'master'
Simplify navmesh cache

See merge request OpenMW/openmw!691
4 years ago
Andrei Kortunov 0bc0cfce5f Declare separate constructors with const reference and rvalue arguments for OscillatingRecastMeshObject 4 years ago
Evil Eye abb120b439 Don't log a warning for reading to the end of the subrecord 4 years ago
Alexei Dobrohotov add04a4ea0 Merge branch 'fix_esm' into 'master'
Fix a read head-buffer-overflow in esm

See merge request OpenMW/openmw!751
4 years ago
Andrei Kortunov 6d351b2bdd Fix MSVC 4706 warnings 4 years ago
Andrei Kortunov 2d869ca9ff Fix node masks signed/unsigned mismatch 4 years ago
Bret Curtis 50d6cd2a34
Merge pull request #3070 from akortunov/coverity
Fix an another portion of Coverity warnings
4 years ago
Bret Curtis c6c92b5712
Merge pull request #3071 from akortunov/master
Fix an another batch of MSVC complaints
4 years ago
David Cernat bf0a42fdad [General] Implement ActorSpellsActive packet, part 1
The packet can now set the active spells of DedicatedActors.
4 years ago
AnyOldName3 ff46eceabe Merge branch 'maybe-reintroduce-5904' into 'master'
Fix crash on startup

See merge request OpenMW/openmw!709
4 years ago
Andrei Kortunov d10399e083 Cast double constant to float explicitely 4 years ago
Andrei Kortunov 7d5c5f8a24 Do not assign negative values to unsigned variables 4 years ago
Andrei Kortunov 9647b670e4 Do not declare unused variables 4 years ago
Andrei Kortunov 2009916dd8 Fix dead code 4 years ago
Bret Curtis befa3f587f
Merge pull request #3068 from akortunov/master
Clean up MSVC warnings
4 years ago
psi29a b645c1f4c0 Merge branch 'navmesh_ignore' into 'master'
Do not trigger NavMesh update when RecastMesh update should not change NavMesh (#4917)

See merge request OpenMW/openmw!762
4 years ago
elsid 3e67f5ffa5
Detect and ignore updates for oscillating objects
To avoid triggering NavMesh update when RecastMesh change should not change
NavMesh.

Based on the following assumption:
Given a set of transformations and a bounding shape for all these
tranformations, a new object transformation that does not change this
bounding shape also should not change navmesh if for all of this object
transformations resulting navmesh tiles are equivalent

The idea is to report back to RecastMeshManager all changes of NavMesh if there
are any assiciated with RecastMesh version. So we know the last time when
RecastMesh change resulted into the NavMesh change. When later report shows
that there was no NavMesh change for a new RecastMesh version we can assume
that any object transformation within the same bounding box should not change
NavMesh.
4 years ago
elsid 64fb700ae9
Remove unnecessary relation between updateCompoundObject and RecastMeshObject 4 years ago
elsid 629cedb6d0
Do not track last build revision in RecastMeshManger
mLastBuildRevision == mRevision with current use cases does not happen. But
even if this will happen when another use case will be added it does not save
much computation. The most expensive operation is not adding objects to the
MeshBuilder but to optimize resulting navmesh that will happen anyway in
MeshBuilder::create call.
4 years ago
psi29a 3423d3f882 Merge branch 'various_warn' into 'master'
Fix various warnings found by clang

See merge request OpenMW/openmw!758
4 years ago
elsid 62f32f4543
Do not replace equivalent navmesh tiles 4 years ago
jvoisin 032ba1e9a0 Fix the compilation 4 years ago
David Cernat 31a18561a2 [General] Update credits
CoreScripts contributions are no longer counted, as that is a separate repo.
4 years ago
Andrei Kortunov 987b231fdd Fix an another portion of Coverity warnings 4 years ago
jvoisin c0f7e0d585 Use isnan 4 years ago
jvoisin 38316cdaf8 Fix various warnings found by clang
- unused alias
- inefficient use of push_back
- exceptions not inheriting from std::exception
- weird use of a comma
- value compared against itself
4 years ago
psi29a a69619a1e8 Merge branch 'where_is_my_log' into 'master'
Don't clobber game log file when we collect a stack trace.

See merge request OpenMW/openmw!755
4 years ago
jvoisin a35eae3dd1 Fix a read head-buffer-overflow in esm
The check forgot to account for the terminal zero.
4 years ago
fredzio 4058e117ca Don't clobber game log file when we collect a stack trace.
When the crash catcher catch a signal it forks to collect data about its
parent. In the process the child reinitialize the log file, which ends
up empty.
4 years ago
Andrei Kortunov f308dde254 Clean up MSVC warnings 4 years ago
psi29a d3c865d909 Merge branch 'fix_bsa' into 'master'
Add some validation for bsa parsing

Closes #5955

See merge request OpenMW/openmw!750
4 years ago
psi29a d0883f9a0d Merge branch 'light_settings_tweak' into 'master'
Lighting patch

Closes #5957 and #5959

See merge request OpenMW/openmw!752
4 years ago
glassmancody.info 16856d45c5 Lighting Patch
Fixes build errors with older OSG builds and some issues with 'shared' layout.
Bring back ambient in inventory through lightmodel instead of sun ambient, mirrors scene ambient/sunlight relationship.
Forces shaders when certain lighting methods are enabled and finalize settings.
Correctly override sun for localmap.
4 years ago
Evil Eye 80266d435c Merge branch 'fix_crash' into 'master'
Fix an off-by-one in loadscpt

See merge request OpenMW/openmw!728
4 years ago
jvoisin 47ced7dec4 Add some validation for bsa parsing
This should fix #5955
4 years ago
David Cernat 4acf9e289b [General] Move active spell structs from BasePlayer to BaseStructs 4 years ago
fredzio 16b288f53c Re-add dropped struct keyword to fix build.
rtprio is both a struct and a function, so we need to be explicit.

../../../components/misc/thread.cpp:53:9: error: must use 'struct' tag
to refer to type 'rtprio' in this scope
rtprio prio;
^
struct
/usr/include/sys/rtprio.h:91:5: note: struct 'rtprio' is hidden by a
non-type declaration of 'rtprio' here
int     rtprio(int, pid_t, struct rtprio *);
^
1 error generated.
4 years ago
psi29a c686dd05d0 Merge branch 'thread_idle_priority' into 'master'
Set idle priority for navmesh generation thread

See merge request OpenMW/openmw!632
4 years ago
Andrei Kortunov 33b8233887 Validate GUI scaling and place it to the launcher 4 years ago
elsid ab8d1c02d4
Set idle priority for navmesh generation thread
Support Linux, Windows, FreeBSD.
4 years ago
Andrei Kortunov 016a1d45df Remove outdated field - remnant from earlier implementation 4 years ago
Andrei Kortunov 0c7ddd3938 Remove redundant qualifiers 4 years ago
Andrei Kortunov ac347810ca Fix uninitialized field in the mouse event 4 years ago
Andrei Kortunov bce6effe95 Fix uninitialized variables in the LightManager 4 years ago
Andrei Kortunov e309f75938 Join variables declaration and usage 4 years ago
Andrei Kortunov 5f6f2c15b1 An another attempt to suppress Coverity warning about mkstemp 4 years ago
Andrei Kortunov 696cf9ab05 Extend variables range to avoid integer overflow 4 years ago
David Cernat cedf70f367 Add OpenMW commits up to 13 Apr 2021
# Conflicts:
#   .travis.yml
#   apps/openmw/mwmechanics/actors.cpp
#   apps/openmw/mwmechanics/summoning.cpp
#   apps/openmw/mwphysics/mtphysics.hpp
4 years ago
glassmancody.info 531a6e1979 Code review fixes, remove implicit GLSL casts 4 years ago
glassmancody.info 582f7b52cf Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info 92033bca64 Fixed error in calculating viewspace sun dir, minor cleanup 4 years ago
glassmancody.info 9e80091aff clear up force shaders and make it less convoluted 4 years ago
glassmancody.info 8ce65232ff fix race condition with sun uniform 4 years ago
glassmancody.info d4e7d25d14 Make life not suck for whoever wants to edit lighting shaders 4 years ago
glassmancody.info eecb9886a9 Shader cleanup, fix indicies 4 years ago
glassmancody.info 4ba473b684 Finalize settings, torch fix 4 years ago
glassmancody.info 71c30a31df in-game settings, some require restart 4 years ago
glassmancody.info 3d713e8602 Fix incorrect minimum ambient 4 years ago
glassmancody.info 280fd2b162 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info d195602a9d Switch to shared layout, some rewording 4 years ago
glassmancody.info 690995988b More formatting, OpenCS cells are unbroken 4 years ago
glassmancody.info 328ec85757 Code review cleanup, add setting documentation 4 years ago
glassmancody.info 05a5cee132 Brighter point lights and light fade 4 years ago
glassmancody.info 7370acdf54 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info 43ac32921c Rewrite, support different lighting methods 4 years ago
glassmancody.info 9d9074c244 Add shared UBO 4 years ago
glassmancody.info c5ea966f24 Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info dda735c54a initial commit 4 years ago
jvoisin 54adb9cbed Fix an off-by-one in loadscpt 4 years ago
fredzio fda639eb57 Remove unused forward declarations 4 years ago
psi29a 301411c5c5 Merge branch 'esm_variant' into 'master'
Use std::variant for ESM::Variant implementation

See merge request OpenMW/openmw!719
4 years ago
Andrei Kortunov 45b1c68af4 Remove annotation which does not work 4 years ago
Andrei Kortunov 903b89a0ff Add bound for UI scale factor, as it specified in docs 4 years ago
Andrei Kortunov 124a33d8a3 Fix uninitialized variables 4 years ago
Andrei Kortunov 41c78a889a Check for decompression error code 4 years ago
elsid 8e1c92d9af
Use std::variant for ESM::Variant implementation 4 years ago
CedricMocquillon d617d66a87 Add file to BSA 4 years ago
elsid 03fc3ec803
Do not allow write variant of string as local variable
To be consitent with read where it's not allowed.
4 years ago
AnyOldName3 168f26fc80 Fix crash on startup 4 years ago
AnyOldName3 c6033b4de6 Fix #5904 4 years ago
Andrei Kortunov b61337643e Merge branch 'issue-5680' into 'master'
change aim calculation

See merge request OpenMW/openmw!685
4 years ago
Andrei Kortunov bb9c4d5377 Merge branch 'fix_the_swimmer' into 'master'
Fix The Swimmer (#5914)

See merge request OpenMW/openmw!686
4 years ago
elsid 0c6d72b2d1
Consider first set element as first acquired 4 years ago
elsid f2ebad5115
Return cached element when set existing 4 years ago
elsid 05d6f6ac25
Use single map for navmesh cache 4 years ago
elsid b9a40bc5fc
Add NavMeshTilesCache benchmarks 4 years ago
David Cernat 17ee3d54e4 [General] Lower priority of WorldRegionAuthority packets
Previously, sending a PlayerCellChange packet and a WorldRegionAuthority packet to the player at the same time made the latter arrive first even if the former was intended by a server script to arrive first.
4 years ago
Max 2cd96e56d5 create constant and use constant in other parts of the code base 4 years ago
Andrei Kortunov cf52bee188 Fix build with OSG 3.4 4 years ago
elsid 39c0ce9ddf
Build limited path for far destinations
When distance between start and end point is greater than max radius of area
possibly covered by navmesh there is no way to find path via navmesh. Also if
distance is greater than cell size navmesh might not exists withing mentioned
area because cell is not loaded therefore navmesh is not generated. So minumum
of these values is used to limit max path distance. Assuming that path
actually exists it's possible to build path to the edge of a circle. When
actor reaches initial edge path is built further. However it will not be
optimal.
4 years ago
psi29a a86b6ff6e2 Merge branch 'nifnifnifnifnif' into 'master'
Add in incomplete BSShader[PP/No]LightingProperty work before it rots away

See merge request OpenMW/openmw!681
4 years ago
psi29a 415591b7ed Merge branch 'ai_reaction_deviation' into 'master'
Distribute AI reactions and engage combat calls over time

See merge request OpenMW/openmw!674
4 years ago
Alexei Dobrohotov 2fdbe9b3f6 Handle BSShader[PP/No]LightingProperty 4 years ago
wareya 63f01d8c5f Prevent physics death spiral by falling back to true delta time when needed 4 years ago
David Cernat 4940687455 [General] Remove 'using namespace std' from multiplayer components 4 years ago
David Cernat 59cb31e0a7 Add OpenMW commits up to 20 Mar 2021
# Conflicts:
#   apps/openmw/CMakeLists.txt
#   apps/openmw/mwmechanics/aipursue.cpp
#   components/CMakeLists.txt
4 years ago
elsid 675c0ab72f
Apply uniform random deviation to AI reaction timer
This allows to distribute AI reaction calls over time.

Before this change actors appearing at the same frame will react in the same
frame over and over because AI reaction period is constant. It creates a
non-uniform CPU usage over frames. If a single frame has too many AI reactions
it may cause stuttering when there are too many actors on a scene for current
system.

Another concern is a synchronization of actions between creatures and NPC.
They start to go or hit at the same frame that is unnatural.
4 years ago
Bret Curtis 68c1adec0f
Merge pull request #3055 from akortunov/keyinit
Init animation key struct before usage
4 years ago
Andrei Kortunov a22f6b24d5 Init animation key struct before usage 4 years ago
Alexei Dobrohotov 7acebbd6e8 Merge branch 'no-using-namespace-std' into 'master'
Minor cleanup: Remove `using namespace std`

See merge request OpenMW/openmw!664
4 years ago
Gleb Mazovetskiy b9c2f6ea1a Minor cleanup: Remove `using namespace std`
I came across these while trying to figure why MSVC build triggers
https://developercommunity.visualstudio.com/t/error-c2872-byte-ambiguous-symbol/93889

In the end, the issue was not in openmw but in OSG, but it's good to
clean up here anyway.
4 years ago
AnyOldName3 ba74fbf30e Fix MyGUI log
Also actually print an error to the regular log when the MyGUI log can't
be opened so we notice if we kill it again in under five years.
4 years ago
AnyOldName3 20852e82b2 Merge branch 'zbuffer' into 'master'
NiZBufferProperty: handle depth test flag (bug #5902)

Closes #5902

See merge request OpenMW/openmw!658
4 years ago
Dobrohotov Alexei 952b31ac5c NiZBufferProperty: handle depth test flag (bug #5902) 4 years ago
Bret Curtis 90baf8ad60
Merge pull request #3053 from akortunov/master
Add move assignment operator for the ESM::Variant
4 years ago
AnyOldName3 9466d6a409 Hide macro usage from Macs where it isn't defined 4 years ago