LifePlay-Revival/Docs/Migration/etat/ST/STG/STG-COMMUN4-BUILD.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

16 KiB

Fiche STG-COMMUN4 — Niveau N0 — Modèle prévu lp-builder | utilisé claude-haiku-5-5 — Agent lp-builder — Skills lp-build, sk-protocol, sk-windows-shell

STG-COMMUN4-BUILD : quatrième build commun des correctifs CAM / STG / REL, cible jeu Development, empaquetage, recuit et contrôle (2026-10-13)

Trace : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STG\STG-COMMUN4-BUILD.md — Fiche STG-COMMUN4 — 2026-10-13 21:58 à 22:01 Commande : commandes des sections 1 et 2 ci-dessous, copie D:\Game\LifePlay-master 5.8, branche ue5.8 Environnement: moteur D:\Game\Launcher\Engine\UE_5.8\Engine (EngineAssociation 5.8), MSVC 14.50.35717 ; machine calme (UeState 0 avant et après) Attendu : compilation 0 erreur, 6 unités dont les 4 .cpp STG / CAM / REL modifiés ; cuisson « Recooking N » ; CheckPackage PASS Obtenu : sorties brutes citées ci-dessous (résumé STG_Build_20261013-215814.txt, journaux) Lecture : le contrôle des chaînes porte sur l'exe de l'archive (un premier comptage à motif faux a été refait, voir section Écarts) ; aucun piège de code de sortie relevé

1. Commandes exactes

pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\UeState.ps1"                       (départ et fin)
pwsh -NoProfile -Command "& 'D:\Game\LifePlay-master 5.8\Tools\Build.ps1' -Lot STG -Target LifePlay -Config Development -ExtraArgs '-NoUBA'"
pwsh -NoProfile -Command "& 'D:\Game\LifePlay-master 5.8\Tools\BuildDebug.ps1' -Config Development -ArchiveDir 'D:\Game\LifePlay_Build_5.8_COMMUN-4_Development' -SkipBuild"
pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\CheckPackage.ps1" -Build "D:\Game\LifePlay_Build_5.8_COMMUN-4_Development"

Contrôles de départ : archive absente (test -e : « archive absente ») ; Mods\ : 0 entrée ; branche ue5.8 (git branch --show-current, lecture seule). Commande UBT relevée dans le journal de build (ligne 2) : Build.bat LifePlay Win64 Development "-Project=…\LifePlay.uproject" -WaitMutex -NoHotReloadFromIDE -NoUBA. Commande UAT relevée dans le journal de cuisson (ligne 1) : RunUAT.bat BuildCookRun -project=… -platform=Win64 -clientconfig=Development -cook -iterate -stage -pak -iostore -compressed -archive -archivedirectory=D:\Game\LifePlay_Build_5.8_COMMUN-4_Development -unattended -utf8output -nop4.

2. Code de sortie

  • Tools\UeState.ps1 départ : processus=0 editeur=0 compilation=0 shaders=0 jeu=0, code 0 (UESTATE_EXIT=0).
  • Tools\Build.ps1 : code=0 duree=73s erreurs=0 avertissements=0 autres=0 unites=6 ; résumé « code de sortie : 0 ».
  • UBT : Result: Succeeded (journal de build, ligne 35).
  • Tools\BuildDebug.ps1 : UAT code=0 duree=133s (sortie du script) ; BuildCookRun time: 130.92 s (journal de cuisson, ligne 774) ; BUILD SUCCESSFUL (ligne 775) ; AutomationTool exiting with ExitCode=0 (Success) (ligne 777).
  • Tools\CheckPackage.ps1 : Resultat : PASS (code 0), CHECKPKG_EXIT=0.
  • Tools\UeState.ps1 fin : processus=0 editeur=0 compilation=0 shaders=0 jeu=0, code 0.

3. Modules recompilés

Journal STG_Build_20261013-215814.log, lignes 22 à 28 (mesurées) :

