poohcom1 / godot-animated-sprite-2-player

A Godot addon to convert animated sprite frames to animations in an animation player.
https://godotengine.org/asset-library/asset/1605
MIT License
41 stars 3 forks source link

Godot 4 support #2

Closed hsandt closed 1 year ago

hsandt commented 1 year ago

Are you considering support for Godot 4? Is it feasible in some godot4 dedicated branch, or do we need a brand new repository to submit the Godot 4 version to the official Asset Library?

I started working on a Godot 4 code upgrade, and it looks promising. Besides code syntax and naming changes, the biggest actual structural change is that animations are gathered into animation libraries, but even that didn't require too much change to adapt.

I will fork this repository and put my changes in some dedicated godot4 branch that I will refer to here, then you can decide if you want to merge them in a dedicated branch on this repository too; or possibly boot up a brand new repository just for Godot 4.

hsandt commented 1 year ago

OK, you can check my work on Godot 4 update here: https://github.com/poohcom1/godot-animated-sprite-2-player/compare/master...hsandt:godot-animated-sprite-2-player:godot4

I also have a bonus commit to sanitize animation names if needed: https://github.com/hsandt/godot-animated-sprite-2-player/compare/godot4...hsandt:godot-animated-sprite-2-player:godot4-sanitize-animation-name but technically it's not a thing to do with Godot 4 animation library, it's something we could have added back in Godot 3, so I put it in a separate branch.

poohcom1 commented 1 year ago

@hsandt Looks great! I haven't thought about making a 4.0 because the games I've been using this for was in 3.x, so I really appreciate the help.

If you want, you can open up a pull request for both the 4.0 update and the sanitize name changes (I've just made a new branch for 3.x), and I'll upload a 4.0 version to the asset library.

hsandt commented 1 year ago

OK I can do that, you mean both patches together or in 2 PRs?

poohcom1 commented 1 year ago

Yeah, or you can combine the patches into one PR as well.

So something like:

hsandt commented 1 year ago

Here you go, both changes in one PR (made of 3 commits to detail individual steps, but you can squash those if you want).

I could not PR godot4-sanitize-animation-name into 3.x because it was already based on the Godot 4 version, but if you are interested, a backport should be possible, just pick the 3rd commit https://github.com/poohcom1/godot-animated-sprite-2-player/pull/3/commits/a1e8095285d8c56347972c559db5584c1b8fdf91 and adapt the change to animation instead of animation library.

poohcom1 commented 1 year ago

@hsandt Alright, I've uploaded the 4.0 version to the asset library. It's under review, but it should be available soon. Thanks again for the help!

hsandt commented 1 year ago

Thanks, I see it live! https://godotengine.org/asset-library/asset/1605

Maybe we could add the badge for v4.0 on the README too for completion?

poohcom1 commented 1 year ago

Ah right, I forgot about the badge. I'll update that as well!

hsandt commented 1 year ago

Not sure if I should reuse this ticket or open a new one (apparently I can't reopen this one), but I sent my PR for API update for beta 16 anyway.

I'll keep having an eye on every future beta snapshot and will update the API accordingly. I use a custom branch on my side, but I suppose you can just merge all the updates into your master to be up-to-date with the latest API.