feat: animated GIF covers with config toggle and focus-based pausing
All checks were successful
Build plugin / build (push) Successful in 1m8s
All checks were successful
Build plugin / build (push) Successful in 1m8s
- 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
This commit is contained in:
parent
9be6847f14
commit
208dc58f28
5 changed files with 308 additions and 59 deletions
20
core/artprovider_settings.tscn
Normal file
20
core/artprovider_settings.tscn
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
[gd_scene load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://plugins/itch-artprovider/core/artprovider_settings.gd" id="1"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1qb7euwlu7bh" path="res://core/ui/components/toggle.tscn" id="2"]
|
||||
|
||||
[node name="ArtProviderSettings" type="VBoxContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/separation = 10
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="AnimatedGifsToggle" parent="." instance=ExtResource("2")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Animate GIF covers"
|
||||
description = "Extract all frames from animated GIF covers. Uses more memory but shows the full animation. Pauses when the card is not focused."
|
||||
button_pressed = false
|
||||
Loading…
Add table
Add a link
Reference in a new issue