10 Commits

Author SHA1 Message Date
Adrestie 9918e7c58a Quest areas: frames laid out before drawing
The engine lays moved frames out at the frame's end, and DrawQuestBlob
used the old place: the areas lagged a pan by a few frames. Reading the
rectangles (GetLeft) of the map, the ScrollFrame, its child and the area
frame first lays them out at once.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 15:55:37 +02:00
Adrestie 2b439da068 Quest areas: drawn again on the frame after a pan or a move
A new place reaches the engine on the next frame, as a new size does: the
zoomed map's areas lagged behind a pan, the minimap's behind a move. Each
drawing caused by a change is done again on the next frame.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 15:53:26 +02:00
Adrestie ede5b6c14b Map zoom: quest areas follow the zoom and the pan
WorldMapBlobFrame:SetAlpha(0) did not hide the areas (the frame's alpha
does not reach them): they stayed at the unzoomed size and place. While
zoomed the client's frame now turns invisible by its fill and border
alphas, and a mirror (DrawQuestBlob hooked) draws the same quests at the
zoomed size in a ScrollFrame over the view, drawn while opened over the
whole map then shrunk back (as on the minimap); drawn again on each zoom
and pan, and on the two frames after a zoom. The hover test reads
fractions of the enlarged map.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 15:51:56 +02:00
Adrestie 12aa3ab262 Map: the quest log follows a selection made on the map; zoomed POIs stay put
WorldMapFrame_SelectQuestFrame (a click on a map POI) now selects the log
entry, which the client does only outside the small window, and refreshes
the list's marker. While zoomed, the POI bounds of WorldMapFrame_DisplayQuestPOI
follow the enlarged map (WorldMapFrame_SetPOIMaxBounds): otherwise each
re-placement, a selection among them, clamped POIs to the unzoomed edges.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 11:22:36 +02:00
Adrestie 327a7cec22 Tab macros: icons copied into Interface\Icons; selected quest POI keeps its size
A macro keeps only its icon's file name and reads it from Interface\Icons:
the tab icons' SpellIcon rows pointed at Interface\ForeverUI\TabIcons, so
the cursor showed the question mark. The installer now writes copies named
ForeverUI_<file> in Interface\Icons, the rows point at them, and TabMacros
finds a tab's copy by its file name (<Module>_<file>).

The selected completed quest's swap button sits on the CENTER of the POI:
it now gets the same scale as the POIs in full screen.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 11:14:31 +02:00
Adrestie a29e891c8d Map: quest POIs keep their small-window size in full screen
The full screen scales WorldMapFrame up to fit the map, which doubled the
quest POIs. Their scale is now the small window's over the current one and
their offsets are divided by it, in the same pass that follows the zoom.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 10:48:33 +02:00
Adrestie 4fa43a4349 Map zoom: enlarge the map instead of scaling it
Scaling WorldMapDetailFrame and WorldMapButton grew every marker with the
map, and the explored areas (WorldMapOverlay<n>) overflowed the window.
The two frames now get width and height x zoom: the client places markers
at their map fraction x that width, so they follow the map at their own
size (markers placed once are moved by the zoom ratio). Tiles and explored
areas are laid out x zoom and cropped to the view.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 10:34:40 +02:00
Claude 185fccb22d ForeverUI : carte et quêtes, menu du suivi, abandon, retour de carte, volet caché
Menu du clic droit sur le suivi : près du bas de l'écran, 3.3.5 retourne
la liste au-dessus du curseur, et openMenu la réancrait sur "cursor", qui
n'est pas un cadre (erreur Lua, aucun menu). Seul un cadre est réancré.

Le volet de détails refaisait SetAbandonQuest à chaque rafraîchissement :
une confirmation d'abandon ouverte depuis le suivi (« Abandonner A ? »)
abandonnait alors la quête du volet. Le marquage attend qu'elle se ferme.

Retour du volet de détails : GetCurrentMapAreaID() vaut l'identifiant de
SetMapByID plus un (WorldMapFrame_ToggleWindowSize), et zéro sur les vues
de continent, que Blizzard rend par SetMapZoom. Le retour ouvrait la zone
suivante, ou rien.

Le volet est un fils de la carte et garde son drapeau affiché carte
fermée : chaque événement de quête le reconstruisait caché, et un volet de
détails resté ouvert pouvait déplacer la carte fermée (coordonnées de la
minicarte vides, quêtes de la zone hors du suivi). Rafraîchi seulement
carte ouverte, une fois par image.

Zoom de la carte : le tri des marqueurs (une soixantaine d'enfants, trois
tables) tournait à chaque image ; dix fois par seconde suffisent.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KxRZNHkq453dyUMcWsyUf1
2026-10-01 23:14:54 +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 a66aabb7f6 Points d'AMELIORATIONS.md : carte, journal, sacs, trousseau, barres
- carte (WorldMapZoom.lua) : zoom a la molette vers le curseur (x 1,25 par
  cran, de 1 a 4) et deplacement au glisser ; tuiles rognees a la vue,
  reperes hors vue eteints, surface cliquable bornee, fleche du joueur
  reposee ; retour a 1 au changement de carte, de mode, a la fermeture
- journal : le micro-bouton et L rattrapes quand 3.3.5 refuse QuestLogFrame
  (carte agrandie), marque effacee a l'image suivante au lieu de GetTime
  (qui avance pendant l'ouverture de la carte) ; case de suivi redessinee
  au clic ; en-tete de categorie en trois tranches, centre en mosaique
- sacs : ecarts comptes et marge haute (ecart assume) ; le sac ouvert est
  empile des son ouverture
- trousseau : icone en double densite (feuille uiactionbar2xc60), voile a
  la recherche, animation d'entree de camelot
- minimap : la molette fait + et - ; latence du micro-menu : ancre reposee
  apres 3.3.5, trait a 3 pixels ; reputation a la place de l'XP au niveau
  maximum ; /fui barres plus disert
- ajouter_feuilles.py : un nom logique deja servi par une autre table garde
  sa feuille
- banc : cadres de carte freres de WorldMapDetailFrame, panneau "full",
  carte lente a charger ; AMELIORATIONS.md vide, NOTES.md a jour

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 04:11:16 +02:00