itchio-opengamepadui-artpro.../plugin.gd
Jose Falanga 208dc58f28
All checks were successful
Build plugin / build (push) Successful in 1m8s
feat: animated GIF covers with config toggle and focus-based pausing
- Add settings menu with 'Animate GIF covers' toggle (default: off)
- When enabled: extract all GIF frames via ffmpeg, build AnimatedTexture
- When disabled: extract first frame only (static ImageTexture)
- AnimatedTexture starts paused — unpauses only when card has focus
- Focus-based pausing via gui_focus_changed signal (walks up to GameCard)
- Parse GIF89a frame delays for accurate animation speed
- Cache invalidation when setting changes (no restart needed)
- Cache AnimatedTextures in memory to avoid re-extraction
- Bump to v0.1.13
2026-08-19 21:11:04 -03:00

20 lines
719 B
GDScript

extends Plugin
## itch.io box art provider for OpenGamepadUI
##
## Fetches cover art and screenshots from itch.io game pages.
## Requires the itch.io library plugin to populate LibraryItem metadata.
var icon := preload("res://plugins/itch-artprovider/assets/itch.svg")
var _settings_scene := load("res://plugins/itch-artprovider/core/artprovider_settings.tscn") as PackedScene
func _ready() -> void:
logger = Log.get_logger("ItchArt", Log.LEVEL.INFO)
var boxart_provider: BoxArtProvider = load("res://plugins/itch-artprovider/core/boxart_itch.tscn").instantiate()
add_child(boxart_provider)
logger.info("itch.io Art Provider loaded")
func get_settings_menu() -> Control:
return _settings_scene.instantiate()