raeleus / skin-composer

Create skins for LibGDX scene2d.ui with a graphical interface.
MIT License
427 stars 34 forks source link

Three small unrelated changes. #146

Closed tommyettinger closed 6 months ago

tommyettinger commented 6 months ago

Whoops, I didn't intend to enter these all as one PR. The changes are:

The emoji-info.json, Twemoji.atlas, and Twemoji.png files have been updated for Unicode 14's changes. These range from new emoji, like ginger root and phoenix, to reorganized emoji, like the various heart emoji getting grouped under a "heart" subgroup, to updated names, like the flag for Turkey now being the flag for Turkiye (which should have diacritics on it, but that would make it harder to type for many keyboards) because the country officially changed its name.

Launching Skin Composer on Windows from a username with some non-[A-Za-z0-9] chars, such as a user named Råělêŭs, would have failed before because LWJGL3 can't handle anything outside a fairly limited character set in paths, and LWJGL3 tries to extract .dll files into a folder in the user's home directory. This should be fixed now, though this is just part of a more involved fix that would include StartupHelper (added by default to new Liftoff LWJGL3 projects), would help MacOS launching without needing -XstartOnFirstThread, and would probably continue in a later PR.

Loading multiple BitmapFont styles from skin files, when those styles need the same TextureRegion from an atlas, would have failed before. The TextureRegion would have been removed from drawables and added to fontDrawables, but only drawables was checked. Now if drawables can't find it, fontDrawables is checked; if it isn't in either, a warning is accumulated and the drawable is skipped (rather than throwing an NPE). This seems to work.

Sorry this is such a mess! I hope it helps.