1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 07:49:56 +00:00
Commit graph

107 commits

Author SHA1 Message Date
Allofich
6b53541571 Prevent AI actors from hitting unintended targets
(Fixes #3254)
2017-02-12 19:51:19 +09:00
scrawl
f2d4f290cc traceDown fix 2017-02-11 17:53:11 +01:00
scrawl
6ecc008813 Fix an issue uncovered by the last commit related to changing actor position without properly moving the actor 2017-02-10 02:43:49 +01:00
scrawl
cf7b0098ed Slightly increase backoff value 2017-02-10 02:05:12 +01:00
scrawl
b3d5c2bd7f Use the actor's collision shape in findGround()
The cylinder base is no longer appropriate as of the change to capsules.

This also works around a bug when tracing a small cylinder/box shape apparently introduced with bullet 2.86.
2017-02-10 02:00:52 +01:00
scrawl
35bb467c7a Fix inverted setting of variable 2017-02-07 05:28:06 +01:00
scrawl
d39d4f2619 Revert a problematic and performance costly workaround that should never have been applied and is no longer required as of the last commit. 2017-02-06 04:52:41 +01:00
scrawl
541fbb4792 Movement solver: add usage of 'on slope' flag to improve handling of steep slopes
Previously we were handling 'on slope' synonymously with 'in air' which caused some odd effects.

Practical changes:
 - Sliding down a slope no longer applies fall damage.
 - Fixed a climbing exploit that would allow climbing steep slopes with repeated use of the Jump function.
2017-02-06 04:50:58 +01:00
scrawl
708009eac4 Merge pull request #1158 from logzero/move3
[RFC] Movement solver experiments
2017-01-01 20:44:41 +01:00
logzero
dbf0fa6766 Skip stepping if movement tracer hits actor. 2016-12-31 10:57:06 +01:00
logzero
a5360483bb Back off slightly when we are touching something.
This can reduce the amount of movement solver failures significantly.
I've observed a drop of 8 iteration cases by almost factor of ten.
2016-12-25 15:34:43 +01:00
logzero
00f3bfba27 Use tracer hit height to skip stepping up in movement solver. 2016-12-24 23:07:44 +01:00
logzero
ab1724d3db Compare new velocity to the original velocity.
Using old velocity seems awkward,
probably a copypaste/refactoring bug.
2016-12-24 12:38:23 +01:00
logzero
e58de5e410 Remove superfluous velocity reflection in movement solver.
The slide projection negates the reflection effect.
Just to be sure I've compared the resulting vectors
with and without reflection at runtime.
2016-12-24 12:29:09 +01:00
scrawl
cf496287f7 Silence static analysis warnings 2016-12-22 14:43:54 +01:00
logzero
50fd913058 Refactor stepMove function into a Stepper object
to be able to reuse up stepper results
for successive movement solver iterations.
This can reduce the number of convex casts
almost by half in some cases.
2016-12-21 19:02:42 +01:00
logzero
4f6e65e481 Apply sliding upward check to new velocity.
This helps to capture the case where new velocity
only differs in the z component (normal pointing up).
TODO: Find a better way to handle the normal pointing up case.
2016-12-21 19:02:42 +01:00
logzero
0b08802910 Integrate MinStep move attempt into stepMove.
This can save 1 to 3 convex casts per iteration.
2016-12-21 19:02:41 +01:00
logzero
25a0219e4d Use cosine of max slope angle for walkable slope checks in movement solver. 2016-12-21 19:02:41 +01:00
logzero
561e0cbbf9 Use squared length for distance checks in movement solver. 2016-12-21 19:02:40 +01:00
scrawl
6140768783 Enable waterCollision after moving the player above water (Fixes #3672) 2016-12-17 23:21:33 +01:00
Aussiemon
b794aa7c2f Helper methods for updateCollisionMask(), prevent water collision being removed twice, remove Bullet 2.8.5 methods 2016-12-16 12:22:07 -07:00
Aussiemon
7c2a088b34 Added check before removing water collision object from world 2016-12-14 20:13:23 -07:00
scrawl
e0afd6d0f7 Movement solver: performance improvement for the minimum stepping distance check, no need to waste time doing a second stepMove if we did not hit a slope or the step was already large enough to begin with. 2016-12-02 02:25:05 +01:00
ShadowRadiance
354a89e3bc Slowfall now reduces momentum based on magnitude when jumping
(Allows Constant Effect Slowfall to work as in MW)
2016-11-26 06:27:11 -05:00
Allofich
0e429ae41d Make water walking mechanics closer to original MW 2016-11-20 22:21:33 +09:00
Assumeru
05cc258ed3 Start trace from collision object origin 2016-11-10 15:38:14 +01:00
Assumeru
99bc4f733f Trace up to waterlevel + halfextent 2016-11-09 18:03:10 +01:00
Assumeru
25d64989b3 Check if the actor still exists /first/ 2016-10-26 11:04:54 +02:00
Assumeru
a72cd896ca Move actors out of the water if there's room for them. Fixes #1138 2016-10-25 19:26:17 +02:00
scrawl
5ccbabc27d Fix build against bullet with profiler disabled (Fixes #3592) 2016-10-14 21:00:35 +02:00
scrawl
0209c70583 Improve performance by skipping update if transform is unchanged 2016-08-16 17:50:59 +02:00
scrawl
4751e0e953 Improve performance of animateCollisionShapes by caching the node path 2016-08-16 17:50:59 +02:00
scrawl
8a4722cb84 Revert "animateCollisionShape checks if the shape is really animated"
This reverts commit cbf344663f.

Doesn't work correctly because the Animation delays the assignment of the UpdateCallbacks until the animation starts. The commit broke the animation of in_dagoth_bridge00
2016-08-16 17:50:59 +02:00
scrawl
693d3cea4a Float to surface fix 2016-06-15 19:38:04 +02:00
Daniel Pettersson
943d9d97dc Slowfall now stops momentum when jumping 2016-06-10 15:22:12 +02:00
scrawl
d487007167 Remove debug code 2016-05-27 17:43:36 +02:00
scrawl
e396e6f2ea Adjust the eye level for line of sight checks (Fixes #3407) 2016-05-27 17:42:17 +02:00
scrawl
d840c7d5eb Slightly tweak the spawn point heuristics
Fixes an issue with hlaalu building exits
2016-03-11 22:48:28 +01:00
scrawl
5ea7446eeb Change a dynamic_cast to static_cast 2016-03-05 19:41:45 +01:00
scrawl
c085e503c6 Pass the btCollisionObject as const 2016-03-05 16:09:56 +01:00
scrawl
910e41e3c4 Allow an Object to be specified as ignore parameter for castRay 2016-03-05 15:56:19 +01:00
scrawl
83a9a164bc Raise the required bullet version to 2.83
2.82 appears to have a bug that causes the player to be able to phase through certain objects (bug #1587).
2016-02-15 00:33:17 +01:00
scrawl
796a4a795a Avoid the 'spiral of death' 2016-02-13 03:09:28 +01:00
scrawl
383524c688 Run physics in fixed timesteps, use the remainder to interpolate between current and previous state
Based on http://gafferongames.com/game-physics/fix-your-timestep/
2016-02-13 03:03:34 +01:00
scrawl
1457a0de78 Use the UnrefQueue to delete BulletShapeInstances 2016-02-09 19:04:59 +01:00
scrawl
3552b3a82c Don't create a BulletShapeInstance for actors 2016-02-09 18:51:17 +01:00
scrawl
246566cef4 Preload instances in BulletShapeManager 2016-02-09 18:48:49 +01:00
scrawl
6f9ca0f68f Add basic cell preloader class
Not properly in use yet, but seems to be working.
2016-02-07 00:14:13 +01:00
scrawl
df57d4bfba Use a common base class for resource managers
Implement updateCache to delete unreferenced cached objects when they have not been referenced for a while.
2016-02-06 17:22:17 +01:00