TwitchEmotes
v6 (2026-09-14)
Full Changelog Previous Releases
- Mirror releases to the Gitea instance, by hand
A Gitea pull mirror replicates commits and tags only, so the mirror's Releases
page shows bare tags with nothing to download. ClassicAPI's mirror-release
workflow pushes the notes and attachments over through Gitea's API; this is
that workflow pointed at brues/TwitchEmotes.
Manual only: workflow_call is dropped, so a release does not trigger it and
nothing else calls it. Run it from the Actions UI with a tag, or with the tag
blank to backfill every release.
Needs its own MIRROR_TOKEN secret on this repo before the first run. - Draw the stats window with art 1.12 actually ships
Neither texture it asked for exists on this client, and ClassicAPI ships no
art of its own. UI-DialogBox-Background-Dark is a later addition -- 1.12 has
only the un-suffixed UI-DialogBox-Background -- and ItemSocketingFrame is TBC,
so the featured emotes' border was cropped out of a sheet whose folder isn't
there at all.
UI-Quickslot2 is the obvious stand-in for that border, but its hole is ~55% of
the texture, so a 70px emote needs a 128px ring and runs into the title above
and the caption below. It is a small backdrop frame instead, styled like the
autocomplete popup, which keeps the 86/70 sizing. The emote moves onto that
frame to draw above the backdrop; topSentTex/topSeenTex keep their names, so
the animator still finds them. - Add a README
- Pack animation sheets as tall strips
ClassicAPI's texture dimension gate lifts the two limits the sheet layout was
built around. A sheet skinnier than 16:1 drawing nothing was never a client
rule -- VanillaHelpers grew the texture recycle pool to 6x6 but left the index
stride at 5, so a 32x1024 strip collided with a 64x32 bucket and was handed
back the wrong texture. And power-of-two is no longer required, since the gate
grows the decode scratch to fit.
So a run wraps into columns only when it outgrows the scratch at 32 frames, and
a sheet is sized to its frames exactly: 20 frames is a 32x640 strip rather than
64x1024. The 128 frame budget is unchanged, and older sheets still play -- the
animator reads the column count off the sheet. - Set changelog-title