9 Commits

Author SHA1 Message Date
Adrestie ae87393c0c ForeverUI : textes de la fiche de fabrication repliés
Le nom du résultat et les outils débordaient de la fiche (largeur de 800
de la fiche camelot normale) : ils suivent la règle de la fiche réduite de
camelot, 250 de large sur plusieurs lignes, et ce qui suit descend sous eux
quand ils dépassent sa place. Les composants passent au pas de 163 pour que
la deuxième colonne reste dans la fiche de 360. Écart noté dans NOTES.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 01:42:35 +02:00
Adrestie ed9a4e4e3d ForeverUI : libellé des composants dans la langue du client
« Reagents: » venait de la table de textes de ForeverUI (anglais et
français seulement) : la page affiche SPELL_REAGENTS, le libellé de la
fenêtre de 3.3.5, sans le saut de ligne prévu pour les infobulles de sorts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 01:42:35 +02:00
Adrestie a2e4c46d34 ForeverUI : infobulle d'un nom de recette coupé
Le client 3.3.5 refuse un texte comme propriétaire d'infobulle
(« GameTooltip:SetOwner(): Wrong object type, expected frame ») : la ligne
de recette en devient propriétaire, et l'infobulle est placée sur le nom
comme ANCHOR_RIGHT le faisait.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 01:27:33 +02:00
Adrestie c96541ccc0 ForeverUI : page de fabrication, un rafraîchissement par image
Pendant le chargement des objets d'un métier, le client envoie un
TRADE_SKILL_UPDATE par objet reçu (433 mesurés sur la Forge), et chacun
refaisait toute la page. Le premier appel d'une image rafraîchit tout de
suite ; les suivants de la même image donnent un seul rafraîchissement à
l'image suivante. UpdateButtons reçoit le résultat de la boucle des
réactifs au lieu de les relire.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 01:19:25 +02:00
Claude 7d3ea1ac89 ForeverUI : grimoire utilisable en combat, mémoire des extraits, création d'un enchantement
Sans aucun groupe (guerrier, voleur, prêtre, chaman, chevalier de la mort,
bas niveaux), le menu volant n'avait aucun fils protégé : sa poignée était
refusée en combat (« Invalid frame handle »), et chaque onglet, page,
réglage ou fermeture du grimoire levait une erreur. Il est désormais
explicitement protégé (SecureFrameTemplate).

En combat, l'ouverture du grimoire masquait depuis l'addon SpellButton1..12,
que le client vient de réafficher et qui sont protégés : action bloquée à
chaque ouverture. Ils ne sont plus que rendus transparents en combat. Le
bouton de taille, sécurisé, était ancré au bouton de fermeture du client,
qui devenait protégé alors que son niveau est reposé à chaque ouverture :
il s'ancre au livre, au même endroit.

L'environnement restreint garde chaque extrait exécuté, compilé, toute la
session (clés chaînes jamais collectées) : les données publiées, plusieurs
centaines de kilo-octets, ne partent plus que si elles changent, l'état
dans un petit extrait à part. UNIT_PET des autres membres du groupe ne
recalcule plus le grimoire.

