Commit Graph

121 Commits (coverity_scan)

Author SHA1 Message Date
scrawl a55604c549 Avoid unnecessary AABB update when actor position has not changed 8 years ago
scrawl fb073e5c14 Avoid unnecessary AABB update for rotationally invariant collision shapes 8 years ago
scrawl 5198fc897d Fix collision glitch caused by Bullet AABB not being updated when an actor moves without turning 8 years ago
scrawl b9740fd2a1 Fix btHeightFieldTerrainShape triangle layout to match rendering 8 years ago
Allofich 6b53541571 Prevent AI actors from hitting unintended targets
(Fixes #3254)
8 years ago
scrawl f2d4f290cc traceDown fix 8 years ago
scrawl 6ecc008813 Fix an issue uncovered by the last commit related to changing actor position without properly moving the actor 8 years ago
scrawl cf7b0098ed Slightly increase backoff value 8 years ago
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.
8 years ago
scrawl 35bb467c7a Fix inverted setting of variable 8 years ago
scrawl 91939c4687 Switch actors to capsule shapes now that the jumping bug is gone (Fixes #2116, Fixes #2909)
The culprit was - surprise, surprise - d39d4f2619
8 years ago
scrawl 03aa270551 Construct PhysicActor as on ground by default to avoid a jumping animation from playing in the first frame after a savegame load 8 years ago
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. 8 years ago
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.
8 years ago
scrawl 708009eac4 Merge pull request #1158 from logzero/move3
[RFC] Movement solver experiments
8 years ago
logzero dbf0fa6766 Skip stepping if movement tracer hits actor. 8 years ago
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.
8 years ago
logzero 00f3bfba27 Use tracer hit height to skip stepping up in movement solver. 8 years ago
logzero ab1724d3db Compare new velocity to the original velocity.
Using old velocity seems awkward,
probably a copypaste/refactoring bug.
8 years ago
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.
8 years ago
scrawl cf496287f7 Silence static analysis warnings 8 years ago
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.
8 years ago
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.
8 years ago
logzero 0b08802910 Integrate MinStep move attempt into stepMove.
This can save 1 to 3 convex casts per iteration.
8 years ago
logzero 25a0219e4d Use cosine of max slope angle for walkable slope checks in movement solver. 8 years ago
logzero 561e0cbbf9 Use squared length for distance checks in movement solver. 8 years ago
scrawl 6140768783 Enable waterCollision after moving the player above water (Fixes #3672) 8 years ago
scrawl 913a8fe1bd Merge pull request #1160 from Aussiemon/actorupdatecollision
[Do not merge yet] Added check before attempting to remove actor's collision object
8 years ago
Aussiemon b794aa7c2f Helper methods for updateCollisionMask(), prevent water collision being removed twice, remove Bullet 2.8.5 methods 8 years ago
Leon Krieg 739cd5ba45 Fixed more spelling mistakes 8 years ago
Aussiemon 7c2a088b34 Added check before removing water collision object from world 8 years ago
Aussiemon e30dfb13d3 Added check before attempting to remove actor's collision object from world 8 years ago
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. 8 years ago
ShadowRadiance 354a89e3bc Slowfall now reduces momentum based on magnitude when jumping
(Allows Constant Effect Slowfall to work as in MW)
8 years ago
Allofich 0e429ae41d Make water walking mechanics closer to original MW 8 years ago
Assumeru 05cc258ed3 Start trace from collision object origin 8 years ago
Assumeru 99bc4f733f Trace up to waterlevel + halfextent 8 years ago
Assumeru 25d64989b3 Check if the actor still exists /first/ 8 years ago
Assumeru a72cd896ca Move actors out of the water if there's room for them. Fixes #1138 8 years ago
scrawl 5ccbabc27d Fix build against bullet with profiler disabled (Fixes #3592) 8 years ago
scrawl 0209c70583 Improve performance by skipping update if transform is unchanged 8 years ago
scrawl 4751e0e953 Improve performance of animateCollisionShapes by caching the node path 8 years ago
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
8 years ago
scrawl 693d3cea4a Float to surface fix 9 years ago
Daniel Pettersson 943d9d97dc Slowfall now stops momentum when jumping 9 years ago
scrawl d487007167 Remove debug code 9 years ago
scrawl e396e6f2ea Adjust the eye level for line of sight checks (Fixes #3407) 9 years ago
scrawl d840c7d5eb Slightly tweak the spawn point heuristics
Fixes an issue with hlaalu building exits
9 years ago
scrawl 5ea7446eeb Change a dynamic_cast to static_cast 9 years ago
scrawl c085e503c6 Pass the btCollisionObject as const 9 years ago