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

Fails on Godot 3.5 #111

Closed
goblinJoel opened this issue Aug 13, 2022 · 8 comments
Closed

Fails on Godot 3.5 #111

goblinJoel opened this issue Aug 13, 2022 · 8 comments

Comments

@goblinJoel
Copy link

goblinJoel commented Aug 13, 2022

Hi, just tried updating from Godot 3.4.4 to 3.5, and I get this error:

E 0:00:00.930 gdnative_init: Error loading GDNative file res://addons/dijkstra-map/Dijkstra_map_library/bin/windows/dijkstra_map_gd.dll: GodotEngine v4.* is not yet supported. See godot-rust/gdnative#396

dijkstra_map_gd.dll:0 @ gdnative_init()

I did some digging and think this is due to godot-rust/gdnative#904 , which has been fixed, but I don't think they've made a new release yet. godot-rust/gdnative#910 appears to be the PR for Godot 3.5 support.

I'm not sure if there's anything you can do yet, but I wanted to bring it to your attention, since I assume an update will be needed once godot-rust updates to support 3.5.

This addon has been super useful for me, thanks for making it!

@astrale-sharp
Copy link
Collaborator

astrale-sharp commented Aug 16, 2022 via email

@TheSolarPrincess
Copy link

So when can we expect to get this fixed?

@astrale-sharp
Copy link
Collaborator

I messed with the code to get confident again and see if there was an easy way to fix the issue
in dijkstra-map-gd/Cargo.toml i put gdnative = { git = "https://github.com/Bromeon/godot-rust.git", hash = "1c65c2e145f3068ac1255ecad591121cf2a2cdef" }
just after the issue you referenced was fixed.

But we're using 0.9 and it's using 0.10 so we would have to transition to that which is a little more than i can handle.

I'll tinker a little bit more to see if there is an easy workaround.

@timujin you could eventually open a PR if you feel confident making the transition!

@goblinJoel
Copy link
Author

Someone on that 910 PR mentioned doing that with the draft branch:
gdnative = { git = "https://github.com/Bromeon/godot-rust.git", branch = "feature/godot-3.5" }
and said it worked for them. That would have a few more commits than the 1c65 I think.

But no doubt that also uses 0.10.

I'd try to help, but I've literally never used Rust!

@Bromeon
Copy link

Bromeon commented Sep 1, 2022

The next godot-rust v0.10.1 release is planned, until then I can recommend the approach mentioned by @goblinJoel. I would depend on a branch rather than a rev, because you can simply run cargo update to include more recent improvements.

However I'm not yet sure if I can include the Godot 3.5 updates into that version, due to SemVer concerns (sometimes the GDNative API changes between Godot minor versions, and for sure it adds new default parameters, which are currently breaking changes in Rust).

If someone has more information about the GDNative API changes between Godot 3.4 and 3.5, that would be great to know! The official changelog is quite brief, I think I'll need to also look into other categories (e.g. get_meta() default parameter is listed under Core).

@Bromeon
Copy link

Bromeon commented Oct 2, 2022

Update: Godot 3.5.1 is now officially supported with gdnative 0.11.0.

As anticipated, I went with a SemVer breaking change, although the API is almost entirely compatible.

@astrale-sharp
Copy link
Collaborator

astrale-sharp commented Oct 4, 2022

started working on the transition but it fails with trait errors/ macro errors that i dont understand right now ^^'

if someone feels like helping i opened a draft, advice is welcome as well !

the draft works as a workaround with some caveat for now, there is instructions to make it work there #112

@astrale-sharp
Copy link
Collaborator

The work is Done ! You still have to compile yourself to support godot 3.5.1 but its all working, closing now

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