Commit Graph

9 Commits

Author SHA1 Message Date
Adrestie effd31e7e8 Feuille : /fui reput, temoin de l'onglet de reputation
Pour chaque ligne visible : ce que GetFactionInfo rend brut -- attitude,
seuil, seuil suivant, valeur -- puis ce qu'on en fait : barre visible,
largeur du remplissage, teinte appliquee. C'est la seule facon de departager
une donnee fausse d'un affichage faux.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-23 00:16:49 +02:00
Adrestie ff85b3df1b Feuille : le remplissage des jauges suit enfin le contour
camelot le decoupe par common-stat-bar-Mask, une MaskTexture ancree LEFT et
RIGHT sur la barre -- donc tendue sur toute sa largeur -- a sa hauteur
d'atlas, 29. Sans elle, le remplissage avait des bouts carres qui ne
suivaient pas le contour du fond.

tools/cuire_masque.py multiplie donc l'alpha du masque dans le sien, une
fois pour toutes. Et il le DECOUPE comme notre fond : celui de camelot
s'etire avec la barre, le notre garde ses bouts a 10 px et n'etire que le
milieu -- un masque tendu ne coinciderait plus avec lui.

Le resultat est un fichier a lui seul, calcule pour une barre de 160, qu'on
rogne a la fraction voulue comme le fait SetFillPercent.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-23 00:13:12 +02:00
Adrestie 0307513515 Feuille : le fond des jauges de reputation se decoupe en neuf
common-stat-bar-bg mesure 68 x 30 et la barre en fait 160 : etire, ses bouts
arrondis s'allongeaient. La mesure se prend sur l'art -- la premiere colonne
dont le profil vertical rejoint celui du milieu, c'est-a-dire ou le bord est
fini : elle tombe a 10. La hauteur ne changeant pas, seules les tranches
horizontales du milieu s'etirent.

Le remplissage, lui, reste une seule texture : c'est une jauge, que
SetFillPercent rogne a la fraction voulue, et la decouper en ferait un
cadre. La compression horizontale de sa feuille -- 240 pour une barre de
160 -- est celle de la source.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-23 00:09:22 +02:00
Adrestie 56eed4c390 Feuille : la plaque d'en-tete de reputation se decoupe en neuf
ReputationHeaderTemplate la pose sans ancrage, donc etiree sur toute la
ligne : a 64 x 29 pour une ligne de plus de trois cents, ses coins arrondis
s'etalaient en ellipses.

Mesure prise sur l'art -- l'alpha de la colonne de gauche -- l'arrondi court
sur une dizaine de pixels. Un coin de 12 le couvre et reste sous la moitie
de la hauteur, au-dela de quoi les tranches se chevaucheraient. La plaque
passe donc par CreateNineSlice, et le banc compte ses neuf tranches.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 23:32:01 +02:00
Adrestie 8224528cb3 Feuille : les lignes de reputation sont baties d'apres camelot
Trois tentatives pour reposer et rhabiller les quinze ReputationBar<i> de
3.3.5, trois echecs de la meme nature : ReputationFrame_Update ne remplit
pas, il REPOSE son art a chaque passage -- SetNormalTexture sur les boutons,
les AtWarHighlight additifs, les traits d'arborescence, la texture de la
StatusBar -- et le clic en declenche un. Chaque correction tenait jusqu'au
passage suivant.

Les lignes sont donc les NOTRES, baties d'apres les gabarits lus en entier
et remplies depuis GetFactionInfo, la seule chose que 3.3.5 apporte ici :

  en-tete 28  plaque common-button-list-collapseExpand etiree, nom en or a
              LEFT x = 10, fleche plus/moins a RIGHT (-8, -1)
  entree  30  barre 160 x 29 a RIGHT x = -3 -- fond common-stat-bar-bg,
              remplissage common-stat-bar-white haut de 15 teinte par
              FACTION_BAR_COLORS, texte centre -- et nom en blanc de x = 25,
              le bord droit de l'AccountWideIcon, au LEFT de la barre moins 10
  survol      trois tranches, cotes de 6, aux alphas de
              RefreshBackgroundHighlightOpacity : 0 / 0,10 / 0,20, et
              0,50 / 0,65 / 0,85 en guerre

A l'attitude maximale la barre est pleine et sans texte de progression,
comme InitializeBarForStandardReputation le veut ; au survol elle montre la
progression au lieu de l'attitude.

