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
scrawl
913a8fe1bd
Merge pull request #1160 from Aussiemon/actorupdatecollision
...
[Do not merge yet] Added check before attempting to remove actor's collision object
2016-12-16 20:46:00 +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
Leon Krieg
739cd5ba45
Fixed more spelling mistakes
2016-12-15 13:09:40 +01:00
Aussiemon
7c2a088b34
Added check before removing water collision object from world
2016-12-14 20:13:23 -07:00
Aussiemon
e30dfb13d3
Added check before attempting to remove actor's collision object from world
2016-12-14 19:05:30 -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
scrawl
dda4273349
Actors that start the game as dead do not float to the surface ( Fixes #3177 )
...
This has a minor bug (can you spot it?) that affects the vanilla engine as well, unfortunately not so simple to fix.
2016-02-01 23:18:18 +01:00
scrawl
daa94cc50e
Fix cppcheck warnings
2016-01-03 20:19:38 +01:00
scrawl
5ac226f519
Another collision mask fix
2015-12-19 17:02:57 +01:00
scrawl
16e3699739
Fix collision mask in castSphere
2015-12-19 16:18:12 +01:00
scrawl
2c51e7345f
Use a separate collision type for doors ( Fixes #1962 )
2015-12-18 18:32:42 +01:00