-
-
Notifications
You must be signed in to change notification settings - Fork 21.3k
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
Replace //
with \\
before sending path to Blender
#85335
Replace //
with \\
before sending path to Blender
#85335
Conversation
I just wanted to double check, is there anything else I can do to improve this? I considered an integration test but since it's an interaction between Godot, Blender and a Windows file share, it might be more trouble to maintain than it's worth. |
@RedMser Looking good? |
//
with \\
before sending path to Blender
@zinefer Judging by the discussion above, you have not compiled the code to see if your change actually fixes the problem? If you don't want to build Godot locally (although it's recommended to set that up on your PC for easier testing), you can download a build from GitHub by going to this PR's "Checks" tab at the top, then in the top right there is a dropdown "Artifacts". |
I have tested the Blender side by calling the RPC with a modified payload but I have not done E2E testing. 🙊
Great tip! I will report back. Thanks for all the help everyone. 🤩 |
I have tested it E2E and with the latest commit, things are working! 🎉 Here's a screen recording: 2023-12-05-17-43-28.mp4 |
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.
Looks good! Could you squash the commits? See PR workflow for instructions.
dc17496
to
b8e3460
Compare
You didn't squash your commits, you just picked the first one, you need to restore what suggestions were made |
Yeah, I see that, I'm working on it! Thanks for the fast assistance! |
You can do: Though this likely happened because you forgot to pull the changes to your computer |
b8e3460
to
ab0755a
Compare
Failing style checks now... On it. 😰 |
On Windows, Blender treats //fileshare/assets/model.blend as a relative path which will not be found. Instead, replace the first two chars with `\\` which when escaped becomes `\\\\`.
ab0755a
to
72d18d5
Compare
Oof! I sure made a mountain out of that molehill. 😅 I think we're good to go now. A single commit with:
Once the pipeline finishes, I'll download the executable and test it against my project just to be extra careful since I have already mucked this up lol. |
I just downloaded and successfully tested this build. 🚀 |
Thanks! And congrats for your first merged Godot contribution 🎉 |
Cherry-picked for 4.2.2. |
Why?
I was having an issue using the blend importer and realized it was the fact that I keep my files on a network drive. Using wireshark I was able to see both the http RPC call and the SMB traffic and could tell that Blender was attempting to open a file at
//fileshare/game/fileshare/game/assets/model.blend
and not finding it. I can see that the path sent is//fileshare/game/assets/model.blend
but unfortunately, without the backslashes, Blender just treats it as a relative path.Interesting too, because
c_escape()
is being called which says to me that someone expected this to return backslashes.Then I noticed in
ProjectSettings
that\
is replaced with/
.What?
Instead, when the path begins with
//
, replace the first two chars with\\
which when escaped becomes\\\\
.Resolves #85334