mirror of
https://github.com/brues-code/TwitchEmotes.git
synced 2026-09-30 11:30:01 +00:00
a0082b9f354878da199944dd44cdc72e06d711b4
A source wider than it is tall was squeezed into a square 32x32 cell, so it rendered as a letterboxed sliver in a 28x28 box. The frame cell now follows the source - 32 tall, as wide as its aspect wants - and the payload carries a matching display size. Cinema (298x112) goes from a 32x12 strip with transparent bands to an 85x32 cell filling a 28x74 box. Notes on the payload: it reads HEIGHT first then width, per ParseIcon in ClassicAPI's InlineTexture.cpp. A square still frame keeps its bare :28:28 with no crop; anything else needs one to pick its cell out of the texture. Non-square cells stay single-column, since the animator derives its column count as imageWidth / frameWidth, which only holds when the cell tiles the texture width exactly. layout() also checks the 16:1 limit both ways now - a very wide sheet can bust it as easily as a tall one. --file decouples the texture basename from the trigger word, so a :token: emote is possible at all: ':Cinema:.tga' is not a legal filename.
Description
No description provided
25 MiB