1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-02-20 20:09:41 +00:00
openmw-tes3mp/apps/openmw/mwphysics
fredzio e5fa457fe7 Properly account for interleaved move of actors.
Before this change, if an actor position was changed while the physics
simulation was running, the simulation result would be discarded. It is
fine in case of one off event such as teleport, but in the case of
scripts making use of this functionality to make lifts or conveyor (such
as Sotha Sil Expanded mod) it broke actor movement.

To alleviate this issue, at the end of the simulation, the position of the Actor
in the world is compared to the position it had at the beginning of the
simulation. A difference indicate a force move occured. In this case,
the Actor mPosition and mPreviousPosition are translated by the difference of position.

Since the Actor position will be really set while the next simulation runs, we
save it in the mNextPosition field.
2020-11-14 20:39:16 +01:00
..
actor.cpp Properly account for interleaved move of actors. 2020-11-14 20:39:16 +01:00
actor.hpp Properly account for interleaved move of actors. 2020-11-14 20:39:16 +01:00
closestnotmeconvexresultcallback.cpp Separate ClosestNotMeConvexResultCallback 2020-03-31 00:38:34 +03:00
closestnotmeconvexresultcallback.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
closestnotmerayresultcallback.cpp Separate ClosestNotMeRayResultCallback 2020-03-31 00:38:34 +03:00
closestnotmerayresultcallback.hpp Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
collisiontype.hpp Use a separate collision type for doors (Fixes #1962) 2015-12-18 18:32:42 +01:00
constants.hpp Separate Stepper 2020-03-31 00:38:34 +03:00
contacttestresultcallback.cpp Do not block a door when it turns away. 2020-11-01 23:01:18 +01:00
contacttestresultcallback.hpp Do not block a door when it turns away. 2020-11-01 23:01:18 +01:00
deepestnotmecontacttestresultcallback.cpp Visualize hand to hand hits 2020-10-26 13:48:15 +01:00
deepestnotmecontacttestresultcallback.hpp Visualize hand to hand hits 2020-10-26 13:48:15 +01:00
hasspherecollisioncallback.hpp components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues 2020-10-22 23:57:53 +02:00
heightfield.cpp Support bullet with double precision 2020-05-13 19:24:28 +02:00
heightfield.hpp Support bullet with double precision 2020-05-13 19:24:28 +02:00
movementsolver.cpp We need to update the collision world after each step. 2020-10-15 06:41:22 +02:00
movementsolver.hpp We need to update the collision world after each step. 2020-10-15 06:41:22 +02:00
mtphysics.cpp Properly account for interleaved move of actors. 2020-11-14 20:39:16 +01:00
mtphysics.hpp Properly account for interleaved move of actors. 2020-11-14 20:39:16 +01:00
object.cpp Process movement queue in one or several background threads 2020-10-15 06:41:35 +02:00
object.hpp Process movement queue in one or several background threads 2020-10-15 06:41:35 +02:00
physicssystem.cpp Properly account for interleaved move of actors. 2020-11-14 20:39:16 +01:00
physicssystem.hpp Properly account for interleaved move of actors. 2020-11-14 20:39:16 +01:00
ptrholder.hpp Move physics object, heightfield, ptrholder into separate files 2018-10-13 22:16:24 +03:00
raycasting.hpp Add RayCastingInterface 2020-08-06 22:03:33 +02:00
stepper.cpp Separate Stepper 2020-03-31 00:38:34 +03:00
stepper.hpp Separate Stepper 2020-03-31 00:38:34 +03:00
trace.cpp Separate ClosestNotMeConvexResultCallback 2020-03-31 00:38:34 +03:00
trace.h Use tracer hit height to skip stepping up in movement solver. 2016-12-24 23:07:44 +01:00