pokepurple/addons/twitcher/media/imagemagick/gif_importer_imagemagick.gd
Mario Steele c11a4ebbc2 Initial Commit
Initial commit of Code Base.
2025-06-12 14:31:14 -05:00

52 lines
1.3 KiB
GDScript

@tool
extends EditorImportPlugin
class_name GifImporterImagemagick
enum Presets { DEFAULT }
func _get_importer_name() -> String:
return "kani_dev.imagemagick"
func _get_visible_name() -> String:
return "SpriteFrames (ImageMagick)"
func _get_recognized_extensions() -> PackedStringArray:
return ["gif", "webp"]
func _get_save_extension() -> String:
return "res"
func _get_resource_type() -> String:
return "SpriteFrames"
func _get_priority() -> float:
return 100.0
func _get_preset_count() -> int:
return Presets.size()
func _get_preset_name(preset_index: int) -> String:
return "Default"
func _get_import_options(path: String, preset_index: int) -> Array[Dictionary]:
return []
func _get_import_order() -> int:
return 0
func _get_option_visibility(path: String, option_name: StringName, options: Dictionary) -> bool:
return true
func _import(source_file: String, save_path: String, options: Dictionary, platform_variants: Array[String], gen_files: Array[String]) -> Error:
var dumper = ImageMagickConverter.new()
var tex = await dumper.dump_and_convert(source_file, [], "")
if tex:
return ResourceSaver.save(
tex,
"%s.%s" % [save_path, _get_save_extension()],
ResourceSaver.SaverFlags.FLAG_COMPRESS
)
push_error("failed to import %s" % source_file)
return OK;