1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-31 18:45:36 +00:00

Merge branch 'water_walking_evasion_48' into 'openmw-48'

Adjust initial distance when destination is changed for obstacle check (#6860) (0.48)

See merge request OpenMW/openmw!2442
This commit is contained in:
Evil Eye 2022-10-02 15:16:47 +00:00
commit 1e16900d97
3 changed files with 9 additions and 0 deletions

View file

@ -143,6 +143,7 @@
Bug #6794: Light sources are attached to mesh bounds centers instead of mesh origins when AttachLight NiNode is missing
Bug #6799: Game crashes if an NPC has no Class attached
Bug #6849: ImageButton texture is not scaled properly
Bug #6860: Sinnammu randomly strafes while running on water
Bug #6869: Hits queue stagger during swing animation
Bug #6890: SDL_PeepEvents errors are not handled
Bug #6895: Removing a negative number of items from a script, makes the script terminate with an error

View file

@ -137,11 +137,18 @@ namespace MWMechanics
mStateDuration = 0;
mPrev = position;
mInitialDistance = (destination - position).length();
mDestination = destination;
return;
}
if (mWalkState != WalkState::Evade)
{
if (mDestination != destination)
{
mInitialDistance = (destination - mPrev).length();
mDestination = destination;
}
const float distSameSpot = DIST_SAME_SPOT * actor.getClass().getCurrentSpeed(actor) * duration;
const float prevDistance = (destination - mPrev).length();
const float currentDistance = (destination - position).length();

View file

@ -45,6 +45,7 @@ namespace MWMechanics
private:
osg::Vec3f mPrev;
osg::Vec3f mDestination;
// directions to try moving in when get stuck
static const float evadeDirections[NUM_EVADE_DIRECTIONS][2];