3.6 KiB
17. Gestionnaire de mods depuis l'écran titre (lot UI15, 2026-10-03)
Historique 4.27 — Ce document décrit le portage UE 4.27 → 5.5 (V1). Il n'est plus mis à jour : moteur et outils actuels dans
27_Plan_Migration_UE58.mdetTools/Engine.ps1.
Demande utilisateur (test de H3a) : pouvoir activer ou désactiver les mods dès le démarrage, puis choisir entre une nouvelle partie et une partie sauvegardée.
1. Constat
- Le gestionnaire de mods (
UI/ModManager) n'était accessible qu'en partie : entrée « Mod Manager » du menu (MainMenu.ModManagerButton, sous-entrée en retrait sous « Resume »), masquée sur l'écran titre par la liaison de visibilitéColapsedForTitleScreen. Même chose en 4.27 (mêmes références àModManagerInput). - Sa fermeture (
GI.CloseModManager) suppose une partie en cours :ShowUI,ClearModManagerWidget,PopulateRaws(relecture des données des modules), puisCharGenInput(GameStart=true)ouDelayThenFollowUp(suite du tour). Le paramètreGameStart(gestionnaire en tête de nouvelle partie) existe dansGImais n'est appelé par personne. GI.SaveSettings(Slot)recrée toutGameSettings.savet y mémoriseSlotcomme dernière sauvegarde (LastSaveGame, utilisée par « Load Last Save ») : inutilisable hors sauvegarde de partie.
2. Modification
Commandlet LPTitleModManager (Blueprint GI non modifié) :
| Blueprint | Modification |
|---|---|
UI/MainMenu |
nouvelle entrée ModManagerTitleButton : copie de LoadButton (même taille, police et icône ronde, sans retrait), icône mod, placée après « Load », visible seulement sur l'écran titre (liaison OnlyVisibleForTitleScreen) ; clic : menu masqué, GI.CreateModManagerWidget(GameStart=false), GI.ModManager.TitleMenu = self (7 nœuds) |
UI/ModManager |
variable TitleMenu (menu titre qui l'a ouvert) ; fermeture : si TitleMenu est valide, menu titre réaffiché et focalisé, GI.ClearModManagerWidget, GI.PopulateRaws (données relues avec les modules choisis), SaveModSelection ; sinon circuit d'origine GI.CloseModManager (10 nœuds) |
L'entrée d'origine ModManagerButton n'est pas modifiée : en partie, le gestionnaire se comporte comme avant.
ULPModSettingsLibrary::SaveModSelection (C++, Source/LifePlay) relit GameSettings.sav, n'y remplace que
ModEnableds et le réécrit : la dernière sauvegarde et les autres réglages sont conservés. Sans GameSettings.sav
(premier lancement), rien n'est écrit : le choix vaut pour la session et sera enregistré à la première sauvegarde de
partie, comme en partie.
& $Cmd $Proj -run=LPTitleModManager -DryRun -unattended -nopause # essai à blanc (compilation comprise)
& $Cmd $Proj -run=LPTitleModManager -unattended -nopause # application ; un Blueprint déjà traité est sauté
3. Écarts en cours de lot
- Première version : l'entrée d'origine rendue visible sur l'écran titre (liaison retirée). Retour utilisateur : sous-entrée
en retrait et en petite police, non alignée. Remplacée par l'entrée dédiée ci-dessus (
MainMenurestauré depuis le snapshotUI15avant la nouvelle application). SaveSettings(0)envisagé puis écarté à la relecture du graphe (il aurait fait de l'emplacement 0 la dernière sauvegarde) : remplacé parSaveModSelection.
4. Validation
Build LifePlay_Build_5.5_UI15b, validé en jeu le 2026-10-03 : entrée « Mod Manager » de l'écran titre au format des
autres, fermeture vers le menu titre, choix des modules appliqué (mod LPHairSample coché ou non) ; en partie, sous-entrée
d'origine inchangée.