7 Commits

Author SHA1 Message Date
Adrestie ca2b78e217 Remove every debug command
/fui keeps edit mode, reset and list. The thirty diagnostic and tuning
functions behind the other subcommands (bar, bags, character, tabs, close,
model, minimap, mouse, map, questlog, chat, chatlines, tabard...) go with
them, with Panes.Report, the bags read-back and the 205 texts they alone used.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 13:39:35 +02:00
Claude 76c52865f1 ForeverUI : JcJ et monnaies, fenêtres du client gardées dans leurs volets
PVPParentFrame restait un panneau « left » : GetUIPanelWindowInfo recopie
l'entrée de UIPanelWindows dans les attributs du cadre au premier usage
(touche H avant la construction de l'onglet), puis ne lit plus qu'eux ;
retirer l'entrée de la table ne suffisait pas. La feuille sautait de 384 px,
l'onglet était réancré sur l'écran puis vidé par le panneau suivant. La
place est libérée d'abord, puis la table et les attributs sont vidés, comme
PaperDollFrame.lua le fait pour CharacterFrame.

TokenFramePopup et PVPTeamDetails font partie des UIChildWindows, que
CloseChildWindows masque à chaque ouverture de panneau : le volet droit des
monnaies devenait vide, et le menu de l'équipe d'arène perdait Promouvoir,
Renvoyer et Quitter (et la liste n'était plus redemandée). Ils sont
réaffichés tant que leur page est à l'écran.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KxRZNHkq453dyUMcWsyUf1
2026-10-01 23:32:45 +00: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 2c94ea6bc9 PNJ etapes 1-2, barres selon le contenu, liste des donjons, tabard
- PNJ (NpcDialog.lua, nouveau) : dialogue et quete, livres et lettres,
  petition, registre de guilde a la DA de camelot (parchemin
  QuestBG-Parchment, portrait, croix, places de camelot, contours de
  qualite des objets).
- Barres de defilement : chacune cachee quand rien ne defile, et sans
  elle le contenu laisse a droite la marge qu'il a a gauche (courrier et
  papeterie, banque de guilde, hotel des ventes, reputation, competences,
  monnaies, contacts, guilde, macros, reglages, chercheur, dialogues des
  PNJ) ; ecrans d'accueil : selection des personnages (cartes centrees),
  royaumes, AddOns, creation.
- Chercheur de donjon : la liste des donjons reprend la liste a
  categories des raids (en-tetes de la feuille, cases de camelot),
  l'en-tete gardant sa case "tout cocher".
- Tabard : camera 1 et modele dans la moitie gauche de l'encadre, cadrage
  independant de la race (gnome).
- Cabine : portrait a 48 (1, 1.5) ; README a jour (fenetres secondaires,
  commerce).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 17:48:43 +02:00
Adrestie eb681aa9cd Aucun texte en dur : anglais en base, francais, langues extensibles
- socle : Textes.lua (ForeverUI.L) et ForeverUIGlueTextes.lua (G.L) ; les
  textes dans Textes_enUS / Textes_frFR (325 cles en jeu) et
  ForeverUIGlueTextes_enUS / _frFR (41 cles aux ecrans d'accueil) ; une cle
  absente prend l'anglais, une langue sans fichier lit l'anglais ; ajouter
  une langue = un fichier de plus
- les textes que le client 3.3.5 connait se lisent dans ses globales
  (GlobalStrings, GlueStrings en glue) ; les textes de secours sont retires
- tous les fichiers repris : libelles, infobulles, mode edition, messages et
  aide de /fui, erreurs internes ; .toc : Notes + Notes-frFR
- selection des personnages : race et classe traduites ramenees a leur jeton
  par les tables de langue (GetAvailableRaces / GetAvailableClasses font
  planter le client hors de la creation)
- tools/cartes_instances.py : noms des instances dans toutes les langues de
  la LibBabble-Zone de WDM (portails de la carte sur tout client)
- banc : toute cle employee existe en anglais et en francais, memes cles dans
  les deux, bascule frFR / deDE essayee ; chaines 3.3.5 ajoutees au faux client
- README : etat des sections mis a jour, langues, glue, deploiement --glue

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 03:22:30 +02:00
Adrestie 1a71d63e40 SetFontObject efface la justification : elle se repose apres lui
Un objet de police porte la SIENNE. GameFontNormalLeft est a gauche ;
GameFontHighlight, NumberFontNormal et NumberFontNormalSmallGray n ont
aucun justifyH -- donc CENTRE, releve dans le FontStyles.xml du client.
Un SetJustifyH pose a la creation, ou avant SetFontObject, ne survit
donc pas.

Dans la reputation, le nom se retrouvait centre dans une boite dont la
largeur change d un gabarit a l autre : il se deplacait horizontalement
au fil du defilement, selon le role que la ligne reprenait. Meme faute
dans les competences et les monnaies, ou le compte d une monnaie a zero
passait de RIGHT a CENTER avec GameFontDisable.

Et sur les boutons d action, ou le raccourci et la quantite sont cales
a droite dans le code mais etaient centres a l ecran. C est du code
VALIDE : le geste ne change pas l intention, il la retablit.

camelot le fait exactement ainsi, et c est ce qui le trahit :
  <FontString inherits="GameFontHighlight" justifyH="LEFT">

Le faux du harnais ne touchait pas a justify : il est desormais fidele,
et c est lui qui a trouve la faute des boutons d action.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-23 16:27:06 +02:00
Adrestie dc802d7554 Feuille : l onglet des monnaies
camelot/blizzard_tokenui lu en entier, plus le Blizzard_TokenUI du
client. La liste reprend le gabarit de la reputation et des competences.
Les donnees viennent de GetCurrencyListSize et GetCurrencyListInfo, dont
les neuf valeurs portent l en-tete, l inutilisee, la suivie, le compte,
le type special et l icone.

Deux monnaies ont une icone ecrite en dur dans le client : les points
d arene et ceux d honneur, ceux-ci suivant la faction. Une monnaie a
zero s ecrit en gris, comme le client le fait.

Les deux cases du volet droit sont celles du client, rhabillees : elles
gardent leur logique et agissent sur TokenFrame.selectedID, qu on tient a
jour. La selection suit le NOM, le client le faisant deja.

TokenFrame est inscrit a UIPanelWindows des la premiere ligne de son
addon : il en sort, sans quoi le systeme de panneaux lui rendrait ses
ancres a l ecran et la dalle invisible prendrait la souris.

Manques signales : pas de sous-en-tete, pas de description, pas de
plafond -- 3.3.5 ne les donne pas.

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