1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-16 16:10:58 +00:00
OpenMW/apps/openmw
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
..
mwbase Fix frame rate limit 2021-02-12 00:03:11 +01:00
mwclass Fallback to default cell name for door destination 2021-02-10 22:13:04 +01:00
mwdialogue Also allow negative AI values in dialogue 2021-02-05 19:00:35 +01:00
mwgui Reset effect icon transparency when they're hidden (#5877) 2021-03-03 21:17:59 +03:00
mwinput Don't assume unmapped keycodes outside the extended ASCII range are unprintable 2021-02-25 21:37:21 +01:00
mwmechanics AIPursue: Pursue the player until LOS is established (#5869) 2021-03-03 22:06:58 +03:00
mwphysics Close a race between main and physics threads when actor is positioned by scripts. 2021-03-06 10:41:55 +01:00
mwrender Make the dummy texture for the character preview even more shadow-friendly 2021-02-23 23:24:40 +00:00
mwscript Don't return negative values from GetMagicka 2021-02-07 11:58:23 +01:00
mwsound Remove redundant SoundManager::lookupSound and loadSound 2021-01-09 14:11:49 +01:00
mwstate
mwworld Merge branch 'boltsize' into 'master' 2021-02-15 08:40:30 +00:00
android_main.cpp
CMakeLists.txt CMake: Fix support for OSG static lib paths 2021-02-26 10:48:09 +00:00
doc.hpp
engine.cpp Fix frame rate limit 2021-02-12 00:03:11 +01:00
engine.hpp Implement instanced groundcover 2021-01-26 22:29:41 +04:00
main.cpp Implement instanced groundcover 2021-01-26 22:29:41 +04:00