From d26cb8331b35fb2d21b60769e85e7fb648031998 Mon Sep 17 00:00:00 2001 From: edujiro5972 <336072401+edujiro5972@users.noreply.github.com> Date: Thu, 1 Oct 2026 20:36:44 +0200 Subject: [PATCH] L7g : build Shipping (fichiers separes comme la version de l'auteur) ; correctif NO_LOGGING dans LPSessionLogSubsystem Co-Authored-By: Claude Opus 5.5 --- Docs/Migration/04_Cahier_Des_Charges.md | 2 +- Docs/Migration/Journal_Modifications.md | 22 ++++++++++++++++++++++ Source/LifePlay/LPSessionLogSubsystem.cpp | 8 ++++++-- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/Docs/Migration/04_Cahier_Des_Charges.md b/Docs/Migration/04_Cahier_Des_Charges.md index 7c0f7e3..2eb93e7 100644 --- a/Docs/Migration/04_Cahier_Des_Charges.md +++ b/Docs/Migration/04_Cahier_Des_Charges.md @@ -147,7 +147,7 @@ Ordre indicatif, à réviser selon le registre : | L7d | Visuel | AtmosphericFog → SkyAtmosphere ; reconstruction de l'éclairage | | L7e | Effets | 4 systèmes Cascade → Niagara (si nécessaire) ; NvCloth → Chaos | | L7f | Entrées | Enhanced Input (R-07), avec test manuel des 34 commandes | -| L7g | Packaging | build Shipping ; exclusion de `McpAutomationBridge` | +| L7g | Packaging | build Shipping `LifePlay_Build_5.5_Shipping` construite (CHG-046), même structure que la version de l'auteur ; `McpAutomationBridge` déjà limité à l'éditeur ; test en jeu en attente | | L7h | Vérification StreetMap | ✅ 280 villes et 280 maillages identiques 4.27/5.5 (ERR-018 clos, CHG-044) | | L7i | Variables DSL `Person` vides | ✅ ERR-030, ERR-037, ERR-003 préexistants en 4.27 ; ERR-005 corrigé par CX-B12 (385 nœuds `Contains`/`Split`/`FindSubstring`), validé en jeu le 2026-10-01 | | L7j | Écran secondaire (amélioration) | ERR-031, préexistant en 4.27 : caméra `SecondScreen` sans racine ; seulement si souhaité | diff --git a/Docs/Migration/Journal_Modifications.md b/Docs/Migration/Journal_Modifications.md index 17625fc..e21c31e 100644 --- a/Docs/Migration/Journal_Modifications.md +++ b/Docs/Migration/Journal_Modifications.md @@ -746,3 +746,25 @@ ERR-006 et ERR-007 étaient des effets secondaires de la recherche de texte vide 4.27 sans autre correctif. `clearVariable` suit le volume de vérifications de scènes (même chaîne d'appel et mêmes proportions `GetSpecific` / `getRelative` / `getPerson` dans les trois sessions) : la session de validation a vérifié davantage de scènes par personnage (843/min contre 626). **Lot L7k clos sans modification.** + +### L7g — build Shipping, 2026-10-01 + +| CHG | Date | Lot | Fichiers | Raison | Retour arrière | +|---|---|---|---|---|---| +| CHG-046 | 2026-10-01 | L7g | `Source/LifePlay/LPSessionLogSubsystem.cpp` : comparaison au nom `LogLifePlay` (`FName`) au lieu de `LogLifePlay.GetCategoryName()` | la configuration Shipping ne compilait pas : `NO_LOGGING` y remplace les catégories de journal par des objets vides (`FNoLoggingCategory`, sans `GetCategoryName`) | `git checkout L7g-avant -- Source` | + +Choix de structure : la version publiée par l'auteur (`LifePlay_Build_2026.9`, UE4) est une build Shipping **en +fichiers séparés** (pas de `.pak`), conforme à `UsePakFile=False` du projet : conservé tel quel (modding). Commande : +`RunUAT BuildCookRun -platform=Win64 -clientconfig=Shipping -build -cook -iterate -stage -archive +-archivedirectory=D:\Game\LifePlay_Build_5.5_Shipping`. `McpAutomationBridge` est déjà exclu des builds de jeu +(`TargetAllowList: Editor` dans le `.uproject`). + +| Contrôle | Auteur (UE4) | 5.5 Shipping | Preuve | +|---|---|---|---| +| Compilation `LifePlay Win64 Shipping` et `LifePlayEditor Win64 Development` | — | 0 erreur | `Build.bat` | +| Paquets `.uasset` | 8 561 | 8 561 | comptage | +| Fichiers `Content/Modules` (hors paquets) | 2 051 | 2 051 | comptage | +| Taille totale | 5,2 Go | 3,3 Go | format UE5 (voir L7h) | +| Cuisson | — | réussie, sans avertissement | `Saved/Logs/portage/L7g_BuildCookRun_Shipping.log` | + +En Shipping, le jeu n'écrit pas de journal (comme la version de l'auteur) : la validation se fait par une partie. diff --git a/Source/LifePlay/LPSessionLogSubsystem.cpp b/Source/LifePlay/LPSessionLogSubsystem.cpp index 0649eb4..2d93efb 100644 --- a/Source/LifePlay/LPSessionLogSubsystem.cpp +++ b/Source/LifePlay/LPSessionLogSubsystem.cpp @@ -22,6 +22,10 @@ namespace { + // Nom de la categorie plutot que l'objet categorie : en Shipping (NO_LOGGING) les categories de + // journal sont des objets vides, sans nom (lot L7g). + const FName LifePlayCategoryName(TEXT("LogLifePlay")); + // Au-dela, les nouvelles signatures sont comptees ensemble : la memoire reste bornee // meme si un Blueprint emet des messages tous differents pendant des heures. constexpr int32 MaxSignatures = 4000; @@ -70,7 +74,7 @@ public: virtual void Serialize(const TCHAR* V, ELogVerbosity::Type Verbosity, const FName& Category) override { const ELogVerbosity::Type Level = (ELogVerbosity::Type)(Verbosity & ELogVerbosity::VerbosityMask); - if (Category == LogLifePlay.GetCategoryName()) + if (Category == LifePlayCategoryName) { return; } @@ -123,7 +127,7 @@ public: virtual void Serialize(const TCHAR* V, ELogVerbosity::Type Verbosity, const FName& Category) override { - if (Category == LogLifePlay.GetCategoryName() || !FCString::Strstr(V, *Pattern)) + if (Category == LifePlayCategoryName || !FCString::Strstr(V, *Pattern)) { return; }