Fix female dwarf hair positioning and add missing demon horn sprites #27
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
DasAoD/sfguildsv2!27
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-dwarf-female-hair-and-demon-horns"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Was war kaputt
Zwei Muster aus dem zweiten Portrait-Check (Blutzirkel, Equilibrium):
Root Cause
Haare (Zwerg, weiblich): Die 32 geripten
hair-dwarf_female_hair_{color}_{style}.png-Dateien (Farben 1–4, Stile 1–8) waren durchgängig nur ~59 % ihrer korrekten Größe (Faktor ~1,696, vermutlich SD- statt HD-Textur beim ursprünglichen Rip erwischt — alle anderen Körperteile derselben Rasse/Geschlecht-Kombination stimmen pixelgenau). Die Offsets inportrait_spriteoffsetmap.jsonwaren die ganze Zeit korrekt (für die richtig große Grafik berechnet) — angewandt auf die zu kleine Grafik ergab genau den "verschoben"-Effekt.Hörner (Dämon): Die Offset-Daten für alle Horn-Stile lagen bereits vollständig in
portrait_spriteoffsetmap.json(jemand hatte sie schon mal korrekt hergeleitet) — es fehlten nur die eigentlichen Sprite-Dateien.Beides via Live-Referenzvergleich verifiziert: sfportrait.12hp.de's eigenes
PortraitMaker-Modul im Browser mit identischen Parametern instanziiert (Farbgruppe/Stil), daraus die tatsächliche Pixelgröße und Zeichenposition jedes Sprites ausgelesen und in unser Offset-vom-Zentrum-Format umgerechnet — das bestätigte, dass unsere Offsets bereits stimmten und nur die Bilddateien falsch/fehlend waren.Fix
hair-dwarf_female_hair_*.pngdurch korrekt große Varianten ersetzt.horn-demon_horn_*.png/horn-demon_female_horn_*.png(11 männliche + 4 weibliche Stile, Farbgruppe 1 — die einzige, die sfguildsv2 zeichnet, da sf-api keine eigene Hornfarbe liefert) ergänzt.portrait_manifest.jsonum die neuen Horn-Dateinamen erweitert.portrait_spriteoffsetmap.jsonunverändert — die Offsets waren bereits richtig.Beide Asset-Sets stammen von sfportrait.12hp.de, genau wie schon die Sonderportraits (special-Ordner) dort vendored wurden.
Verifiziert gegen Live-Daten
Per SSH-Abfrage der
sfguilds.sqlite: die einzigen 2 aktuell existierenden weiblichen Zwerge (Sumomo, Gwenyver) sowie der komplette Wertebereich vonhorns/hair_colorbei allen Dämonen sind durch die neuen Dateien abgedeckt. Lokal mit Python/PIL nachgerendert (gleiche Kompositions-Logik wieportrait.js) — vorher/nachher für Sumomo, Gwenyver, Lord Po und KreatywnyNick geprüft, sieht jetzt korrekt aus.Bitte nach dem Deploy (
git pullauf dns1) im echten Charakter-Modal gegenprüfen.🤖 Generated with Claude Code
Two portrait bugs reported after a second round of live guild checks: 1. Female dwarf hair rendered as a small misplaced patch instead of covering the head (e.g. Sumomo, Gwenyver in Blutzirkel). Root cause: the 32 ripped hair-dwarf_female_hair_{color}_{style}.png files (colors 1-4, styles 1-8) were extracted at ~59% of their correct size (a consistent ~1.696x scale mismatch vs. the true sprite, likely an SD-vs-HD source mixup during the original asset rip - confirmed by comparing every other dwarf-female body part, which matched pixel-for-pixel). portrait_spriteoffsetmap.json's offsets were already correct for the properly-sized sprite; applying them to the undersized image is exactly what produced the "shifted" look. Replaced the 32 files with correctly-sized ones sourced the same way the special-portrait images already are (vendored from sfportrait.12hp.de, whose own live PortraitMaker module was used to confirm both the correct pixel dimensions and, by converting its absolute canvas coordinates to our offset-from-center convention, that our existing offset numbers needed no changes. 2. Demon horns never rendered for any Demon character (Lord Po, KreatywnyNick in Blutzirkel; all 7 Demons in Equilibrium) - a previously known/documented gap where the horn sprite bundle couldn't be located during the original Unity asset rip. The offset data for all horn styles was already present in portrait_spriteoffsetmap.json (someone had derived it correctly before, just never sourced the images). Added the actual sprite files - 11 male styles + 4 female styles, color group 1 (the only one sfguildsv2 ever draws, since sf-api doesn't expose a separate horn color) - via the same sfportrait.12hp.de vendoring approach, and registered them in portrait_manifest.json so the compositor can find them. Verified against the live sfguilds.sqlite data: the only 2 female Dwarf characters that currently exist (Sumomo, Gwenyver) and the full range of Demon horns/hair_color values in use are all covered by the newly added files.