1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 12:19:55 +00:00
openmw-tes3mp/apps
fredzio 31d8ce266b Close a race between main and physics threads when actor is positioned by scripts.
When a position is forced, the actor position in physics subsystem is
overriden. The background physics thread is not made aware of this,
its result are simply discarded.

There is a short window where this doesn't work (in this
example, actor is at A and script moves it to B)
1) actor position is set to B. (among others, Actor::mPosition is set to B)
2) physics thread reset Actor::mPosition with stale value (around A)
3) main thread read simulation result, reset Actor::mSkipSimulation flag => actor is at B
4) physics thread fetch latest Actor::mPosition value, which is around A
5) main thread read simulation result, actor is around A

To avoid this situation, do not perform 2) until after 3) occurs. This
way, at 4) starts the simulation with up-to-date Actor::mPosition
2021-03-06 10:41:55 +01:00
..
bsatool Add compressed BSA support to bsatool 2020-10-23 14:04:21 +03:00
esmtool supress -> suppress 2020-06-27 01:20:57 +02:00
essimporter Use overrides, when needed 2020-06-10 12:58:15 +04:00
launcher Downgrade FOV-dependent view distance factor to a recommendation 2021-01-11 06:53:23 +03:00
mwiniimporter Merge pull request #3018 from akortunov/emplace 2020-11-01 01:58:56 +03:00
niftest Remove NIFFile settings manager dependency 2020-11-09 14:24:48 +03:00
opencs CMake: Fix support for OSG static lib paths 2021-02-26 10:48:09 +00:00
openmw Close a race between main and physics threads when actor is positioned by scripts. 2021-03-06 10:41:55 +01:00
openmw_test_suite Set bounding min and max height for btHeightfieldTerrainShape 2021-02-28 20:49:22 +01:00
wizard Wizard: Only allow to select Morrowind.esm master files, display an error if Morrowind.bsa is missing 2021-02-14 10:34:13 +01:00
doc.hpp