22 [1/8] Compile [x64] LPCameraModeSubsystem.cpp [NoUba]
23 [2/8] Compile [x64] LPDirectControlSubsystem.cpp [NoUba]
24 [3/8] Compile [x64] LPOutdoorRoomSubsystem.cpp [NoUba]
25 [4/8] Compile [x64] LPSaveRelaunch.cpp [NoUba]
26 [5/8] Compile [x64] LifePlay.cpp [NoUba]
27 [6/8] Compile [x64] Module.LifePlay.cpp [NoUba]
28 [7/8] Link [x64] LifePlay.exe [NoUba]
  • Ligne 16 : [Adaptive Build] Excluded from LifePlay unity file: LifePlay.cpp, LPCameraModeSubsystem.cpp, LPDebugSubsystem.cpp, LPDirectControlSubsystem.cpp, LPOutdoorRoomSubsystem.cpp, LPSaveRelaunch.cpp.
  • Unités compilées : 6 (résumé, « Unites compilees : 6 »). Les fichiers de REL (LPSaveRelaunch.cpp) et de CAM (LPCameraModeSubsystem.cpp), STG (LPDirectControlSubsystem.cpp, LPOutdoorRoomSubsystem.cpp) et LifePlay.cpp sont compilés.
  • LPDebugSubsystem.cpp n'est pas dans les lignes de compilation. Estimé : son MD5 (E281ACE24AECEC31C23528777FB2F2D9) est identique à celui de COMMUN-3, compilé dans STG-COMMUN3-BUILD.md § 3 ; il est donc resté à jour. Non demandé par la fiche.
  • DLL liees : 0 (résumé) : cible jeu, un exe lié.
  • Sortie : D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe.

4. Erreurs et avertissements nouveaux

  • Erreurs du compilateur : 0 ; avertissements du compilateur : 0 ; autres lignes d'erreur ou d'avertissement (UBT, UHT, liens) : 0 (résumé STG_Build_20261013-215814.txt, lignes 12 à 16).
  • Makefile : champ vide dans le résumé (Makefile :) ; aucune ligne « Target is up to date » ni « Makefile » dans le journal (Grep, sortie : seules les lignes 16, 22 à 28 et 35).
  • Avertissement de cuisson : LogCook: Warning: CookIncremental and UnversionedCookedContent were requested, but LegacyIterative is required due to ZenStore not being used… (journal de cuisson, lignes 252 et 517). Il vient de -iterate que BuildDebug.ps1 ajoute toujours (lp-build § 4) ; ce n'est pas un avertissement de compilation. Nouveau dans la liste du lot, à noter.
  • Avertissements nouveaux de compilation : aucun.

5. Toolchain

Ligne Using Visual Studio 14.50.35739 toolchain (C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717) and Windows 10.0.22621.0 SDK (résumé, ligne 7 ; journal de build). MSVC 14.50.35717 = épinglé de la copie 5.8 (lp-build § 1). Moteur D:\Game\Launcher\Engine\UE_5.8\Engine (résumé, ligne 4).

6. Preuve de chargement addon

sans objet : la fiche ne modifie aucun fichier de l'addon ; les unités compilées sont dans Source/LifePlay (jeu).

7. Journal archivé

  • Build : D:\Game\LifePlay-master 5.8\Saved\Logs\portage\STG_Build_20261013-215814.log
  • Résumé compté : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STG\STG_Build_20261013-215814.txt
  • Cuisson et empaquetage : D:\Game\LifePlay-master 5.8\Saved\Logs\portage\BuildDebug_Development_20261013-215939.log

Constats

Verdict par étape

Étape Verdict Preuve
a. Départ FAIT UeState code 0 (processus=0 editeur=0 compilation=0 shaders=0 jeu=0) ; Mods\ : 0 entrée ; archive absente ; MD5 des 16 fichiers identiques à la fiche (§ MD5).
b. Compilation FAIT code 0, 6 unités, 0 erreur, 0 avertissement ; LPCameraModeSubsystem, LPDirectControlSubsystem, LPOutdoorRoomSubsystem, LPSaveRelaunch et LifePlay.cpp compilés (lignes 22 à 27) ; lien LifePlay.exe (ligne 28) ; Result: Succeeded.
c. Empaquetage et recuit FAIT UAT code 0 ; « Recooking 163 » (journal de cuisson, ligne 256) ; Person, Room, GI cuits plus récents que leurs sources ; STG_StandTarget présent dans le Person cuit ; clips cuits présents.
d. CheckPackage FAIT Resultat : PASS (code 0), 0 écart ([1] à [4] PASS 0).
e. Exe, chaînes, UeState FAIT exe de l'archive = exe du projet (taille, date, MD5 identiques) ; 13 chaînes présentes, aucune absente ; UeState code 0 à la fin.

Recuit

  • Journal de cuisson, ligne 255 : LogCook: Display: Found 163 cooked package(s) in package store.
  • Journal de cuisson, ligne 256 : LogCook: Display: Keeping 8752. Recooking 163. Removing 0. 0 generated packages to be evaluated for legacyiterative skipping later.
  • Ligne 253 : INCREMENTAL COOK: -legacyiterative was specified and global settings are still valid… : cuisson incrémentale.
  • Horodatages (stat -c '%s o %y %n', sortie brute) :
Fichier cuit (Saved\Cooked\Windows\LifePlay\Content\…) Taille Cuit Source Cuit plus récent
BPs\Person.uasset 185 299 o 2026-10-13 22:00:45.530 Content/BPs/Person.uasset, 17:42:36 oui
BPs\Room.uasset 184 823 o 2026-10-13 22:00:45.745 Content/BPs/Room.uasset, 21:14:19 oui
BPs\GI.uasset 526 864 o 2026-10-13 22:00:46.260 Content/BPs/GI.uasset, 19:26:08 oui
  • Preuve nominative Person (comptage d'octets sur le cuit, LC_ALL=C grep -aoP, motif \xHH construit depuis iconv + od) : STG_StandTarget = 1 en ASCII, 0 en UTF-16LE.
  • Estimé : le Room cuit a été réécrit à 22:00:45 alors que sa source est à 21:14:19 (B2g / B2h de CAM) : la cuisson a bien pris la dernière version. Contenu des cuits non ouvert.

Clips cuits

  • Saved\Cooked\Windows\LifePlay\Content\Heavy\Daz\Bridget\Anim\B_Walk_Loop.uasset : 1 557 o, 2026-10-13 22:00:46.269.
  • Saved\Cooked\Windows\LifePlay\Content\Heavy\Daz\Michael\Anim\M_Walk_Loop.uasset : 1 551 o, 2026-10-13 22:00:46.265.
  • Content\Quaternius : absent du cuit (ls -d : « absent du cuit ») et de l'archive (ls -d : « absent de l'archive »). Les sources existent dans le projet (Content/Quaternius) ; seul le cuit est contrôlé.
  • Tailles mesurées : la fiche n'impose pas de taille minimale ; le contenu des clips n'a pas été ouvert.

CheckPackage (0 écart exigé : atteint)

Sortie brute de Tools\CheckPackage.ps1 -Build D:\Game\LifePlay_Build_5.8_COMMUN-4_Development :

CheckPackage : build D:\Game\LifePlay_Build_5.8_COMMUN-4_Development ; configuration Development ; projet D:\Game\LifePlay-master 5.8
  exe archive : D:\Game\LifePlay_Build_5.8_COMMUN-4_Development\Windows\LifePlay\Binaries\Win64\LifePlay.exe (2026-10-13 21:59:25, 330288128 o)
  exe du projet : D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe (2026-10-13 21:59:25, 330288128 o)
[1] PASS 0 D:\Game\LifePlay_Build_5.8_COMMUN-4_Development\Windows\Manifest_NonUFSFiles_Win64.txt
[2] PASS 0 D:\Game\LifePlay_Build_5.8_COMMUN-4_Development\Windows\Manifest_UFSFiles_Win64.txt
[3] PASS 0 D:\Game\LifePlay-master 5.8\Intermediate\Build\Win64\x64\LifePlay\Development\LifePlay.exe.rsp
[4] PASS 0 D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.target
Resultat : PASS (code 0)

Verdict : PASS.

Archive et exe

  • Chemin : D:\Game\LifePlay_Build_5.8_COMMUN-4_Development (absent avant le lancement).
  • Exe de l'archive : Windows\LifePlay\Binaries\Win64\LifePlay.exe, 330 288 128 octets, 2026-10-13 21:59:25.613, MD5 D47DA08608A129F3E68EF895FE3902D3.
  • Exe du projet : Binaries\Win64\LifePlay.exe, 330 288 128 octets, 2026-10-13 21:59:25.613, MD5 D47DA08608A129F3E68EF895FE3902D3 : identique.
  • LPSaveLocation.ini : 0 fichier dans l'archive (find … -name LPSaveLocation.ini = 0) ; non posé, conformément à la fiche.

Chaînes dans l'exe (comptage d'octets sur LifePlay.exe de l'archive)

Chaîne ASCII UTF-16LE
Scene_C 10 7
le joueur quitte 0 1
meuble d'une piece quittee 0 1
Pawn en Ignore jusqu'a la sortie 0 1
releve(s) en tout 0 1
Marche : clip 0 1
_Walk_Loop 0 3
/Game/Heavy/Daz/%s/Anim/ 0 1
decor(s) fnt_ext en Pawn Ignore 0 1
LifePlay.PersonsDump 0 1
Dossier de sauvegarde : 0 1
Temoin C2 0 1
Camera: POV 0 1

Les 13 chaînes sont présentes ; aucune absente, pas d'ARRÊT. Les littéraux TEXT sont en UTF-16LE, une occurrence chacune ; Scene_C a 10 occurrences ASCII, et _Walk_Loop 3 en UTF-16LE (noms de clips et chaînes voisines), comptes bruts.

MD5 (départ et fin, 16 / 16 identiques à la fiche)

Fichier MD5 départ MD5 fin Attendu fiche
Content/BPs/Person.uasset 8668a47c627f7a5254910cf0ac33b12a 8668a47c627f7a5254910cf0ac33b12a identique
Content/BPs/GI.uasset e64b5b37c9ef0db7735de0d6e3bd7c1c e64b5b37c9ef0db7735de0d6e3bd7c1c identique
Content/BPs/Room.uasset 0c8eb59f55cb02ad2c4fa1413840b84b 0c8eb59f55cb02ad2c4fa1413840b84b identique
Content/Heavy/Daz/Bridget/Anim/B_Walk_Loop.uasset c10fb66e4216f3e6302ee27d211c1a1d c10fb66e4216f3e6302ee27d211c1a1d identique
Content/Heavy/Daz/Michael/Anim/M_Walk_Loop.uasset d41db867eaf26d26847734172e5d5f98 d41db867eaf26d26847734172e5d5f98 identique
Source/LifePlay/LPDirectControlSubsystem.cpp 8a680f80111d742a924ff655fdb21b61 8a680f80111d742a924ff655fdb21b61 identique
Source/LifePlay/LPDirectControlSubsystem.h 3cdb498591dff98dd53fcfd65d7322d0 3cdb498591dff98dd53fcfd65d7322d0 identique
Source/LifePlay/LPOutdoorRoomSubsystem.cpp 5b65b064983d4d66a903ca008daffefd 5b65b064983d4d66a903ca008daffefd identique
Source/LifePlay/LPOutdoorRoomSubsystem.h 546963528958aa55f2587e2e924774fe 546963528958aa55f2587e2e924774fe identique
Source/LifePlay/LPDebugSubsystem.cpp e281ace24aecec31c23528777fb2f2d9 e281ace24aecec31c23528777fb2f2d9 identique
Source/LifePlay/LPDebugSubsystem.h 78d3a07957d81e0b39c5d9a81e5e03d3 78d3a07957d81e0b39c5d9a81e5e03d3 identique
Source/LifePlay/LPCameraModeSubsystem.cpp 61fb558202e9bb3f567bceaa4bf241d3 61fb558202e9bb3f567bceaa4bf241d3 identique
Source/LifePlay/LPCameraModeSubsystem.h 84f9ba303e1abd171c506dfbb4ed9f63 84f9ba303e1abd171c506dfbb4ed9f63 identique
Source/LifePlay/LPSaveRelaunch.cpp a0cd668771ff5893ed2867f24de1df3a a0cd668771ff5893ed2867f24de1df3a identique
Source/LifePlay/LPSaveRelaunch.h f31173f606a8f63db762f2d8960509f8 f31173f606a8f63db762f2d8960509f8 identique
Source/LifePlay/LifePlay.cpp 3f7ffa30e0ef83fc87aec297f699eea9 3f7ffa30e0ef83fc87aec297f699eea9 identique

Comparaison insensible à la casse (md5sum en minuscules, fiche en majuscules). MD5 relevés par moi au départ (avant la compilation) et à la fin (après la cuisson).

Écarts à la fiche

  • Premier comptage des chaînes : motif \xHH construit par awk (la séquence \x était réinterprétée) ; tous les comptes à 0, invalides. Refait en Bash pur, mêmes commandes d'exposition ; seul le second comptage est retenu ci-dessus.
  • Étapes a à e exécutées dans l'ordre, avec les commandes de la fiche. Rien corrigé, rien écrit dans Source/, Content/, Config/.
  • UeState -Kind Editeur, Compilation -WaitExit a rendu 0 pendant que UAT tournait (la fin de BuildDebug n'est pas vue par UeState, même constat que COMMUN-3) ; la fin a été attendue par la tâche de fond (exited with code 0), puis lue dans le journal (lignes 774 à 777).
  • Le CheckPackage a été relancé à part (étape d) ; BuildDebug l'avait déjà lancé et donnait le même PASS.

Points non mesurés ou incertains

  • Makefile recréé ou réutilisé : non tranché (champ vide, aucune ligne « Target is up to date » ; incertain).
  • Les cuits de Room et GI sont contrôlés par date et présence, pas par contenu ; les clips par présence et taille, pas par contenu.
  • Chaînes : comptage d'occurrences par octets, sans contrôle d'emplacement dans la section de données.
  • Non lancés, hors fiche : sessions de test de la fiche de tests commune (-ScriptStackOnWarnings -LPHitchLog -LPPersonsLog=5), éditeur non ouvert, jeu non lancé, build de référence sans -iterate.
  • LPDebugSubsystem.cpp : non recompilé, estimé à jour par son MD5 identique à COMMUN-3 (non vérifié par le journal de compilation de ce lot).
  • Recooking 163 et Keeping 8752 : les mêmes nombres qu'en COMMUN-3 (STG-COMMUN3-BUILD.md, lignes 68 à 69) ; estimé : cohérent avec un jeu de sources cuites peu modifié entre les deux, non démontré.

Fichiers à commiter

sans objet : aucun fichier suivi par git écrit par ce lot (aucune écriture dans Source/, Content/, Config/). Fichiers produits non suivis : Docs\Migration\etat\ST\STG\STG_Build_20261013-215814.txt, Docs\Migration\etat\ST\STG\STG-COMMUN4-BUILD.md (ce livrable), journaux Saved\Logs\portage\STG_Build_20261013-215814.log et Saved\Logs\portage\BuildDebug_Development_20261013-215939.log, cuisson Saved\Cooked\, archive D:\Game\LifePlay_Build_5.8_COMMUN-4_Development.

À verser

  • lp-build § 4 — BuildDebug.ps1 ajoute -iterate : le journal de cuisson porte l'avertissement LegacyIterative (lignes 252 et 517) à chaque cuisson incrémentale ; à ne pas compter comme erreur de build. Déjà connu sous une autre forme ; à ajouter à la liste des lignes connues de lp-build § 7 si l'orchestrateur le juge utile.

Suite

Suite : orchestrateur et Big Boss doivent lancer les sessions de test selon la fiche de tests commune de COMMUN-4 (archive lancée avec -ScriptStackOnWarnings -LPHitchLog -LPPersonsLog=5, copie du journal à la fermeture) ; état : archive COMMUN-4 Development prête et contrôlée (CheckPackage PASS, 13 chaînes présentes, recuit établi, deux clips cuits, Content\Quaternius absent du cuit), MD5 identiques au départ et à la fin, aucune session lancée.

Tours : 17 / 40