Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collection of fixes & UE4.27 + UE5 early access support #19

Open
wants to merge 26 commits into
base: master
Choose a base branch
from

Conversation

FAUSheppy
Copy link

No description provided.

OregonJunco and others added 21 commits January 14, 2019 17:39
…ixing a crash where locations that get clamped to a maximum world dimension would then round to an invalid index in VolumeIdAt (e.g. clamping 150 to 100, which then rounds to invalid index 100 instead of 99 in a 100-voxel world)
…w, as the rounding bug doesn't apply to that case. Fixed a capitalization error. Better comment.
…ly cleaned up (i.e. owner removed from task owner list), fixing a bug where asking for a new path in the callback of an old path would cause an error.
This PR changes ClampLocationToNavigableWorld so that vector components with values greater than the max world edges are clamped to just below the max values. For instance, the vector (150, 0, 0) is clamped to (99.9999, 0, 0) instead of (100, 0, 0) in a 100 centimeter world.

This was made in response to an engine crash I experienced after using ClampLocationToNavigableWorld to clean a location value before sending it into DoN. The engine crashed because VolumeAtId uses a float-to-int comparison in order to obtain a voxel address from a floating-point location, and the clamped value rounded to invalid index "100" in a 100-voxel world, whereas the valid indices ran from 0-99.

With this in mind it seems that locations exactly along the maximum edges of a DoN world are not safe, and thus it makes sense to me that ClampLocationToNavigableWorld should clamp away from them.
@RugglesJ
Copy link

First off, thank you for putting in the time to update this plugin. There are a lot of people who use it, and hate to see it be abandoned. That said, I pulled the Git repo and built for UE5, placed in my project and built my project. I am getting an error in DonNavigationManager.cpp on line 2838:

C4996 'FMath::FRandRange': Arguments cause function resolution ambiguity, expected a floating point type. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. \DonNavigationManager.cpp 2838

Any thoughts on this?

@chillpert
Copy link

First off, thank you for putting in the time to update this plugin. There are a lot of people who use it, and hate to see it be abandoned. That said, I pulled the Git repo and built for UE5, placed in my project and built my project. I am getting an error in DonNavigationManager.cpp on line 2838:

C4996 'FMath::FRandRange': Arguments cause function resolution ambiguity, expected a floating point type. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile. \DonNavigationManager.cpp 2838

Any thoughts on this?

Simply changing 0, 360 to 0.0F, 360.0F twice in DonNavigationManager.cpp (line 2838) should get rid of the warning. The function itself is not deprecated.

@RugglesJ
Copy link

RugglesJ commented Aug 2, 2022

@chillpert That did the trick. Thanks for the quick response!

support for Unbound manager in FindPathSolution_StressTesting
@FAUSheppy
Copy link
Author

Sorry I don't use preforce, if this bug is in any way related to the code itself, feel free to submitt an MR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants