mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-10 03:18:55 +02:00
[tools] update-icons: Update ALL icons (#3184)
- remove leftovers - update script to update all Eden related icons - using base_named rather than base on About page - TODO: Reduce size of the icons even more and add Monochrome variation Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3184 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: Maufeat <sahyno1996@gmail.com> Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Co-committed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
This commit is contained in:
parent
46b32b7688
commit
a79eab9564
28 changed files with 766 additions and 246 deletions
|
|
@ -1,30 +0,0 @@
|
|||
#!/bin/sh -e
|
||||
|
||||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# Generate SDK <26 icons for android
|
||||
# requires imagemagick, inkscape
|
||||
|
||||
ROOTDIR=$PWD
|
||||
|
||||
cd src/android/app/src/main
|
||||
|
||||
cd res/drawable
|
||||
# convert vector to svg--needed to generate launcher png
|
||||
cp ic_yuzu_icon.xml tmp
|
||||
|
||||
python3 "$ROOTDIR"/tools/VectorDrawable2Svg.py tmp
|
||||
|
||||
inkscape -w 768 -h 768 tmp.svg -o ic_tmp.png
|
||||
magick ic_icon_bg_orig.png -resize 512x512 bg_tmp.png
|
||||
|
||||
magick bg_tmp.png -strip -type TrueColor -depth 8 -colorspace sRGB -color-matrix "1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0" bg_tmp_rgb.png
|
||||
magick -verbose bg_tmp_rgb.png ic_tmp.png -gravity center -composite -colorspace sRGB ic_launcher.png
|
||||
echo
|
||||
|
||||
rm ./*tmp*
|
||||
|
||||
cd "$ROOTDIR"
|
||||
|
||||
# TODO: add legacy icons
|
||||
|
|
@ -5,33 +5,72 @@
|
|||
|
||||
# Updates main icons for eden
|
||||
|
||||
#which png2icns || (which yay && yay libicns) || exit
|
||||
which magick || exit
|
||||
which optipng || exit
|
||||
|
||||
EDEN_BASE_SVG="dist/icon_variations/base.svg"
|
||||
#EDEN_SMALL_SVG="dist/icon_variations/base_small.svg"
|
||||
EDEN_NAMED_SVG="dist/icon_variations/base_named.svg"
|
||||
VARIATION=${VARIATION:-base}
|
||||
|
||||
magick -density 256x256 -background transparent $EDEN_BASE_SVG -define icon:auto-resize -colors 256 dist/eden.ico || exit
|
||||
convert -density 256x256 -resize 256x256 -background transparent $EDEN_BASE_SVG dist/yuzu.bmp || exit
|
||||
EDEN_BASE_SVG="dist/icon_variations/${VARIATION}.svg"
|
||||
EDEN_NAMED_SVG="dist/icon_variations/${VARIATION}_named.svg"
|
||||
EDEN_BG_COLOR="dist/icon_variations/${VARIATION}_bgcolor"
|
||||
# TODO: EDEN_MONOCHROME_SVG Variation
|
||||
|
||||
magick -size 256x256 -background transparent $EDEN_BASE_SVG dist/qt_themes/default/icons/256x256/eden.png || exit
|
||||
magick -size 256x256 -background transparent $EDEN_NAMED_SVG dist/qt_themes/default/icons/256x256/eden_named.png || exit
|
||||
magick dist/qt_themes/default/icons/256x256/eden.png -resize 256x256! dist/qt_themes/default/icons/256x256/eden.png || exit
|
||||
magick dist/qt_themes/default/icons/256x256/eden_named.png -resize 256x256! dist/qt_themes/default/icons/256x256/eden_named.png || exit
|
||||
[ -f "$EDEN_BASE_SVG" ] && [ -f "$EDEN_NAMED_SVG" ] && [ -f "$EDEN_BG_COLOR" ] || { echo "Error: missing ${VARIATION}.svg/${VARIATION}_named.svg/${VARIATION}_bgcolor" >&2; exit; }
|
||||
|
||||
# Now do more fancy things (like composition)
|
||||
TMP_PNG="dist/eden-tmp.png"
|
||||
magick -size 1024x1024 -background transparent $EDEN_BASE_SVG $TMP_PNG || exit
|
||||
composite $TMP_PNG -gravity center -geometry 2048x2048+0+0 \
|
||||
src/android/app/src/main/res/drawable/ic_icon_bg_orig.png \
|
||||
src/android/app/src/main/res/drawable/ic_launcher.png || exit
|
||||
magick src/android/app/src/main/res/drawable/ic_launcher.png -resize 512x512! src/android/app/src/main/res/drawable/ic_launcher.png || exit
|
||||
# Desktop / Windows / Qt icons
|
||||
|
||||
EDEN_DESKTOP_SVG="dist/dev.eden_emu.eden.svg"
|
||||
|
||||
cp "$EDEN_BASE_SVG" "$EDEN_DESKTOP_SVG"
|
||||
|
||||
magick -density 256x256 -background transparent "$EDEN_BASE_SVG" -define icon:auto-resize -colors 256 dist/eden.ico || exit
|
||||
magick -density 256x256 -background transparent "$EDEN_BASE_SVG" -resize 256x256 dist/eden.bmp || exit
|
||||
|
||||
magick -size 256x256 -background transparent "$EDEN_BASE_SVG" -resize 256x256 dist/qt_themes/default/icons/256x256/eden.png || exit
|
||||
magick -size 256x256 -background transparent "$EDEN_NAMED_SVG" -resize 256x256 dist/qt_themes/default/icons/256x256/eden_named.png || exit
|
||||
|
||||
optipng -o7 src/android/app/src/main/res/drawable/ic_launcher.png
|
||||
optipng -o7 dist/qt_themes/default/icons/256x256/eden_named.png
|
||||
optipng -o7 dist/qt_themes/default/icons/256x256/eden.png
|
||||
optipng -o7 dist/qt_themes/default/icons/256x256/eden_named.png
|
||||
|
||||
png2icns dist/eden.icns $TMP_PNG || echo 'non fatal'
|
||||
cp dist/eden.icns dist/yuzu.icns
|
||||
rm $TMP_PNG
|
||||
# Android adaptive icon (API 26+)
|
||||
|
||||
EDEN_ANDROID_RES="src/android/app/src/main/res"
|
||||
EDEN_ANDROID_FG="$EDEN_ANDROID_RES/drawable/ic_launcher_foreground.png"
|
||||
EDEN_ANDROID_BG_COLOR=$(cat $EDEN_BG_COLOR)
|
||||
|
||||
# Update Icon Background Color
|
||||
echo "<?xml version='1.0' encoding='utf-8'?><resources><color name='ic_launcher_background'>${EDEN_ANDROID_BG_COLOR}</color></resources>" > "$EDEN_ANDROID_RES/values/colors.xml"
|
||||
|
||||
magick -size 1080x1080 -background transparent "$EDEN_BASE_SVG" -gravity center -resize 660x660 -extent 1080x1080 "$EDEN_ANDROID_FG" || exit
|
||||
magick -background transparent "$EDEN_BASE_SVG" -gravity center -resize 512x512 "$EDEN_ANDROID_RES/drawable/ic_yuzu.png" || exit
|
||||
magick -size 512x512 -background transparent "$EDEN_BASE_SVG" -gravity center -resize 338x338 -extent 512x512 "$EDEN_ANDROID_RES/drawable/ic_yuzu_splash.png" || exit
|
||||
magick -background transparent "$EDEN_NAMED_SVG" -gravity center -resize 512x512 "$EDEN_ANDROID_RES/drawable/ic_yuzu_named.png" || exit
|
||||
|
||||
optipng -o7 "$EDEN_ANDROID_FG"
|
||||
optipng -o7 "$EDEN_ANDROID_RES/drawable/ic_yuzu.png"
|
||||
optipng -o7 "$EDEN_ANDROID_RES/drawable/ic_yuzu_splash.png"
|
||||
optipng -o7 "$EDEN_ANDROID_RES/drawable/ic_yuzu_named.png"
|
||||
|
||||
# Android legacy launcher icon (API <= 24)
|
||||
|
||||
BASE_LEGACY="$EDEN_ANDROID_RES/mipmap-xxxhdpi/ic_launcher.png"
|
||||
|
||||
magick -size 512x512 xc:${EDEN_ANDROID_BG_COLOR} "$EDEN_ANDROID_FG" -gravity center -resize 384x384 -composite "$BASE_LEGACY" || exit
|
||||
|
||||
magick "$BASE_LEGACY" -resize 192x192 "$EDEN_ANDROID_RES/mipmap-xxhdpi/ic_launcher.png"
|
||||
magick "$BASE_LEGACY" -resize 144x144 "$EDEN_ANDROID_RES/mipmap-xhdpi/ic_launcher.png"
|
||||
magick "$BASE_LEGACY" -resize 96x96 "$EDEN_ANDROID_RES/mipmap-hdpi/ic_launcher.png"
|
||||
magick "$BASE_LEGACY" -resize 72x72 "$EDEN_ANDROID_RES/mipmap-mdpi/ic_launcher.png"
|
||||
|
||||
optipng -o7 "$EDEN_ANDROID_RES"/mipmap-*/ic_launcher.png
|
||||
|
||||
# macOS
|
||||
# TODO: Update Assets.car too
|
||||
|
||||
TMP_PNG="dist/eden-tmp.png"
|
||||
|
||||
magick -size 1024x1024 -background none "$EDEN_BASE_SVG" "$TMP_PNG" || exit
|
||||
|
||||
png2icns dist/eden.icns "$TMP_PNG" || echo 'non fatal'
|
||||
|
||||
rm "$TMP_PNG"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue