89 lines
9 KiB
Markdown
89 lines
9 KiB
Markdown
|
|
Fiche U7-T10 — Niveau N0 — Modèle prévu lp-builder | utilisé claude-haiku-5-5 — Agent lp-builder — Skills lp-build, sk-windows-shell, sk-protocol
|
||
|
|
|
||
|
|
# U7-T10 — Recompilation et empaquetage UE 5.8 après marquage des mods refusés (LPModInfoSubsystem) : OK (archive neuve `..._U7c`)
|
||
|
|
|
||
|
|
**Verdict : OK.** Étape a (éditeur) code 0, étape b (jeu, `-NoUBA`) code 0, étape c (empaquetage, dossier neuf) code 0. Critère atteint : 0 erreur, aucun avertissement nouveau, chaîne ` (not loaded)` trouvée dans le binaire jeu et dans le binaire archivé. Aucune source, config ni Content modifiés ; aucun commit ; jeu non lancé ; aucun autre dossier `LifePlay_Build_*` touché ; aucun processus LifePlay touché.
|
||
|
|
|
||
|
|
## 0. Préambule
|
||
|
|
[sk-protocol] — skills présents dans le contexte : sk-protocol, sk-windows-shell, lp-build (préchargés) ; ue-cpp-build, lp-validate et autres listés comme disponibles, non chargés.
|
||
|
|
|
||
|
|
## 1. Contrôles de départ (établi)
|
||
|
|
- Copie : `D:\Game\LifePlay-master 5.8` ; `git -C ... branch --show-current` = `ue5.8`.
|
||
|
|
- `git -C "D:\Game\LifePlay-master 5.8" status --short` (avant et après les builds, identique) : 9 `M` (Config/DefaultGame.ini, LPHairstyleSubsystem.{cpp,h}, LPModDailies.{cpp,h}, LPModInfoSubsystem.{cpp,h}, LPSettingsSubsystem.cpp, LifePlay.cpp) et 2 `??` (LPModGuard.{cpp,h}). Rien commité. HEAD = `cb79c24`.
|
||
|
|
- `LifePlay.uproject:3` : `"EngineAssociation": "5.8"`. `Config\DefaultEngine.ini:133` : `CompilerVersion=14.50.35717`.
|
||
|
|
- Sources : `Source\LifePlay\LPModInfoSubsystem.cpp` 09/10/2026 09:02:30 ; `LPModInfoSubsystem.h` 09:01:14 ; `LPModGuard.cpp` 02:19:18 ; `LPModGuard.h` 00:50:02 (postérieurs à U7-T8b, cohérent avec U7-T9).
|
||
|
|
- `Mods\` du projet : 0 entrée (contrôle `Get-ChildItem -Force ... | Measure-Object` : 0, et `ls -A ... | wc -l` : 0, avant et après).
|
||
|
|
- Dossier de sortie : `D:\Game\LifePlay_Build_5.8_U7c` absent (`Test-Path` : False) avant l'étape c.
|
||
|
|
- Processus : `Get-Process` filtré (UnrealEditor, LifePlay, UnrealBuildTool, dotnet, AutomationTool) : aucune sortie, aucun processus.
|
||
|
|
- Outils présents : `Tools\Build.ps1`, `Tools\BuildDebug.ps1` (Test-Path : True).
|
||
|
|
|
||
|
|
## 2. Commandes, codes, durées
|
||
|
|
Interpréteur : pwsh 7 (`pwsh -NoProfile -Command ...`). Répertoire : `D:\Game\LifePlay-master 5.8`. Chaque étape lancée en arrière-plan, sortie écrite dans `scratchpad`, attente bornée sur un marqueur `RC=`. Aucune compilation en parallèle. Aucun `-FromLog`, aucun `-Clean`.
|
||
|
|
|
||
|
|
| Étape | Commande | Code | Durée | Journal | Résumé |
|
||
|
|
|---|---|---|---|---|---|
|
||
|
|
| a. Éditeur | `.\Tools\Build.ps1 -Lot U7` | 0 | 37 s (résumé) | `Saved\Logs\portage\U7_Build_20261009-090810.log` | `Docs\Migration\etat\U7_Build_20261009-090810.txt` |
|
||
|
|
| b. Jeu | `.\Tools\Build.ps1 -Lot U7 -Target LifePlay -ExtraArgs '-NoUBA'` | 0 | 38 s (résumé) | `Saved\Logs\portage\U7_Build_20261009-090902.log` | `Docs\Migration\etat\U7_Build_20261009-090902.txt` |
|
||
|
|
| c. Empaquetage | `.\Tools\BuildDebug.ps1 -Config Development -SkipBuild -ArchiveDir 'D:\Game\LifePlay_Build_5.8_U7c'` | 0 (UAT 0) | 72 s (`UAT code=0 duree=72s`) | `Saved\Logs\portage\BuildDebug_Development_20261009-090951.log` (+ `.cmd`) | console du script (pas de résumé compté) |
|
||
|
|
|
||
|
|
Horodatages distincts (09:08:10, 09:09:02, 09:09:51) : pas de collision de résumé.
|
||
|
|
|
||
|
|
## 3. Étape a — éditeur `LifePlayEditor` (établi)
|
||
|
|
- Commande : `.\Tools\Build.ps1 -Lot U7`, code de sortie 0 (résumé « code de sortie : 0 »).
|
||
|
|
- Journal : `Result: Succeeded` (ligne 31). Chaîne MSVC (journal ligne 14) : `Using Visual Studio 14.50.35739 toolchain (...\MSVC\14.50.35717)` = épinglée.
|
||
|
|
- Unités compilées : 2 = `LPModInfoSubsystem.cpp` (journal ligne 21) et `Module.LifePlay.cpp` (ligne 22). Module modifié recompilé.
|
||
|
|
- DLL liée : `UnrealEditor-LifePlay.dll` (journal ligne 25).
|
||
|
|
- Erreurs compilateur : **0** ; avertissements compilateur : **0** ; autres lignes UBT/UHT/liens : **0**.
|
||
|
|
- Unity : `[Adaptive Build] Excluded from LifePlay unity file: LifePlay.cpp, LPHairstyleSubsystem.cpp, LPModDailies.cpp, LPModGuard.cpp, LPModInfoSubsystem.cpp, LPSettingsSubsystem.cpp` (journal ligne 15) : compilation hors unity, normal.
|
||
|
|
- Makefile : champ `Makefile` vide dans le résumé ; aucune ligne makefile relevée (incertain, comme en U7-T8b).
|
||
|
|
|
||
|
|
## 4. Étape b — jeu `LifePlay` avec `-NoUBA` (établi)
|
||
|
|
- Commande : `.\Tools\Build.ps1 -Lot U7 -Target LifePlay -ExtraArgs '-NoUBA'`, code 0.
|
||
|
|
- Journal : `Result: Succeeded` (ligne 29). Chaîne MSVC identique (14.50.35717).
|
||
|
|
- Unités : 2 = `LPModInfoSubsystem.cpp [NoUba]` (ligne 20), `Module.LifePlay.cpp [NoUba]` (ligne 21) ; lien `[3/4] Link [x64] LifePlay.exe [NoUba]` (ligne 22).
|
||
|
|
- Sortie : `Output binary: D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe` (ligne 27) ; daté 2026-10-09 09:09, 330 684 928 o.
|
||
|
|
- Erreurs **0** ; avertissements **0** ; autres **0**.
|
||
|
|
- « DLL liées : 0 » : écart de script connu (le jeu lie un `.exe`, pas une `.dll`), déjà noté en U7-T8b.
|
||
|
|
|
||
|
|
## 5. Étape c — empaquetage dans dossier neuf (établi)
|
||
|
|
- Contrôle préalable : `D:\Game\LifePlay_Build_5.8_U7c` absent.
|
||
|
|
- Commande : `Tools\BuildDebug.ps1 -Config Development -SkipBuild -ArchiveDir 'D:\Game\LifePlay_Build_5.8_U7c'`, code 0. Sortie console : `UAT code=0 duree=72s`.
|
||
|
|
- UAT (journal `BuildDebug_Development_20261009-090951.log`) : `BUILD SUCCESSFUL` (ligne 676) ; `AutomationTool exiting with ExitCode=0 (Success)` (ligne 678).
|
||
|
|
- Cuisson : `LogInit: Display: Success - 0 error(s), 1 warning(s)` (ligne 424). Erreurs : **0**. Avertissement : **1**, `LogCook: Warning: CookIncremental and UnversionedCookedContent ... LegacyIterative` (ligne 189, répété ligne 422). Identique à U7-T8b et U6 : connu, non nouveau.
|
||
|
|
- `UnrealEditor-Cmd.exe ExitCode=0` (ligne 434) ; `UnrealPak.exe ExitCode=0` (lignes 533, 663).
|
||
|
|
- Archive : `D:\Game\LifePlay_Build_5.8_U7c\Windows\LifePlay.exe` présent (301 568 o, 09:10).
|
||
|
|
- `D:\Game\LifePlay_Build_5.8_U7c\Windows\LifePlay\Binaries\Win64\LifePlay.exe` présent (330 684 928 o, 09:09).
|
||
|
|
- Empreinte SHA-256 (tronquée, Python `hashlib`) : binaire de la copie `fb13576f1f8dfee8` = binaire archivé `fb13576f1f8dfee8` (identiques).
|
||
|
|
|
||
|
|
## 6. Chaîne ` (not loaded)` (établi, lecture seule)
|
||
|
|
Recherche UTF-16LE par Python `bytes.count(' (not loaded)'.encode('utf-16-le'))` (commande : `python -I -c ...`, en mode isolé) :
|
||
|
|
- `D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe` : **1** occurrence (présente).
|
||
|
|
- `D:\Game\LifePlay_Build_5.8_U7c\Windows\LifePlay\Binaries\Win64\LifePlay.exe` : **1** occurrence (présente).
|
||
|
|
- `D:\Game\LifePlay_Build_5.8_U7c\Windows\LifePlay.exe` : 0 (attendu : ce lanceur ne contient pas le code du jeu ; le binaire jeu est celui de la ligne précédente).
|
||
|
|
- Source de la chaîne : `Source\LifePlay\LPModInfoSubsystem.cpp:91` : `const TCHAR* const NotLoadedSuffix = TEXT(" (not loaded)");`.
|
||
|
|
|
||
|
|
## 7. Critère (fiche § 8)
|
||
|
|
- 0 erreur (éditeur, jeu, cuisson) : **atteint**.
|
||
|
|
- Aucun avertissement nouveau (éditeur 0, jeu 0, cuisson 1 connu) : **atteint**.
|
||
|
|
- Chaîne ` (not loaded)` présente dans `Windows\LifePlay\Binaries\Win64\LifePlay.exe` : **atteint** (1 occurrence, § 6).
|
||
|
|
- `Windows\LifePlay.exe` présent : **atteint** (§ 5).
|
||
|
|
- Référence U7-T8b (0/0 compilation ; cuisson 0 erreur, 1 avertissement LegacyIterative) : **identique**.
|
||
|
|
|
||
|
|
## 8. Écarts à la fiche
|
||
|
|
- Aucun écart de commande. Fiche § 4 c : le dossier `..._U7c` était neuf (vérifié), aucun autre `LifePlay_Build_*` écrit.
|
||
|
|
- Note de contrôle : un comptage octet à octet en PowerShell sur le binaire de 330 Mo a été trop lent et a été remplacé par `bytes.count` en Python. Ce calcul PowerShell n'a rien écrit ; il reste un processus `pwsh` de lecture seule (tâche `b971r9lqu`) à arrêter à la fin de la session, son résultat n'est pas utilisé.
|
||
|
|
|
||
|
|
## 9. Niveau de preuve
|
||
|
|
- Établi : codes et journaux (§ 2 à 5), résumés `U7_Build_20261009-090810.txt` et `U7_Build_20261009-090902.txt`, `git status`, `Test-Path`, `Get-Process`, comptage Python (§ 6), empreintes SHA-256 (§ 5).
|
||
|
|
- Estimé : le recompile de l'éditeur et du jeu reflète les modifications de U7-T9 (`LPModInfoSubsystem.cpp`, unités compilées §3 et §4).
|
||
|
|
- Incertain : absence de ligne makefile dans le journal éditeur (comme U7-T8b) ; jeu non lancé, donc affichage du libellé ` (not loaded)` à l'écran non vérifié.
|
||
|
|
|
||
|
|
## 10. Fichiers et journaux
|
||
|
|
- Journaux : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\U7_Build_20261009-090810.log` ; `...\U7_Build_20261009-090902.log` ; `...\BuildDebug_Development_20261009-090951.log` (+ `.cmd`).
|
||
|
|
- Résumés : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\U7_Build_20261009-090810.txt` ; `...\U7_Build_20261009-090902.txt`.
|
||
|
|
- Sorties console : `scratchpad\U7c_a_stdout.txt`, `scratchpad\U7c_b_stdout.txt`, `scratchpad\U7c_c_stdout.txt` (dossier scratchpad de la session).
|
||
|
|
- Archive produite : `D:\Game\LifePlay_Build_5.8_U7c\Windows\LifePlay.exe`.
|
||
|
|
- Rien écrit dans `D:\Game\LifePlay_Build_5.8_U7`, `..._U7_P10`, `..._U7b`, `..._Development`, `..._U7T4`, `..._U7_T4` ; aucun processus LifePlay lancé ou arrêté.
|
||
|
|
|
||
|
|
Suite : orchestrateur doit valider U7-T10 (VAL par lp-validator si requis) ; état : a, b, c OK ; archive `D:\Game\LifePlay_Build_5.8_U7c` produite, jeu non lancé, aucun commit.
|