Métiers : un enchantement n'a pas de compteur, et le compteur caché gardait
le nombre de la recette précédente (0 si elle n'était pas faisable) ; la
création en lance un, comme le champ caché de 3.3.5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KxRZNHkq453dyUMcWsyUf1
2026-10-01 23:17:58 +00:00
Adrestie 060edd2c23 ForeverUI : liste des recettes limitée aux lignes visibles
La page d'artisanat montrait une ligne par recette (des centaines),
toutes replacées à chaque image quand la fenêtre bougeait ou défilait.
Seuls les éléments dans la zone visible reçoivent désormais une ligne.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:09:39 +02:00
Adrestie 5842eb7a2b ForeverUI : code en anglais, commentaires resserres, code mort retire
Traduction
- Identifiants en anglais dans tout le module : addon, ecrans d'accueil,
  outils Python, banc d'essai et patcheur C#.
- Fichiers au nom francais renommes (Gabarits.lua -> Templates.lua,
  Textes_*.lua -> Texts_*.lua, deployer.py -> deploy.py,
  tools/patcheur -> tools/patcher, etc.).
- Commandes /fui et options de deploy.py en anglais (--check, --server,
  --remove-dbc).
- Cles des variables sauvegardees et de data/dbc/statistics.json
  traduites, sans reprise des anciennes cles.
- API de la micro-barre : ForeverUI.AddMicroButton(def) avec les champs
  name, atlasSet, after, tooltip, onClick, ready, et
  ForeverUI.UpdateMicro(name, isOpen).
- Commentaires reecrits en anglais, courts, sans dates ni historique ;
  les fonctions au nom peu parlant et leurs parametres sont expliques.

Code mort
- Exports, fonctions et variables jamais lus retires.
- Retires a la demande des modules : ForeverUI.PvPJauge, les exports
  FondEntete / TuilerEntete / Polices de TradeSkill, l'art legacy-up-c60,
  honorfill(half)blue et inv_misc_book_09, leurs entrees d'atlas et les
  parties d'outils correspondantes.

Verifications : liaisons des noms comparees avant et apres, banc vert,
chemins de textures inchanges, generateurs reproduisant les fichiers,
patcheur identique octet pour octet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 09:15:52 +02:00
Adrestie fd20e4c66d ForeverUI : onglet Statistics de camelot, statistiques ajoutees, micro-bouton generique
Onglet Statistics (StatisticsTab.lua, nouveau)
- Le StatisticsFrame de camelot sur les statistiques de hauts faits du
  client (GetStatisticsCategoryList, GetCategoryInfo, GetStatistic) :
  categories repliables, sous-categories au bouton campaign_headericon,
  survol, barre de camelot masquee si inutile, mise a jour sur
  CRITERIA_UPDATE ; l'etat replie survit aux mises a jour.
- Valeurs telles que le client les rend (noms des statistiques
  « ... most », montants d'or avec leurs pieces), « -- » sans valeur ;
  colonne de la valeur elargie a ce qu'elle porte.

Statistiques de camelot ajoutees aux hauts faits (data/dbc/statistiques.json)
- 14 boss de donjons classiques et 4 statistiques de raids a 20 / 40
  joueurs (entrees ; morts, en somme des morts sur les cartes de cette
  taille), suivies par le coeur.
- deployer.py, etape dbc (--dbc, --retirer-dbc, --serveur) : lignes
  ajoutees au DBC du client dans patch-Z, DBC du serveur recopie du client,
  lignes d'achievement_criteria_data (une creature tuee n'est comptee que
  si son critere y a une ligne) ; --verifier les controle.
- tools/foreverui/dbc.py : ajout et retrait de ses seules lignes DBC.

Micro-menu et exports pour les autres addons (session Progression)
- BottomBar.lua : ForeverUI.AjouterMicroBouton(def) et
  ForeverUI.MajMicro(nom, ouvert) ; ForeverUI ne connait plus aucun
  addon qui y ajoute un bouton.
- ForeverUI.PvPJauge (jauge circulaire, textures au choix),
  ForeverUI.StatusBarsPoser, exports de TradeSkill.lua.
- Art : legacy-up-c60 (et son masque), honorfill(half)blue,
  inv_misc_book_09 ; cuire_masque.py, cuire_portrait.py,
  decouper_elements.py.

Banc : essais de l'onglet Statistics et d'un micro-bouton d'un autre addon.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 03:39:09 +02:00
Adrestie b1da47c3eb PNJ etapes 3-4 : maitre, vol, etable, sertissage, dialogues, metiers
Etape 3
- Maitre (Trainer.lua, nouveau) : liste de camelot (categories
  professions-recipe-header, lignes TrainerTextures), filtre, rang de
  metier lu dans les competences.
- Maitre de vol (Taxi.lua, nouveau) : TaxiFrame de camelot 590 x 608,
  cadre bronze, images de vol 1463 / 1464 (positions reportees du carre
  3.3.5), boutons et traits de camelot ; zones BC, Outreterre et Norfendre
  sur l'image de 3.3.5.
- Etable (Stable.lua, nouveau) : scene de camelot, fond selon la
  specialisation, rangee de 5 centree.
- Sertissage (Socketing.lua, nouveau) : decor et chasses de camelot.
- Boites de dialogue (Dialogues.lua, nouveau) : StaticPopup1-4 aux
  contours de camelot (fond sombre, bordure en losanges, croix).
- Gabarits : Gb.CadreSimple (repris de la banque de guilde), Gb.MenuFiltre.

Etape 4 (metiers, disposition de camelot)
- Fabrication (TradeSkill.lua, nouveau) : 673 x 594, liste en arbre,
  filtre, recherche, rang, fiche (carte du metier, resultat, reactifs),
  boutons ; noms mesures sur un texte a part (une ligne reutilisee coupait
  le nom suivant) ; eclat du rang rogne a la largeur du masque.
- Micro-bouton Professions (BottomBar.lua) apres la feuille de personnage.
- Livre des metiers (ProfessionsBook.lua, nouveau) : cartes de camelot,
  rangs, sorts securises, oubli ; plus de deux metiers principaux (zone a
  defilement, colonnes reduites) ; portrait cuit rond ; onglets lateraux
  (ensemble + metiers a fabrication, retrecis s'ils sont trop nombreux) ;
  fenetre deplacable (place commune livre / fabrication).
- DropDown : liste du filtre des metiers elargie a ses entrees.
- Art : feuilles et elements des metiers, icones d'onglets cuites
  (cuire_masque.py), portrait rond (cuire_portrait.py, nouveau).
- Banc : essais des etapes 3 et 4 ; micro-menu a neuf boutons.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 00:02:35 +02:00