Fiche STG-COMMUN10 — Niveau N0 — Modèle prévu (agent lp-builder) | utilisé Haiku 5.5 (claude-haiku-5-5) — Agent lp-builder — Skills lp-build, sk-protocol, sk-windows-shell # STG-COMMUN10-BUILD : dixième build commun, cible jeu Development, paquet et contrôle (2026-10-14) Résultat : **FAIT**. Compilation code 0, 0 erreur, 0 avertissement compilateur ; paquet code 0 ; CheckPackage PASS (0 écart) ; cuits et clips présents ; chaînes présentes ; MD5 identiques au départ et à la fin ; UeState 0 au départ et à la fin. Aucune étape ARRÊT. Verdicts : a FAIT · b FAIT · c FAIT · d FAIT · e FAIT. Hors gabarit : aucun. Fiche de contrôle : `Docs\Migration\etat\ST\STG\fiches\STG-COMMUN10-BUILD.md`. UE-GO de Big Boss reçu le 2026-10-14 (UeState 0 au départ, sur ordre de l'utilisateur). ## 1. Commandes exactes a. `pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\UeState.ps1"` : sortie `processus=0 editeur=0 compilation=0 shaders=0 jeu=0`, code 0. Contrôle de `Mods\` (Glob sur `D:\Game\LifePlay-master 5.8\Mods`) : aucun fichier. b. `pwsh -NoProfile -Command "& 'D:\Game\LifePlay-master 5.8\Tools\Build.ps1' -Lot STG -Target LifePlay -Config Development -ExtraArgs '-NoUBA'"` (lancée en arrière-plan), puis `Tools\UeState.ps1 -Kind Editeur,Compilation -WaitExit -TimeoutSeconds 540` : fin après 44 s, code 0. c. `pwsh -NoProfile -Command "& 'D:\Game\LifePlay-master 5.8\Tools\BuildDebug.ps1' -Config Development -ArchiveDir 'D:\Game\LifePlay_Build_5.8_COMMUN-10_Development' -SkipBuild"` (arrière-plan). Commande UAT interne : `BuildCookRun -clientconfig=Development -cook -iterate -stage -pak -iostore -compressed -archive -unattended`. Fin détectée dans le journal (`BUILD SUCCESSFUL`, `AutomationTool exiting with ExitCode=0 (Success)`), code 0. d. `pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\CheckPackage.ps1" -Build "D:\Game\LifePlay_Build_5.8_COMMUN-10_Development"` : code 0. e. Un script Python (`python -I -X utf8`, script hors du dépôt) compte les chaînes en ASCII et en UTF-16LE sur `D:\Game\LifePlay_Build_5.8_COMMUN-10_Development\Windows\LifePlay\Binaries\Win64\LifePlay.exe` (une seule lecture du fichier, 330 422 784 octets). Les chaînes non ASCII sont comptées aussi en UTF-8. Comptes à la section 7. Relevés de MD5 : `Get-FileHash` en une commande (section 6) ; `Test-Path` et tailles des cuits en une commande (section 4). ## 2. Codes de sortie, journaux et résumé | Étape | Code | Journal ou résumé | |---|---|---| | a UeState | 0 | sortie brute ci-dessus | | b Build.ps1 | 0 | journal `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\STG_Build_20261014-122055.log` ; résumé `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STG\STG_Build_20261014-122055.txt` (Date 2026-10-14T12:21:48, durée 52 s, code de sortie 0) | | c BuildDebug.ps1 | 0 | journal `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\BuildDebug_Development_20261014-122204.log` (71 372 octets) | | d CheckPackage.ps1 | 0 | `Resultat : PASS (code 0)` | | e comptes | sans objet (comptage, pas une commande de build) | script ci-dessus | ## 3. Modules recompilés (b) Résumé `STG_Build_20261014-122055.txt`, section « Unites compilees : 4 » ; journal, lignes `[1/6]` à `[6/6]` : - `LPCameraModeSubsystem.cpp [NoUba]` - `LPDirectControlSubsystem.cpp [NoUba]` - `LPOutdoorRoomSubsystem.cpp [NoUba]` - `Module.LifePlay.cpp [NoUba]` (unité unity du module LifePlay) - Lien : `[5/6] Link [x64] LifePlay.exe [NoUba]`, sortie `D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe` (`Result: Succeeded`, `Total execution time: 52.03 seconds`). Non recompilés dans ce build (journal, ligne `[Adaptive Build] Excluded from LifePlay unity file`) : `LifePlay.cpp`, `LPBonusRewardSubsystem.cpp`, `LPDebugSubsystem.cpp`, `LPSaveRelaunch.cpp`. Aucune action de compilation ne les concerne dans le journal ; leurs `.cpp` ont des dates antérieures au build (`LPBonusRewardSubsystem.cpp` 09:35, `LPDebugSubsystem.cpp` 00:56, `LPSaveRelaunch.cpp` 13-10 21:33, `LifePlay.cpp` 13-10 21:29). Estimé : objets déjà à jour. Incertain : non vérifié par la date des `.obj`. Résumé « DLL liees : 0 » : le jeu est lié en `LifePlay.exe` (pas de DLL de module dans ce build) ; la ligne de sortie du journal confirme le lien. ## 4. Erreurs et avertissements (b, c) **Compilation (b)** - Erreurs du compilateur : 0 (résumé, section « Erreurs du compilateur : 0 »). - Avertissements du compilateur : 0 (résumé, « Avertissements du compilateur : 0 » ; `LogStats.ps1 -Pattern 'warning'` sur le journal de 33 lignes : 0 ligne). - `LPDirectControlSubsystem.cpp` : 0 avertissement. - `LPOutdoorRoomSubsystem.cpp` : 0 avertissement. - `LPCameraModeSubsystem.cpp` : 0 avertissement. - `LPBonusRewardSubsystem.cpp` : non compilé dans ce build (section 3), donc 0 avertissement par construction. - Autres lignes d'erreur ou d'avertissement (UBT, UHT, liens) : 0. - UHT : la seule ligne est `UHT compiled-in object format Default` (journal, ligne 8) ; pas de pas UHT dans le journal. Incertain : si un `.h` a changé depuis le build précédent, UHT aurait dû s'exécuter ; l'essai qui trancherait est une lecture des dates des `.h` contre le journal du build COMMUN-9. - Makefile : le journal ne mentionne ni « Makefile recréé » ni « réutilisé » ; le champ `Makefile :` du résumé est vide. Incertain. **Cuisson (c)** - `LogCook: Warning: CookIncremental and UnversionedCookedContent were requested, but LegacyIterative is required due to ZenStore not being used...` : 1 avertissement, « Success - 0 error(s), 1 warning(s) ». Avertissement connu de `-iterate` (lp-build § 4), pas un nouveau. ## 5. Toolchain (b) Ligne du journal (et du résumé, champ `Chaine`) : `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`. Conforme à la copie 5.8 (14.50.35717). Moteur : `D:\Game\Launcher\Engine\UE_5.8\Engine`. ISPC 1.24.0. Preuve de chargement d'addon : sans objet, la fiche ne demande pas de ligne propre à l'addon. ## 6. Recooking, cuits et clips **Recooking** : `LogCook: Display: Keeping 8917. Recooking 0. Removing 0.` → **Recooking 0**. Aucun recuit exigé et aucun asset recuit. **Cuits présents** (`D:\Game\LifePlay-master 5.8\Saved\Cooked\Windows\LifePlay\Content\`) : | Fichier cuit | Taille | Date du cuit | |---|---|---| | `BPs\Person.uasset` | 185 299 o | 2026-10-14 10:47:58 | | `BPs\Person.uexp` | 876 770 o | 2026-10-14 10:47:58 | | `BPs\Room.uasset` | 184 962 o | 2026-10-14 10:47:58 | | `BPs\Room.uexp` | 242 622 o | 2026-10-14 10:47:58 | | `BPs\GI.uasset` | 526 889 o | 2026-10-14 10:47:58 | | `BPs\GI.uexp` | 2 028 199 o | 2026-10-14 10:47:58 | Les cuits de Person, Room et GI datent de la cuisson précédente (Recooking 0) : ils sont présents et postérieurs aux sources (`Person.uasset` 2026-10-13 17:42, `Room.uasset` 10:07, `GI.uasset` 10:33). **Clips cuits** : - `Heavy\Daz\Bridget\Anim\B_Walk_Loop.uasset` : présent, 1 557 o, 2026-10-13 22:00:46. - `Heavy\Daz\Michael\Anim\M_Walk_Loop.uasset` : présent, 1 551 o, 2026-10-13 22:00:46. - `Content\Quaternius\` : absent (`Test-Path` = False). **Décor `fnt_ext001`** : `Heavy\New2\Furniture\fnt_ext001.uasset` 2 496 o ; `fnt_ext001.uexp` **1 079 978 o** (identique à COMMUN-6), 2026-10-14 02:33:45. **Preuves dans les cuits** (occurrences, uasset + uexp) : - `Person` : `STG_StandTarget` ASCII = 1, UTF-16LE = 0. - `GI` : `ORG4 bonus Endsex homme` ASCII = 1, UTF-16LE = 0 (information, pas un critère). ## 7. Résultat CheckPackage (d) et chaînes de l'exe (e) **CheckPackage** : `exe archive : D:\Game\LifePlay_Build_5.8_COMMUN-10_Development\Windows\LifePlay\Binaries\Win64\LifePlay.exe (2026-10-14 12:21:44, 330422784 o)` ; `exe du projet : D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe (2026-10-14 12:21:44, 330422784 o)` ; quatre contrôles PASS (Manifest_NonUFSFiles_Win64.txt, Manifest_UFSFiles_Win64.txt, LifePlay.exe.rsp, LifePlay.target) ; `Resultat : PASS (code 0)`. Écarts : 0. **Exe de l'archive** : taille 330 422 784 o, mtime 2026-10-14 12:21:44 (identique à l'exe du projet). MD5 complet : `61D0ABC7FE77603165A3C50222CF6B6D`. **Comptes de chaînes** (`ASCII` = octets ASCII, `UTF-16LE` = littéraux `TEXT`, `UTF-8` seulement pour les chaînes non ASCII) : | Chaîne | ASCII | UTF-16LE | |---|---|---| | `Scene_C` | 10 | 9 | | `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 | 2 | | `Camera: POV` | 0 | 1 | | `(%s), Pawn en Ignore jusqu'a la sortie` | 0 | 1 | | `meuble quitte` | 0 | 1 | | `bloque` | 0 | 2 | | `%s%s releve de` | 0 | 1 | | `en collision complexe, laisse en Pawn Block` | 0 | 1 | | `ecarte de` | 0 | 2 | | `S-F5k)` | 0 | 1 | | `COUPLE %s anim=` | 0 | 1 | | `lowestMinusUnder` | 0 | 1 | | `Touche C :` | 0 | 1 | | `Indicateur de camera : aucun` | 0 | 1 | | `joueur masque par` | 0 | 1 | | `vue par Slate ; PlayerInput=` | 0 | 1 | | `marche coupee par le menu` | 0 | 1 | | `sans contenu visible, la marche n'est pas coupee` | 0 | 1 | | `CharGen : SpaceOn remis a vrai` | 0 | 1 | | `CharGen : MainMenuOn remis a faux` | 0 | 1 | | `Sexe : touches avant=` | 0 | 1 | | `liberee sans marche, joueur pose` | 0 | 1 | | `aucun point libre a` | 0 | 1 | | `B2q-a : %s BoundsScale` | 0 | 1 | | `T-cull mesure` | 0 | 1 | | `non rendue, bassin a l'ecran` | 0 | 1 | | `cm du bassin, a %.0f cm du composant` | 0 | 1 | | `aucun point libre (depart dans` | 0 | 1 | | `, S-F5m)` | 0 | 2 | | `maillage relatif Z` | 0 | 1 | | `debout sans meuble` | 0 | 1 | | `Sexe : couple ramene dans la piece de` | 0 | 1 | | `Sexe : couple deplace hors prise de` | 0 | 1 | | `Sexe : couple pris` | 0 | 1 | | `Sexe : couple pose a` | 0 | 1 | | `Sexe : couple tourne de` | 0 | 1 | | `Bonus : pas de panneau EquipMenu` | 0 | 1 | | `Bonus : contrôle formule` | (non ASCII ; UTF-8 = 0) | 2 | | `Bonus : réglage bDisabled` | (non ASCII ; UTF-8 = 0) | 1 | Aucune chaîne absente : pas d'ARRÊT. `ORG4 bonus Endsex homme` n'est pas cherchée dans l'exe (la fiche ne le demande que dans le cuit GI, section 6). ## 8. MD5 (départ et fin) Relevés au départ (étape a, avant b) et à la fin (après e). Comparaison sur 8 caractères, MD5 complet donné. Tous identiques, aucun écart. | Fichier | MD5 complet (départ = fin) | Préfixe attendu | Résultat | |---|---|---|---| | `Content/BPs/Person.uasset` | 8668A47C627F7A5254910CF0AC33B12A | 8668A47C | identique | | `Content/BPs/GI.uasset` | 32FC0A970AB194626E8DC07DF3A9633D | 32fc0a97 | identique | | `Content/BPs/Room.uasset` | 931387479E2D15F80BC4F36398907712 | 93138747 | identique | | `Content/BPs/PC.uasset` | F45BE57A39D13D3EB19D0B543153AB0B | f45be57a | identique | | `Content/UI/TopRight.uasset` | CB8353603CF95849B4F778A33B4BFBD2 | cb835360 | identique | | `Content/Heavy/Daz/Bridget/Anim/B_Walk_Loop.uasset` | C10FB66E4216F3E6302EE27D211C1A1D | C10FB66E | identique | | `Content/Heavy/Daz/Michael/Anim/M_Walk_Loop.uasset` | D41DB867EAF26D26847734172E5D5F98 | D41DB867 | identique | | `Source/LifePlay/LPDirectControlSubsystem.cpp` | 5F9D7E00402688822687E7EB32979BD1 | 5F9D7E00 | identique | | `Source/LifePlay/LPDirectControlSubsystem.h` | 01D5EA3C82C2A547065C7BC391B9B430 | 01D5EA3C | identique | | `Source/LifePlay/LPOutdoorRoomSubsystem.cpp` | DC68ED8AF8A635E54AA003B84C565BE9 | DC68ED8A | identique | | `Source/LifePlay/LPOutdoorRoomSubsystem.h` | 6A3EDD7339DDA483DAEF497372951188 | 6A3EDD73 | identique | | `Content/Heavy/New2/Furniture/fnt_ext001.uasset` | DF2DB514E0E2345C6CCAC66A0787621F | DF2DB514 | identique | | `Source/LifePlay/LPDebugSubsystem.cpp` | F0081F9F98DEF2FE3BE130C4F26AEF9E | F0081F9F | identique | | `Source/LifePlay/LPDebugSubsystem.h` | 78D3A07957D81E0B39C5D9A81E5E03D3 | 78D3A079 | identique | | `Source/LifePlay/LPCameraModeSubsystem.cpp` | FFF0FBB45D493B931B08780BF09547C8 | fff0fbb4 | identique | | `Source/LifePlay/LPCameraModeSubsystem.h` | 0EDC1F76B7EEC0D135EA046DA2269BE0 | 0edc1f76 | identique | | `Source/LifePlay/LPBonusRewardSubsystem.cpp` | 16147626D2FA8A11DAC8747CDBE12E9A | 16147626 | identique | | `Source/LifePlay/LPBonusRewardSubsystem.h` | 87177C7A53FB5B5CC946E904060A3AAA | 87177c7a | identique | | `Source/LifePlay/LPSaveRelaunch.cpp` | A0CD668771FF5893ED2867F24DE1DF3A | A0CD6687 | identique | | `Source/LifePlay/LPSaveRelaunch.h` | F31173F606A8F63DB762F2D8960509F8 | F31173F6 | identique | | `Source/LifePlay/LifePlay.cpp` | 3F7FFA30E0EF83FC87AEC297F699EEA9 | 3F7FFA30 | identique | | exe de l'archive | 61D0ABC7FE77603165A3C50222CF6B6D (seulement en fin) | — | sans comparaison | ARRÊT sur `LPCameraModeSubsystem` ou `LPBonusRewardSubsystem` : non déclenché (MD5 identiques avant et après le build). ## 9. Fins de contrôle - `UeState.ps1` en fin : `processus=0 editeur=0 compilation=0 shaders=0 jeu=0`, code 0. - LPSaveLocation.ini : non posé (interdit). - Aucune autre archive touchée ; aucune écriture dans Source/, Content/, Config/ ; aucune commande git qui écrit ; jeu non lancé ; aucune correction. ## Constats - Le build a recompilé `LPDirectControlSubsystem.cpp` (M-Z), `LPOutdoorRoomSubsystem.cpp` (S-F5p) et `LPCameraModeSubsystem.cpp` (B2p-E) pour la première fois ; zéro erreur, zéro avertissement sur ces trois fichiers. - Points incertains : état du Makefile (absent du journal), présence de changements de `.h` non suivis d'UHT (aucune ligne UHT), objets à jour de quatre `.cpp` non recompilés (vérification par la date des `.obj` non faite). - Non mesuré : le comportement en jeu (hors fiche), `ORG4 bonus Endsex homme` dans l'exe (non demandé). - Fichiers écrits : ce livrable (A) ; résumé `Docs\Migration\etat\ST\STG\STG_Build_20261014-122055.txt` et journaux `Saved\Logs\portage\` (produits automatiquement, non suivis par git). Fichiers à commiter : aucun modifié par ce lot ; le livrable seul (A) pour le gardien s'il le demande. Tours : 21 / 50