Commit Graph

25211 Commits (33b8233887e588cb18ee9b6767994cfaee72b585)
 

Author SHA1 Message Date
fredzio 7a67492d81 Unbreak SetPos and the mods using it.
To make SetPos works with async physics, it was modified to register a
position offset that would be applied to the real position during the
simulation.

A common pattern to teleport NPC in scripts is a sequence of SetPos/Disable/Enable in the same frame.
Since Disable/Enable creates a new physics actor using last known
RefData::Position, the registered offset never get a chance to be applied.

Modify disable() to call moveObject with the offset applied, so that the newly created physics actor will have up-to-date position
4 years ago
psi29a 08afc4729f Merge branch 'physics_clean' into 'master'
Close 2 data races with async physics

See merge request OpenMW/openmw!695
4 years ago
fredzio b58244ac26 Guard the Bullet drawing method with a read lock on the
btCollisionWorld. It closes a race on the collision shapes coordinates.
4 years ago
fredzio dbd6e3bfee Replace pointless usage of shared_ptr by unique_ptr / non-owning raw
pointer for btCollisionWorld.
4 years ago
fredzio ccd3cbc69a Use saved actor position instead of reading again RefData in unstuck. It
is a race condition to do so.
4 years ago
Andrei Kortunov 5fce5b12f4 Merge branch 'drop_the_bird' into 'master'
Disallow inserting containers, creatures, and npcs from the save game not present in content files

Closes #5884

See merge request OpenMW/openmw!683
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
Max dc09616e59 change bugfix name to be same as ticket name 4 years ago
Max 2cd96e56d5 create constant and use constant in other parts of the code base 4 years ago
Max e56efdd562 change aim calculation 4 years ago
AnyOldName3 52eccf1a2d Merge branch 'fix-build' into 'master'
attempt to fix build issue

See merge request OpenMW/openmw!689
4 years ago
Max 72a2e3722e update syntax 4 years ago
Max 91bca0cb1f attempt to fix build issue 4 years ago
Andrei Kortunov 94d396a423
Merge pull request #3057 from akortunov/master
Fix build with OSG 3.4
4 years ago
Andrei Kortunov cf52bee188 Fix build with OSG 3.4 4 years ago
elsid e8c2cd15f0
Add #5914 to the changelog 4 years ago
elsid 453e94ea9f
Use half extents for destination distance tolerance in AiEscort
For actors moving in water destination may be located at such z coordinate
that they can't reach.
4 years ago
elsid f32e1790bc
Add half extents to AiEscord max distance
For actors with big bounding box given constants may not work properly like
it's not possible to get close enough to actor from a given angle to make it
move.
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
elsid 313355cb3d
Fix default max tile size in navigator doc 4 years ago
Evil Eye cf5a93d712 Also run NPC validation for modified base records 4 years ago
Evil Eye e79036f4e0 Don't erase the player 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 1af50b7e23 Merge branch 'sound_cleanup' into 'master'
Sound cleanup

See merge request OpenMW/openmw!567
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
Evil Eye 5e1960a76a Disallow inserting containers, creatures, and npcs from the save game not present in content files 4 years ago
psi29a f8d32c0576 Merge branch 'upd-mygui' into 'master'
Update MyGUI

Closes #5897

See merge request OpenMW/openmw!650
4 years ago
Alexei Dobrohotov 75a967d743 Merge branch 'bound_branch' into 'master'
Bound branch

Closes #5912

See merge request OpenMW/openmw!682
4 years ago
Evil Eye 8e9bd5c0bd Don't throw an exception when equipping a bound item fails 4 years ago
Evil Eye 580fa78034 Don't purge summon effects with invalid creature ids 4 years ago
AnyOldName3 f089c94d34 Merge branch 'mod-install-doc-update' into 'master'
Clarify the requirements of a data folder

See merge request OpenMW/openmw!679
4 years ago
psi29a dea638fa21 Merge branch 'bump-aqt' into 'master'
Bump aqt version

Closes #5805

See merge request OpenMW/openmw!680
4 years ago
Alexei Dobrohotov 2fdbe9b3f6 Handle BSShader[PP/No]LightingProperty 4 years ago
AnyOldName3 4862e8c8f4 Bump aqt version 4 years ago
psi29a ded59c4858 Merge branch 'master' into 'master'
Prevent physics death spiral by falling back to true delta time when needed

Closes #5431 and #5910

See merge request OpenMW/openmw!669
4 years ago
wareya 63f01d8c5f Prevent physics death spiral by falling back to true delta time when needed 4 years ago
Hristos N. Triantafillou 209e7718a8
Clarify the requirements of a data folder
The current text could be interpreted to mean that a data folder
_must_ have a plugin, but this isn't the case.

This added text clarifies that a plugin or resources are needed.
4 years ago
psi29a 86bd173d69 Merge branch 'refactoring' into 'master'
"static const" -> "static constexpr" in headers

See merge request OpenMW/openmw!676
4 years ago
AnyOldName3 b31459cc00 Merge branch 'refractiontest' into 'master'
Make refraction mixing based on water depth instead of screen depth

See merge request OpenMW/openmw!672
4 years ago
Petr Mikheev 369adf1583 Merge branch 'smarterunstuck' into 'master'
Forgot to initialize these variables

See merge request OpenMW/openmw!677
4 years ago
Petr Mikheev 7bbbe40abe "static const" -> "static constexpr" in headers 4 years ago
wareya e722c99e62 forgot to initialize these variables 4 years ago
psi29a 78894b6129 Merge branch 'smarterunstuck' into 'master'
Improve 'unstuck'ing code

See merge request OpenMW/openmw!675
4 years ago
wareya 40265bf118 make unstucking slightly smarter (can turn itself off, also acts like flat ground) 4 years ago
elsid 62c0ecbbd0
Separate engage combat timer for each actor
Use DeviatingPeriodicTimer to distribute calls over time. This reduces
stuttering and make AI more natural.
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
wareya 1a4e9df707 add bit to suppress coastline artifacts at more of a distance 4 years ago
wareya bf336e4cb4 make sun scattering color stop being an ugly radioactive green 4 years ago
AnyOldName3 d13d90a50d Merge branch 'msvc-fix-osg-src-build' into 'master'
MSVC: extern/ tweaks to make it build

See merge request OpenMW/openmw!663
4 years ago