Lecon : quand un ecran du client se repose lui-meme, on ne le rhabille pas,
on le remplace.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 23:29:19 +02:00
Adrestie da7ac025dd Feuille : la ligne de reputation suit enfin le gabarit en entier
Trois erreurs, une seule cause : lire un bout du XML de camelot et le plaquer
sur les cadres de 3.3.5, au lieu de lire le gabarit en entier avant d'ecrire.

ReputationEntryTemplate donne tout : barre ancree RIGHT x = -3, nom en
GameFontHighlight de hauteur 15 allant de x = 25 -- le RIGHT de
l'AccountWideIcon, large de 23 et posee a LEFT x = 2 -- jusqu'au LEFT de la
barre moins 10, et intitule d'attitude centre sur la barre par un LEFT plus
un RIGHT. Tout cela est desormais pose tel quel.

Et l'art du client revient a CHAQUE mise a jour : ReputationFrame_Update
rappelle SetNormalTexture sur les boutons et remontre la texture de la
StatusBar, les deux AtWarHighlight additifs et les traits d'arborescence.
L'etouffer une fois a la construction ne suffisait pas -- l'image reprenait
sa taille declaree, 16 x 16 ancree a LEFT +3 pour une ligne de 20, et se
superposait a la notre. C'est ce qui deformait les plus et les moins et
faisait sortir les barres de leur cadre. On repasse apres lui a chaque fois.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 23:18:28 +02:00
Adrestie f130d6221a Feuille : le trait de liste ne couvre plus tout le volet
Le troisieme argument de SetAtlas veut dire "ne touche pas a la taille" : il
ne vaut que si on la pose soi-meme juste apres -- un SetAllPoints, un
SetWidth, un second ancrage. Pose sur une texture sans dimension ni second
point, il la laisse s'etaler sur tout son parent.

Les deux traits de liste de la reputation etaient dans ce cas : une immense
bande doree par-dessus l'ecran. La fleche plus/moins aussi, en plus discret.
Les deux reprennent leur taille d'atlas -- 384 x 8 et 13 de large -- et le
banc les verifie.

Les appels du reste de l'addon sont tous suivis d'un dimensionnement :
c'etait bien l'usage, mal repris.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 23:13:51 +02:00
Adrestie 46d0dcd6ae Feuille : corriger l'en-tete de reputation, mal lu
common-button-list-collapseExpand n'est PAS une fleche : c'est le fond d'une
ligne d'en-tete, une plaque arrondie de 64 x 28 que ReputationHeaderTemplate
pose sans ancrage, donc etiree sur toute la ligne. Posee a sa taille d'atlas
sur un bouton de 20, elle se repetait sur chaque ligne et recouvrait les
noms.

La vraie fleche est le StateIcon du meme gabarit, que ReputationHeaderMixin
remplit avec common-button-list-plus ou -minus, ancre RIGHT en (-8, -1) --
a droite de la ligne, et pas a gauche.

Un en-tete porte donc sa plaque, son nom a LEFT x = 10 et sa fleche, mais
aucune barre : celle-ci appartient aux entrees. GetFactionInfo rend isHeader
en neuvieme position, et c'est lui qui decide.

Lecon notee : un nom d'atlas ne dit pas ce que l'art contient. Le recadrage
d'un sprite depuis sa feuille prend dix lignes et evite cette erreur.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 23:09:57 +02:00
Adrestie 6517687593 Feuille : l'onglet de reputation, repris du code de camelot
ReputationFrame.xml donne la liste -- TOPLEFT (10, -40) et BOTTOMRIGHT
(-25, 15) sur le volet gauche, deux traits UI-Character-Info-ScrollLine-Long
centres sur son haut et son bas -- et les gabarits : entree de 30, barre de
160 x 29 heritee de ColoredProgressBarTemplate, fond common-stat-bar-bg,
remplissage common-stat-bar-white teinte et haut de 15.

3.3.5 a les memes pieces sous d'autres noms : quinze ReputationBar<i>
ancrees une fois dans le XML, que ReputationFrame_Update ne fait que
remplir. On les repose une fois pour toutes et on se greffe apres lui pour
teindre, FACTION_BAR_COLORS donnant la couleur de chaque attitude.

Trois ecarts assumes, ecrits dans le fichier : pas de MaskTexture, donc les
bouts du remplissage restent carres ; un seul pas de ligne, la pagination du
client en exigeant un ; le nombre de lignes recalcule pour le volet, la
constante du client etant calee sur l'ancienne fenetre.

Un contenu peut se batir avant que la fenetre soit posee : la hauteur du
volet est prise par construction, la mesure ne servant que credible.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 23:06:03 +02:00