-
-
Notifications
You must be signed in to change notification settings - Fork 23.4k
Jolt: Update to 5.4.0 #110965
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
Jolt: Update to 5.4.0 #110965
Conversation
That was fast! |
I would say the most relevant changes for godot are:
Where the 2nd one makes it possible to complete #106697 |
I was a bit curious about jrouwe/JoltPhysics#1758. Would you say that's something people are likely to run into, or notice at all? |
This only makes a difference on bad meshes and most likely doesn't have a huge impact. it won't do anything if enhanced edge detection is on. |
It looks like the version check in None of the feature bits are causing problems, so I'm assuming it's because There's probably some way of wiping the CI cache, but this will cause issues for anyone compiling EDIT: It turns out you don't need SCons caching enabled. The same thing happens when doing normal incremental builds as well. I don't really understand how this can happen in the first place, short of SCons doing some sloppy caching, like not running source files through the preprocessor first. There's no way I would've thought this would invalidate all the godot/modules/jolt_physics/SCsub Lines 178 to 179 in 9283328
|
It seems it's actually the other way around, because |
The SCons output with This is unlike (for example) the integration of the Manifold library in Someone more familiar with SCons probably needs to take a look at this. |
It looks like in
to
For me this makes all the dependencies show up when running scons with
However, on my machine it still doesn't rebuild. |
I think I figured it out, I now added both lines:
The first disables warnings in external headers, the 2nd makes scons search the correct path for dependencies. The reason why it still isn't working is that I was passing Lines 536 to 538 in b4472f4
that enables the option I commented those 3 lines out locally and then it works. This should at least fix all the non |
Maybe @Repiteo or someone else in @godotengine/buildsystem can help us figure out why that seems to mess with SCons tracking of header dependencies in |
Just to unblock this I've changed the Jolt However, this of course does nothing for whatever other unchanged Jolt source files that might possibly need recompiling due to some header dependency having changed. It only addresses the Also, even with this hack, I believe this can still cause problems if the following happens:
In such a case you will most likely |
The projects that I usually smoke test with all seem to behave as expected, so I've taken this out of draft. |
I may have found a solution to that problem :) |
The |
I feel like this shouldn't be the case, since just changing Maybe some compilation flags changed or something, thus forcing a recompile? In any case, I'm glad to see it working. |
Well yes going from |
That's not quite true, as there's still a few stragglers that hardcoded that include style. Those cases are handled in #111346 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested locally on several demo projects, it works as expected. Code looks good to me.
Thanks! |
Well, I don't understand how, but we ended up having a report of this version check crash anyway, which was then resolved with a clean build. Since this will likely keep being a problem when people go to bisect with |
This bumps Jolt Physics from jrouwe/JoltPhysics@0373ec0 (version 5.3.0) to jrouwe/JoltPhysics@036ea7b (version 5.4.0).
Several of the changes in this release have already been backported to our copy, so the release notes aren't going to be entirely applicable, but here they are anyway.
This brings in a few bug fixes that haven't been backported, and in general makes our copy more "proper" I guess, by not relying on backports anymore.
(Leaving this as draft until I've tested it a bit.)
CC @jrouwe.