branding/icon/icon.svg (a cracked Metin stone with glowing runes, inside a studded gold ring, in front of a blood moon over ink mountains) is the single source; build_icons.sh renders it with headless Chrome and writes the committed outputs: Android legacy + adaptive mipmaps (wired into the manifest), the macOS AppIcon.icns and the iOS AppIcon.appiconset. scripts/package_mac_app.sh wraps mt_native_render into a local Metin2.app using that icon. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
125 lines
6.4 KiB
XML
125 lines
6.4 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="1024" height="1024">
|
|
<!-- Metin2 client app icon: a Metin stone (the cursed monoliths the game is named after) with glowing
|
|
rune cracks, inside a gold ring over a blood-red dusk sky and ink mountains.
|
|
Full-bleed square; platforms apply their own mask. #background / #foreground are the Android
|
|
adaptive-icon layers. branding/icon/build_icons.sh renders every platform size from this file. -->
|
|
<defs>
|
|
<radialGradient id="sky" cx="50%" cy="42%" r="70%">
|
|
<stop offset="0" stop-color="#8e1b14"/>
|
|
<stop offset="0.45" stop-color="#4a0b0e"/>
|
|
<stop offset="1" stop-color="#12050a"/>
|
|
</radialGradient>
|
|
<radialGradient id="aura" cx="50%" cy="50%" r="50%">
|
|
<stop offset="0" stop-color="#ff7a2a" stop-opacity="0.85"/>
|
|
<stop offset="0.4" stop-color="#e2361a" stop-opacity="0.45"/>
|
|
<stop offset="1" stop-color="#e2361a" stop-opacity="0"/>
|
|
</radialGradient>
|
|
<linearGradient id="gold" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0" stop-color="#fff0a8"/>
|
|
<stop offset="0.35" stop-color="#e8b64a"/>
|
|
<stop offset="0.7" stop-color="#a8701c"/>
|
|
<stop offset="1" stop-color="#f3cf6a"/>
|
|
</linearGradient>
|
|
<linearGradient id="faceL" x1="0" y1="0" x2="1" y2="1">
|
|
<stop offset="0" stop-color="#5b5566"/>
|
|
<stop offset="1" stop-color="#211d28"/>
|
|
</linearGradient>
|
|
<linearGradient id="faceR" x1="1" y1="0" x2="0" y2="1">
|
|
<stop offset="0" stop-color="#2a2531"/>
|
|
<stop offset="1" stop-color="#0b090f"/>
|
|
</linearGradient>
|
|
<linearGradient id="faceM" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0" stop-color="#46404f"/>
|
|
<stop offset="1" stop-color="#16131b"/>
|
|
</linearGradient>
|
|
<linearGradient id="mtnFar" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0" stop-color="#3a0c10"/>
|
|
<stop offset="1" stop-color="#1c0609"/>
|
|
</linearGradient>
|
|
<linearGradient id="mtnNear" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0" stop-color="#1e070a"/>
|
|
<stop offset="1" stop-color="#080305"/>
|
|
</linearGradient>
|
|
<filter id="glow" x="-50%" y="-50%" width="200%" height="200%">
|
|
<feGaussianBlur stdDeviation="9" result="b"/>
|
|
<feMerge><feMergeNode in="b"/><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge>
|
|
</filter>
|
|
<filter id="soft" x="-20%" y="-20%" width="140%" height="140%">
|
|
<feGaussianBlur stdDeviation="3"/>
|
|
</filter>
|
|
<filter id="shadow" x="-30%" y="-30%" width="160%" height="160%">
|
|
<feDropShadow dx="0" dy="10" stdDeviation="14" flood-color="#000" flood-opacity="0.7"/>
|
|
</filter>
|
|
</defs>
|
|
|
|
<g id="background">
|
|
<!-- sky -->
|
|
<rect width="1024" height="1024" fill="url(#sky)"/>
|
|
|
|
<!-- blood moon behind the stone -->
|
|
<circle cx="512" cy="430" r="250" fill="#c0301f" opacity="0.35"/>
|
|
<circle cx="512" cy="430" r="330" fill="url(#aura)"/>
|
|
|
|
<!-- ink mountains -->
|
|
<path d="M0 700 L110 610 L180 650 L280 540 L360 620 L420 590 L512 660 L610 575 L690 630 L760 540 L860 640 L940 600 L1024 660 L1024 1024 L0 1024 Z" fill="url(#mtnFar)"/>
|
|
<path d="M0 800 L90 740 L170 780 L260 710 L350 790 L512 760 L660 800 L760 720 L860 770 L950 730 L1024 770 L1024 1024 L0 1024 Z" fill="url(#mtnNear)"/>
|
|
|
|
</g>
|
|
|
|
<g id="foreground">
|
|
<!-- gold ring -->
|
|
<g filter="url(#shadow)">
|
|
<circle cx="512" cy="500" r="392" fill="none" stroke="url(#gold)" stroke-width="26"/>
|
|
<circle cx="512" cy="500" r="360" fill="none" stroke="#e8b64a" stroke-width="4" opacity="0.8"/>
|
|
<g id="stud"><circle cx="512" cy="108" r="17" fill="url(#gold)" stroke="#6b430c" stroke-width="3"/><circle cx="512" cy="108" r="6" fill="#c0301f"/></g>
|
|
<use href="#stud" transform="rotate(45 512 500)"/>
|
|
<use href="#stud" transform="rotate(90 512 500)"/>
|
|
<use href="#stud" transform="rotate(135 512 500)"/>
|
|
<use href="#stud" transform="rotate(225 512 500)"/>
|
|
<use href="#stud" transform="rotate(270 512 500)"/>
|
|
<use href="#stud" transform="rotate(315 512 500)"/>
|
|
</g>
|
|
|
|
<!-- the Metin stone -->
|
|
<g filter="url(#shadow)">
|
|
<!-- rocky base -->
|
|
<path d="M300 808 L360 752 L452 770 L512 742 L590 768 L668 750 L728 806 L690 840 L340 842 Z" fill="#17121a"/>
|
|
<!-- left face -->
|
|
<path d="M512 150 L408 300 L372 560 L400 790 L500 810 L486 520 Z" fill="url(#faceL)"/>
|
|
<!-- middle face -->
|
|
<path d="M512 150 L486 520 L500 810 L560 802 L566 470 Z" fill="url(#faceM)"/>
|
|
<!-- right face -->
|
|
<path d="M512 150 L566 470 L560 802 L632 780 L656 540 L616 290 Z" fill="url(#faceR)"/>
|
|
<!-- facet highlights -->
|
|
<path d="M512 150 L408 300 L372 560" fill="none" stroke="#9a92a8" stroke-width="4" opacity="0.7"/>
|
|
<path d="M512 150 L486 520 L500 810" fill="none" stroke="#6d6579" stroke-width="3" opacity="0.6"/>
|
|
<path d="M408 300 L452 250 L512 150 M372 560 L420 600 L400 790" fill="none" stroke="#7a7288" stroke-width="2.5" opacity="0.5"/>
|
|
<path d="M616 290 L656 540 L632 780" fill="none" stroke="#ff5a2a" stroke-width="5" opacity="0.75"/>
|
|
<path d="M566 470 L620 430 M560 802 L600 700" fill="none" stroke="#3b3444" stroke-width="2.5" opacity="0.8"/>
|
|
</g>
|
|
|
|
<!-- glowing cracks and runes -->
|
|
<g filter="url(#glow)" stroke-linecap="round" stroke-linejoin="round" fill="none">
|
|
<path d="M470 250 L452 330 L478 380 L440 470 L462 540 L430 640 L452 720" stroke="#ff6a1f" stroke-width="9"/>
|
|
<path d="M452 330 L418 360" stroke="#ff6a1f" stroke-width="6"/>
|
|
<path d="M440 470 L404 500" stroke="#ff6a1f" stroke-width="6"/>
|
|
<path d="M548 300 L566 380 L540 430 L584 520 L560 600 L596 690" stroke="#ff4a18" stroke-width="8"/>
|
|
<path d="M584 520 L620 540" stroke="#ff4a18" stroke-width="6"/>
|
|
<!-- rune on the middle face -->
|
|
<path d="M526 575 L556 630 L526 685 L496 630 Z M526 605 L526 655" stroke="#ffd27a" stroke-width="7"/>
|
|
</g>
|
|
<!-- hot cores of the cracks -->
|
|
<g stroke-linecap="round" stroke-linejoin="round" fill="none" stroke="#fff0c0" opacity="0.9">
|
|
<path d="M470 250 L452 330 L478 380 L440 470 L462 540 L430 640 L452 720" stroke-width="3"/>
|
|
<path d="M548 300 L566 380 L540 430 L584 520 L560 600 L596 690" stroke-width="3"/>
|
|
<path d="M526 575 L556 630 L526 685 L496 630 Z M526 605 L526 655" stroke-width="2.5"/>
|
|
</g>
|
|
|
|
<!-- embers -->
|
|
<g fill="#ffb25a" filter="url(#soft)">
|
|
<circle cx="340" cy="420" r="6"/><circle cx="690" cy="360" r="5"/><circle cx="660" cy="620" r="7"/>
|
|
<circle cx="360" cy="650" r="5"/><circle cx="600" cy="220" r="4"/><circle cx="410" cy="200" r="4"/>
|
|
</g>
|
|
</g>
|
|
</svg>
|