L7g : build Shipping (fichiers separes comme la version de l'auteur) ; correctif NO_LOGGING dans LPSessionLogSubsystem

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
edujiro5972 2026-10-01 20:36:44 +02:00
parent 380183324b
commit d26cb8331b
3 changed files with 29 additions and 3 deletions

View file

@ -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é |

View file

@ -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.

View file

@ -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;
}