viniciusgerevini/godot-aseprite-wizard

Support to Godot 4

viniciusgerevini opened this issue · 0 comments

I've just migrated the plugin to Godot 4. You can find the new implementation in the godot_4 branch. Everything should be working accordingly. I'm opening this feature for visibility.

Until Godot 4 passes 3 in popularity, I'm keeping the main branch supporting version 3. This means that any change related to Godot 4 should be aimed to the godot_4 branch.

godot_4 is the default branch now. For Godot 3 changes use the godot_3 branch as target.

I'm not expecting contributors to send changes to both branches, but I'll try to keep them in sync as much as possible.

Here are a few highlights:

Automatic importer works properly

Thanks to the async/await implementation, I was able to make the automatic importer work properly. This is a Godot importer that allows people to use .ase and .aseprite files directly as SpriteFrames, and every update in these files triggers a re-import in Godot.

I personally don't like to work like this, but some people seems to enjoy it. Some warnings around the png import might still appear in the output console, but all my tests were successful. Files are not bloated as before and cache problems seem to be less common.

This required a major refactor on sprite_frames_creator.gd, which I intend to port back to Godot 3. If you are working on a feature in this file keep in mind some conflicts might be on the way.

I also removed the extra texture options from the importer for the sake of simplicity. I'll just re-introduce them if someone request these features.

Texture filter moved to the node

In Godot 4, Texture filters moved from the importer to the node itself. This makes the Custom preset feature less relevant, but I'm still keeping it. At least for now.

Animation Player libraries

Animation Players now store animations inside animation libraries. When using the editor any animation set directly in the player is added to a Global library (global to the player). The plugin is currently also importing animations to the Global library. If you name your Aseprite tags following the pattern library_name/animation_name, the animation will be set to the correct library.

Versions

Versions will still follow semantic versioning, with the godot major version appended to the end. (i.e for godot 4, v5.1.0-4). This is only relevant in case you download the plugin from the Releases tab on Github.

Godot 4 plugin.

Godot 3 plugin