268 lines
25 KiB
Markdown
268 lines
25 KiB
Markdown
|
|
Fiche STA-T1 — Niveau N1 — Modèle prévu (modèle de l'agent lp-inventory) | utilisé claude-sonnet-5-5 — Agent lp-inventory — Skills sk-protocol, sk-recount, lp-paths (sk-windows-shell non préchargé ; ses pièges lus dans la fiche : guillemets, `-Command`)
|
|||
|
|
# STA-T1-INV : signatures d'avertissement / erreur des journaux CIBLE (U8 Development) et REF (U6 session 2), regroupées par famille (2026-10-09)
|
|||
|
|
|
|||
|
|
Lecture seule : aucun journal, dépôt ni fichier de jeu modifié ; ni jeu, ni éditeur, ni commandlet ; aucun commit. `git status --short` (copie 5.8) : vide après les mesures. Fichiers écrits : ce livrable, `STA-T1-familles.csv` (produit par le script, § 1), et 3 scripts / sorties dans le scratchpad.
|
|||
|
|
|
|||
|
|
Journaux (inchangés depuis la lecture de U8-T5c) :
|
|||
|
|
- CIBLE = `D:\Game\LifePlay_Build_5.8_Development_U8_essai\Windows\LifePlay\Saved\Logs\LifePlay.log`, 52 550 lignes (nommé `LifePlay.log` ci-dessous).
|
|||
|
|
- REF = `D:\Game\LifePlay-master 5.5\Docs\Migration\etat\U58\U6\LifePlay_58_session2.log`, 17 317 lignes (nommé `session2.log`).
|
|||
|
|
- Résumé de fin de session `LogLifePlay: Display: <n> […]` exclu de tous les comptes d'événements : CIBLE lignes 52462-52509 (48 lignes), REF lignes 17229-17276 (48 lignes) ; borne détectée par la ligne « bilan de session » puis les lignes `LogLifePlay: Display:` consécutives.
|
|||
|
|
|
|||
|
|
## 1. Commandes exactes
|
|||
|
|
```
|
|||
|
|
pwsh -NoProfile -Command "& './Tools/LogStats.ps1' -Compare 'D:\Game\LifePlay-master 5.5\Docs\Migration\etat\U58\U6\LifePlay_58_session2.log','D:\Game\LifePlay_Build_5.8_Development_U8_essai\Windows\LifePlay\Saved\Logs\LifePlay.log'" (depuis D:\Game\LifePlay-master 5.8 ; code de sortie 0)
|
|||
|
|
python -I "<scratchpad>\sta_t1.py" "<scratchpad>" "D:/Game/LifePlay-master 5.5/Docs/Migration/etat/ST/STA/STA-T1-familles.csv" (sortie complète : <scratchpad>\sta_t1_out.txt, 203 lignes)
|
|||
|
|
python -I "<scratchpad>\explore.py" (exploration des formes de message, avant sta_t1.py)
|
|||
|
|
Grep output_mode count (recompte par une autre méthode, § 2.6)
|
|||
|
|
Read de lignes précises pour les exemples (§ 2.6)
|
|||
|
|
git status --short (copie 5.8)
|
|||
|
|
```
|
|||
|
|
`<scratchpad>` = `%USERPROFILE%\AppData\Local\Temp\claude\D--Game-LifePlay-master-5-8\87a0d630-8082-4d24-9a2d-960932aa8255\scratchpad\` ; scripts : `sta_t1.py` (12 532 octets, 3e version : la 1re normalisait mal les nombres négatifs des lignes « Show couple », corrigé avant les chiffres de ce livrable), `explore.py`. Clé et famille : voir § Constats 0.
|
|||
|
|
|
|||
|
|
## 2. Comptes bruts
|
|||
|
|
|
|||
|
|
### 2.1 Sortie brute de `LogStats.ps1 -Compare` (A = REF, B = CIBLE ; codes couleur ANSI retirés)
|
|||
|
|
```
|
|||
|
|
Mesure A B
|
|||
|
|
Lignes 17317 52550
|
|||
|
|
Personnages 18 15
|
|||
|
|
ActeursDistincts 6 5
|
|||
|
|
AccessedNone 364 223
|
|||
|
|
AccessedNoneMaillage 1 0
|
|||
|
|
NoneMaillageParPerso 0,06 0,00
|
|||
|
|
NoSkeletalMesh 2723 871
|
|||
|
|
IndexHorsBornes 734 3298
|
|||
|
|
LoadTxtOK 0 0
|
|||
|
|
LoadTxtEchec 2 1
|
|||
|
|
LogClassError 0 0
|
|||
|
|
FailedToLoad 0 0
|
|||
|
|
Fatal 0 0
|
|||
|
|
Erreurs 5 3
|
|||
|
|
Avertissements 5015 8056
|
|||
|
|
LogLifePlay 124 157
|
|||
|
|
LogLPAnimMeasure 0 0
|
|||
|
|
TraceModding 16 14
|
|||
|
|
Fichiers enumeres (GetAllFilesFromFolder) qui different : aucun (0 enumerations identiques)
|
|||
|
|
```
|
|||
|
|
Identique ligne à ligne à U8-T5c § A (même sortie).
|
|||
|
|
|
|||
|
|
### 2.2 Totaux par catégorie (script `sta_t1.py`, événements hors résumé de fin de session)
|
|||
|
|
| Catégorie | CIBLE | REF | Contrôle (autre méthode) |
|
|||
|
|
|---|---|---|---|
|
|||
|
|
| (a) `Accessed None`, toutes formes | 256 | 390 | Grep `LogScript: Warning: Accessed None` : 256 / 390 |
|
|||
|
|
| dont « trying to read (real) property » | 220 | 357 | + lignes du résumé 3 / 7 = 223 / 364 = `LogStats` `AccessedNone` |
|
|||
|
|
| dont « reading structure » (`DepthOfFieldFarBlurSize`) | 6 | 6 | |
|
|||
|
|
| dont forme nue `Accessed None` (sans propriété) | 30 | 27 | |
|
|||
|
|
| + lignes du résumé (toutes formes) | 3 | 7 | `grep -c 'Accessed None'` : 259 = 256 + 3 ; 397 = 390 + 7 (U8-T5c § A) |
|
|||
|
|
| (b) `Attempted to access index … from array` | 3 293 | 731 | + lignes du résumé 5 / 3 = 3 298 / 734 = `LogStats` `IndexHorsBornes` ; Grep `Attempted to access index` : 3 298 / 734 |
|
|||
|
|
| dont forme directe (`array X of length N!`, avec ligne `Function`) | 3 229 | 661 | |
|
|||
|
|
| dont forme `Script Msg: … array 'X' … in '<classe>'` (sans ligne `Function`) | 64 | 70 | |
|
|||
|
|
| dont `Floats_3` (GUID retiré) | 2 591 | 18 | Grep `array Floats_3_` : 2 591 (CIBLE) |
|
|||
|
|
| (c) lignes `Error:` | 4 | 6 | `LogStats` `: Error: ` 3 / 5 ; motif large `Error:` (Grep U8-T5c) 4 / 6 ; 0 ligne `Error:` dans le résumé |
|
|||
|
|
| (d) autres avertissements | 4 507 | 3 894 | |
|
|||
|
|
| dont lignes de continuation (`Script call stack:` 3 496 / 1 060 ; `Script Msg called by:` 65 / 72) | 3 561 | 1 132 | Grep `LogScript: Warning: Script call stack:` : 3 496 / 1 060 |
|
|||
|
|
| dont signatures propres | 946 | 2 762 | |
|
|||
|
|
| (e) `Gamethread hitch` | 2 | 4 | `LogStats` `-Pattern` U8-T5c § C : 2 / 4 |
|
|||
|
|
| Total des lignes `: Warning: ` = (a)+(b)+(d) | 256 + 3 293 + 4 507 = **8 056** | 390 + 731 + 3 894 = **5 015** | `LogStats` `Avertissements` 8 056 / 5 015 (aucune ligne du résumé n'y est comptée) ; Grep `[ts][n]X: Warning: ` : 8 056 |
|
|||
|
|
|
|||
|
|
### 2.3 Définitions d'« Accessed None » (reprise U8-T5c § G.1)
|
|||
|
|
`LogStats` (« property ») : 223 / 364 = 220 / 357 événements + 3 / 7 lignes du résumé. Toutes formes : 259 / 397 = 256 / 390 événements + 3 / 7 lignes du résumé. Événements réels, toutes formes : **256 / 390**.
|
|||
|
|
|
|||
|
|
### 2.4 Familles = Blueprint + fonction en tête de pile (types (a) et (b)), triées par compte CIBLE décroissant
|
|||
|
|
Somme de la colonne « Total cible » = 3 549 = 256 + 3 293 ; « Total ref » = 1 121 = 390 + 731 (vérifié par le script et recalculé depuis le CSV, § 2.6).
|
|||
|
|
|
|||
|
|
| # | Famille | A cible | A ref | B cible | B ref | Total cible | Total ref |
|
|||
|
|
|---|---|---|---|---|---|---|---|
|
|||
|
|
| 1 | `GI_C:getBeautyValue` | 0 | 0 | 2505 | 18 | 2505 | 18 |
|
|||
|
|
| 2 | `GI_C:ExecuteUbergraph_GI` | 16 | 58 | 630 | 630 | 646 | 688 |
|
|||
|
|
| 3 | `GI_C:clearVariable` | 72 | 94 | 0 | 0 | 72 | 94 |
|
|||
|
|
| 4 | `Person_C:standIdle` | 56 | 40 | 0 | 0 | 56 | 40 |
|
|||
|
|
| 5 | `GI_C:getRandomAge` | 0 | 0 | 56 | 0 | 56 | 0 |
|
|||
|
|
| 6 | `GI_C:(Script Msg)` | 0 | 0 | 46 | 61 | 46 | 61 |
|
|||
|
|
| 7 | `GI_C:determinePersonVars` | 30 | 34 | 0 | 0 | 30 | 34 |
|
|||
|
|
| 8 | `MainMenu_C:Get_SpinBox_0_Value_0` | 30 | 30 | 0 | 0 | 30 | 30 |
|
|||
|
|
| 9 | `GI_C:getRandomEthnicity` | 0 | 0 | 30 | 0 | 30 | 0 |
|
|||
|
|
| 10 | `Person_C:ExecuteUbergraph_Person` | 27 | 31 | 0 | 0 | 27 | 31 |
|
|||
|
|
| 11 | `Person_C:(Script Msg)` | 0 | 0 | 15 | 9 | 15 | 9 |
|
|||
|
|
| 12 | `StreetMap_Static_C:SearchByAmenitySafe` | 10 | 15 | 0 | 0 | 10 | 15 |
|
|||
|
|
| 13 | `StreetMap_Static_C:ExecuteUbergraph_StreetMap_Static` | 5 | 6 | 0 | 0 | 5 | 6 |
|
|||
|
|
| 14 | `Room_C:pickPresetWorld` | 0 | 0 | 4 | 10 | 4 | 10 |
|
|||
|
|
| 15 | `GI_C:clearScenePersons` | 4 | 8 | 0 | 0 | 4 | 8 |
|
|||
|
|
| 16 | `Person_C:assignHome` | 0 | 0 | 4 | 3 | 4 | 3 |
|
|||
|
|
| 17 | `SexInterface_C:(Script Msg)` | 0 | 0 | 3 | 0 | 3 | 0 |
|
|||
|
|
| 18 | `GI_C:ReturnStatIfNeeded` | 2 | 2 | 0 | 0 | 2 | 2 |
|
|||
|
|
| 19 | `MainMenu_C:ExecuteUbergraph_MainMenu` | 2 | 2 | 0 | 0 | 2 | 2 |
|
|||
|
|
| 20 | `GI_C:isCreatureType` | 1 | 0 | 0 | 0 | 1 | 0 |
|
|||
|
|
| 21 | `PC_C:ExecuteUbergraph_PC` | 1 | 0 | 0 | 0 | 1 | 0 |
|
|||
|
|
| 22 | `Person_C:UpdateDailyPose` | 0 | 63 | 0 | 0 | 0 | 63 |
|
|||
|
|
| 23 | `CharGen_C:ExecuteUbergraph_CharGen` | 0 | 3 | 0 | 0 | 0 | 3 |
|
|||
|
|
| 24 | `StreetMap_Static_C:findNearbyBuilding` | 0 | 2 | 0 | 0 | 0 | 2 |
|
|||
|
|
| 25 | `CharGen_C:PopulateGenitalSlidersDaz` | 0 | 1 | 0 | 0 | 0 | 1 |
|
|||
|
|
| 26 | `CityMenu_C:ExecuteUbergraph_CityMenu` | 0 | 1 | 0 | 0 | 0 | 1 |
|
|||
|
|
| | **Total (26 familles, 47 clés)** | **256** | **390** | **3293** | **731** | **3549** | **1121** |
|
|||
|
|
|
|||
|
|
### 2.5 Clés par famille (T = type ; exemple = première ligne, `fichier:ligne`, CIBLE si compte CIBLE > 0 sinon REF). Détail machine : `STA-T1-familles.csv` (47 lignes, colonnes `famille;type;cle;cible;ref;exemple`, séparateur `;`, UTF-8 avec BOM).
|
|||
|
|
| Famille | T | Clé | Cible | Ref | Exemple |
|
|||
|
|
|---|---|---|---|---|---|
|
|||
|
|
| `GI_C:getBeautyValue` | B | `Floats_3` | 2505 | 18 | LifePlay.log:8183 |
|
|||
|
|
| `GI_C:ExecuteUbergraph_GI` | A | `Interacting in GI_C` | 7 | 24 | LifePlay.log:7652 |
|
|||
|
|
| | A | `TintUI in GI_C` | 5 | 17 | LifePlay.log:49418 |
|
|||
|
|
| | A | `Companion in GI_C` | 2 | 4 | LifePlay.log:49404 |
|
|||
|
|
| | A | `CallFunc_K2_GetRootComponent_ReturnValue_1 in not an UClass` | 1 | 6 | LifePlay.log:7797 |
|
|||
|
|
| | A | `CallFunc_Array_Get_Item_53 in not an UClass` | 1 | 2 | LifePlay.log:7382 |
|
|||
|
|
| | A | `CallFunc_K2_GetRootComponent_ReturnValue_2 in not an UClass` | 0 | 5 | session2.log:7635 |
|
|||
|
|
| | B | `CallFunc_ParseIntoArray_ReturnValue_3` | 570 | 570 | LifePlay.log:1021 |
|
|||
|
|
| | B | `CallFunc_ParseIntoArray_ReturnValue_29` | 40 | 40 | LifePlay.log:6243 |
|
|||
|
|
| | B | `CallFunc_ParseIntoArray_ReturnValue_28` | 20 | 20 | LifePlay.log:6923 |
|
|||
|
|
| `GI_C:clearVariable` | A | `CallFunc_Array_Get_Item in not an UClass` | 72 | 94 | LifePlay.log:38012 |
|
|||
|
|
| `Person_C:standIdle` | A | `Near in not an UClass` | 42 | 30 | LifePlay.log:7511 |
|
|||
|
|
| | A | `(sans propriete)` | 14 | 10 | LifePlay.log:7542 |
|
|||
|
|
| `GI_C:getRandomAge` | B | `Floats_3` | 56 | 0 | LifePlay.log:8071 |
|
|||
|
|
| `GI_C:(Script Msg)` | B | `Person_24 in Variable` | 39 | 59 | LifePlay.log:38010 |
|
|||
|
|
| | B | `Texture2dArray_3 in Te2dArray` | 6 | 0 | LifePlay.log:51230 |
|
|||
|
|
| | B | `WidgetComponents in MapMarkers_C` | 1 | 2 | LifePlay.log:7380 |
|
|||
|
|
| `GI_C:determinePersonVars` | A | `currentMatchRace in GI_C` | 30 | 34 | LifePlay.log:8041 |
|
|||
|
|
| `MainMenu_C:Get_SpinBox_0_Value_0` | A | `(sans propriete)` | 12 | 12 | LifePlay.log:917 |
|
|||
|
|
| | A | `CallFunc_Array_Get_Item in not an UClass` | 6 | 6 | LifePlay.log:923 |
|
|||
|
|
| | A | `GI in MainMenu_C` | 6 | 6 | LifePlay.log:911 |
|
|||
|
|
| | A | `structure DepthOfFieldFarBlurSize` | 6 | 6 | LifePlay.log:935 |
|
|||
|
|
| `GI_C:getRandomEthnicity` | B | `Floats_3` | 30 | 0 | LifePlay.log:19709 |
|
|||
|
|
| `Person_C:ExecuteUbergraph_Person` | A | `HeadtrackStatic in Person_C` | 11 | 10 | LifePlay.log:7980 |
|
|||
|
|
| | A | `OccupyingFnt in Person_C` | 10 | 17 | LifePlay.log:7637 |
|
|||
|
|
| | A | `(sans propriete)` | 3 | 2 | LifePlay.log:37738 |
|
|||
|
|
| | A | `HeadtrackTarget in Person_C` | 3 | 2 | LifePlay.log:37731 |
|
|||
|
|
| `Person_C:(Script Msg)` | B | `Standspots_Occupied in Room_C` | 15 | 9 | LifePlay.log:7635 |
|
|||
|
|
| `StreetMap_Static_C:SearchByAmenitySafe` | A | `CurrentCityExpansion in GI_C` | 9 | 14 | LifePlay.log:7898 |
|
|||
|
|
| | A | `(sans propriete)` | 1 | 1 | LifePlay.log:51388 |
|
|||
|
|
| `StreetMap_Static_C:ExecuteUbergraph_StreetMap_Static` | A | `BGA in StreetMap_Static_C` | 5 | 6 | LifePlay.log:7446 |
|
|||
|
|
| `Room_C:pickPresetWorld` | B | `BuildingPoints` | 4 | 10 | LifePlay.log:7465 |
|
|||
|
|
| `GI_C:clearScenePersons` | A | `Companion in GI_C` | 2 | 4 | LifePlay.log:49664 |
|
|||
|
|
| | A | `Interacting in GI_C` | 2 | 4 | LifePlay.log:49674 |
|
|||
|
|
| `Person_C:assignHome` | B | `FamilyLiveWiths` | 2 | 2 | LifePlay.log:51402 |
|
|||
|
|
| | B | `CallFunc_SearchByAmenitySafe_Buildings` | 2 | 1 | LifePlay.log:51429 |
|
|||
|
|
| `SexInterface_C:(Script Msg)` | B | `SexPersons in GI_C` | 3 | 0 | LifePlay.log:51235 |
|
|||
|
|
| `GI_C:ReturnStatIfNeeded` | A | `Person in not an UClass` | 2 | 2 | LifePlay.log:37958 |
|
|||
|
|
| `MainMenu_C:ExecuteUbergraph_MainMenu` | A | `GI in MainMenu_C` | 2 | 2 | LifePlay.log:1001 |
|
|||
|
|
| `GI_C:isCreatureType` | A | `Actor in not an UClass` | 1 | 0 | LifePlay.log:49114 |
|
|||
|
|
| `PC_C:ExecuteUbergraph_PC` | A | `CallFunc_getFirstDick_Person_1 in not an UClass` | 1 | 0 | LifePlay.log:51243 |
|
|||
|
|
| `Person_C:UpdateDailyPose` | A | `ContactMenu in GI_C` | 0 | 63 | session2.log:8118 |
|
|||
|
|
| `CharGen_C:ExecuteUbergraph_CharGen` | A | `(sans propriete)` | 0 | 2 | session2.log:7522 |
|
|||
|
|
| | A | `GI in CharGen_C` | 0 | 1 | session2.log:7515 |
|
|||
|
|
| `StreetMap_Static_C:findNearbyBuilding` | A | `CurrentCityExpansion in GI_C` | 0 | 2 | session2.log:13900 |
|
|||
|
|
| `CharGen_C:PopulateGenitalSlidersDaz` | A | `CallFunc_GetSkeletalMesh_ReturnValue in not an UClass` | 0 | 1 | session2.log:7536 |
|
|||
|
|
| `CityMenu_C:ExecuteUbergraph_CityMenu` | A | `GI in CityMenu_C` | 0 | 1 | session2.log:7910 |
|
|||
|
|
|
|||
|
|
### 2.6 (c) Lignes `Error:` (signature sans horodatage ni identifiants)
|
|||
|
|
| Signature | Cible | Ref | Exemple |
|
|||
|
|
|---|---|---|---|
|
|||
|
|
| `InputMode:UIOnly - Attempting to focus Non-Focusable widget SObjectWidget [Widget.cpp(#)]!` (LogPlayerController) | 3 | 5 | LifePlay.log:1015 (autres : 51359, 52083) |
|
|||
|
|
| `r.MorphTarget.Mode is read only!` (sans catégorie de journal) | 1 | 1 | LifePlay.log:7378 |
|
|||
|
|
| Total | 4 | 6 | `LogStats` `: Error: ` 3 / 5 (la 2e signature n'a pas la forme `: Error: `) |
|
|||
|
|
Aucune signature nouvelle côté CIBLE ; Fatal 0 / 0 (`LogStats`).
|
|||
|
|
|
|||
|
|
### 2.7 (d) Avertissements hors (a)(b) : 27 signatures distinctes en tout (< 30, donc la liste est complète)
|
|||
|
|
Nombres remplacés par `#`, identifiants d'instance `_2147…` et GUID retirés ; les 5 signatures `GetSocketInfoByName(<os>): No SkeletalMesh for Component(CharacterMesh#) Actor(Person_C /Game/Scenes/CentralLondon.CentralLondon:PersistentLevel.Person_C)` sont abrégées en `[…]` ci-dessous.
|
|||
|
|
| # | Signature | Cible | Ref | Exemple |
|
|||
|
|
|---|---|---|---|---|
|
|||
|
|
| 1 | `LogScript: Script call stack:` (ligne de continuation de chaque événement (a)(b)(d) avec pile) | 3496 | 1060 | LifePlay.log:914 |
|
|||
|
|
| 2 | `LogSkinnedMeshComp: GetSocketInfoByName(CenterBrow): No SkeletalMesh […]` | 376 | 273 | LifePlay.log:49684 |
|
|||
|
|
| 3 | `LogSkinnedMeshComp: GetSocketInfoByName(Head): No SkeletalMesh […]` | 196 | 978 | LifePlay.log:38196 |
|
|||
|
|
| 4 | `LogSkinnedMeshComp: GetSocketInfoByName(chestUpper): No SkeletalMesh […]` | 98 | 489 | LifePlay.log:38199 |
|
|||
|
|
| 5 | `LogSkinnedMeshComp: GetSocketInfoByName(hip): No SkeletalMesh […]` | 98 | 489 | LifePlay.log:38200 |
|
|||
|
|
| 6 | `LogSkinnedMeshComp: GetSocketInfoByName(pelvis): No SkeletalMesh […]` | 98 | 489 | LifePlay.log:38198 |
|
|||
|
|
| 7 | `LogLifePlay: Meubles assis ou couches : # ouverts au passage` | 53 | 24 | LifePlay.log:8003 |
|
|||
|
|
| 8 | `LogScript: Script Msg called by: GI_C` (continuation des (b) `Script Msg`) | 46 | 61 | LifePlay.log:7381 |
|
|||
|
|
| 9 | `LogScript: Script Msg called by: Person_C` (continuation) | 15 | 9 | LifePlay.log:7636 |
|
|||
|
|
| 10 | `LogScript: Attempted to access NODE_AddStaticMeshComponent#_# via property OccupyingFnt, but … is not valid (pending kill or garbage)` | 9 | 2 | LifePlay.log:50980 |
|
|||
|
|
| 11 | `LogLifePlay: Show couple : boite pose centre X=# Y=# Z=# etendue X=# Y=# Z=#` | 6 | 0 | LifePlay.log:51234 |
|
|||
|
|
| 12 | `LogScript: Script Msg called by: SexInterface_C` (continuation) | 3 | 0 | LifePlay.log:51236 |
|
|||
|
|
| 13 | `LogUObjectGlobals: Gamethread hitch waiting for resource cleanup on a UObject (WidgetComponent …MapMarkers_C.LPFocusWidgetComponent) overwrite took #ms. Fix the higher level code…` | 2 | 4 | LifePlay.log:7972 |
|
|||
|
|
| 14 | `LogScript: Attempted to assign to None` | 2 | 3 | LifePlay.log:1008 |
|
|||
|
|
| 15 | `LogCrowdFollowing: Unable to find RecastNavMesh instance while trying to create UCrowdManager instance` | 1 | 1 | LifePlay.log:52461 |
|
|||
|
|
| 16 | `LogLifePlay: Clavier : …/LPKeyboard.ini illisible, les touches du jeu sont gardees` | 1 | 1 | LifePlay.log:863 |
|
|||
|
|
| 17 | `LogModdingExtra: LoadTxt ECHEC | 'Modules/ModLauncher.config' introuvable ou illisible` | 1 | 1 | LifePlay.log:6242 |
|
|||
|
|
| 18 | `LogScript: Script Msg called by: SexAction_C` (continuation) | 1 | 1 | LifePlay.log:7412 |
|
|||
|
|
| 19 | `LogScript: Script Msg: Divide by zero: Divide_DoubleDouble` | 1 | 1 | LifePlay.log:7411 |
|
|||
|
|
| 20 | `LogSpawn: SpawnActor failed because no class was specified` | 1 | 1 | LifePlay.log:908 |
|
|||
|
|
| 21 | `LogLifePlay: Show couple : Pawn chambre Block=# Overlap=# Ignore->Block=# Room_C_#/NODE_AddStaticMeshComponent#_#, …` | 1 | 0 | LifePlay.log:51233 |
|
|||
|
|
| 22 | `LogLifePlay: Show couple : ancien chemin` | 1 | 0 | LifePlay.log:51369 |
|
|||
|
|
| 23 | `LogLifePlay: Show couple : branche (PlayerCharacter + Person_C)` | 1 | 0 | LifePlay.log:51232 |
|
|||
|
|
| 24 | `LogScript: Attempted to access AudioComponent via property BGA, but AudioComponent is not valid (pending kill or garbage)` | 0 | 4 | session2.log:8942 |
|
|||
|
|
| 25 | `LogModdingExtra: LoadTxt ECHEC | 'Saves/_session/Characters/OldPlayer.lpcharacter' introuvable ou illisible` | 0 | 1 | session2.log:17192 |
|
|||
|
|
| 26 | `LogScript: Script Msg called by: Room_C` (continuation) | 0 | 1 | session2.log:7478 |
|
|||
|
|
| 27 | `LogScript: Script Msg: Divide by zero: Divide_Vector#DVector#D` | 0 | 1 | session2.log:7477 |
|
|||
|
|
| | **Total** | **4507** | **3894** | continuation 3 561 / 1 132 ; signatures propres 946 / 2 762 |
|
|||
|
|
|
|||
|
|
### 2.8 (e) `Gamethread hitch` (tous sur `MapMarkers_C…LPFocusWidgetComponent`, instances `MapMarkers_C_2147…` ; CIBLE une seule instance 2147481658)
|
|||
|
|
| Journal | Ligne | Durée |
|
|||
|
|
|---|---|---|
|
|||
|
|
| CIBLE | LifePlay.log:7972 | 1,77 ms |
|
|||
|
|
| CIBLE | LifePlay.log:51241 | 11,66 ms |
|
|||
|
|
| REF | session2.log:7736 | 3,45 ms |
|
|||
|
|
| REF | session2.log:8321 | 6,07 ms |
|
|||
|
|
| REF | session2.log:9687 | 3,14 ms |
|
|||
|
|
| REF | session2.log:14480 | 3,43 ms |
|
|||
|
|
Totaux : CIBLE 2 hitchs, 13,43 ms, max 11,66 ms ; REF 4 hitchs, 16,09 ms, max 6,07 ms (= U8-T5c § C).
|
|||
|
|
|
|||
|
|
### 2.9 Recompte par une autre méthode (sk-recount)
|
|||
|
|
| Élément | Script | Autre méthode | Verdict |
|
|||
|
|
|---|---|---|---|
|
|||
|
|
| (b) lignes `Attempted to access index` | 3 293 + 5 résumé = 3 298 / 731 + 3 = 734 | Grep count : 3 298 / 734 | confirmé |
|
|||
|
|
| (a) événements `LogScript: Warning: Accessed None` | 256 / 390 | Grep count : 256 / 390 | confirmé |
|
|||
|
|
| `Floats_3` | 2 591 | Grep count `array Floats_3_` : 2 591 | confirmé |
|
|||
|
|
| `Script call stack:` | 3 496 / 1 060 | Grep count : 3 496 / 1 060 | confirmé |
|
|||
|
|
| Lignes `: Warning: ` | 8 056 | Grep count : 8 056 | confirmé |
|
|||
|
|
| Lignes `No SkeletalMesh` du résumé REF (pour 2 723) | 5 | Grep count `LogLifePlay: Display:.*No SkeletalMesh` : 5 ; 978 + 3 × 489 + 273 = 2 718, + 5 = 2 723 | confirmé |
|
|||
|
|
| Lignes `Show couple` CIBLE | 9 (6 + 1 + 1 + 1) | Grep count : 9 | confirmé |
|
|||
|
|
| Sommes du CSV recalculées en Python depuis le fichier relu | 47 lignes ; cible 3 549 (A 256, B 3 293) ; ref 1 121 (A 390, B 731) | = § 2.4 | confirmé |
|
|||
|
|
| Exemples relus (`Read`) | `LifePlay.log:38012` (`clearVariable`), `session2.log:8118` (`UpdateDailyPose`), `LifePlay.log:51230-51235` (`Te2dArray`, `SexPersons`) | conformes aux clés | confirmé |
|
|||
|
|
|
|||
|
|
## 3. Écarts au compte attendu de la fiche
|
|||
|
|
| Attendu (critère rubrique 8 / U8-T5c) | Obtenu | Écart |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `Accessed None` 223 / 364 (`LogStats`) | 223 / 364 = 220 + 3 / 357 + 7 | aucun ; 3 / 7 = lignes du résumé, exclues des événements |
|
|||
|
|
| index hors bornes 3298 / 734 | 3 298 / 734 = 3 293 + 5 / 731 + 3 | aucun ; 5 / 3 = lignes du résumé |
|
|||
|
|
| erreurs 3 / 5 | 3 / 5 (`: Error: `) ; 4 / 6 (motif large) | aucun ; la 4e / 6e ligne est `Error: r.MorphTarget.Mode is read only!` (sans catégorie) |
|
|||
|
|
| sommes par famille = totaux de catégorie | A 256 / 390 ; B 3 293 / 731 ; total 3 549 / 1 121 | aucun, vérifié par le script et par relecture du CSV |
|
|||
|
|
| (hors critère) Avertissements `LogStats` 8 056 / 5 015 | A + B + D = 8 056 / 5 015 | aucun |
|
|||
|
|
| U8-T5c § D (par propriété, CIBLE / REF) | mes sommes par propriété + résumé : `CallFunc_Array_Get_Item` 78 + 1 = 79 / 100 + 1 = 101 ; `Near` 42 + 1 = 43 / 30 + 1 = 31 ; `currentMatchRace` 30 + 1 / 34 + 1 ; `Interacting` 9 / 28 + 1 = 29 ; `ContactMenu` 0 / 63 + 2 = 65 | cohérent avec le tableau D (écarts = lignes du résumé, un par propriété concernée) |
|
|||
|
|
|
|||
|
|
Écarts de méthode à la fiche (voir aussi § Constats 0) :
|
|||
|
|
1. « Fonction en tête de pile » pour les 64 / 70 événements `Script Msg: Attempted to access index` : ces événements n'ont pas de ligne `Function` ; la famille a été construite avec la classe de la ligne suivante `Script Msg called by: <Classe>` et le pseudo-nom `(Script Msg)`. Convention de ce livrable, non prévue par la fiche.
|
|||
|
|
2. Les scripts ont été écrits dans le scratchpad avec Write (la fiche l'exige, `sk-protocol` § 7 limite pourtant Write au livrable) ; le CSV est écrit par le script lui-même, pas par un second Write ; le livrable `.md` est le seul Write destiné à `etat/`.
|
|||
|
|
3. `STA-T3-DOC.md` est apparu dans le même dossier pendant la mesure (créé par une autre fiche, 19:24) : non lu, non touché.
|
|||
|
|
|
|||
|
|
## 4. Établi / estimé / incertain
|
|||
|
|
Établi (sortie de commande ou lecture, § 2) : tous les comptes des § 2.1 à 2.8, les recoupements de § 2.9, les bornes du résumé de fin de session, les exemples relus.
|
|||
|
|
Estimé :
|
|||
|
|
- Les familles `ExecuteUbergraph_*` sont des fourre-tout : la ligne `Function` sous l'avertissement est le graphe d'événements (`ExecuteUbergraph_GI`, `_Person`, `_MainMenu`, `_PC`, `_StreetMap_Static`, `_CharGen`, `_CityMenu`), pas la fonction métier ; la vraie fonction appelante est dans la pile (lignes `Function` après `Script call stack:`), non exploitée ici (graphe d'appels : escalade, `sk-protocol` § 6).
|
|||
|
|
- La rafale `Floats_3` (2 591 contre 18) est confinée à trois fonctions : `getBeautyValue` 2 505, `getRandomAge` 56, `getRandomEthnicity` 30 (compte direct, établi) ; sa cause reste hors périmètre (U8-T5c § 6 case 2).
|
|||
|
|
- Les 630 index `CallFunc_ParseIntoArray_ReturnValue_*` sont identiques des deux côtés (570 + 40 + 20), donc constants au démarrage (même séquence, estimé), sans lien avec le parcours.
|
|||
|
|
Incertain :
|
|||
|
|
- Aucune comparaison entre deux parcours identiques n'existe (CIBLE : scène de couple, sans `LoadCity` ; REF : l'inverse, U8-T5c § 6 case 3) : les différences de comptes par famille sont indicatives. Essai qui trancherait : un second parcours CIBLE et un parcours REF-like, comptés avec `sta_t1.py`.
|
|||
|
|
- Non vérifié : stabilité de la rafale `Floats_3` d'un lancement à l'autre.
|
|||
|
|
|
|||
|
|
## Constats
|
|||
|
|
|
|||
|
|
### 0. Définitions (reprises de U8-T5c, précisées)
|
|||
|
|
- Événement (a) : ligne `LogScript: Warning: Accessed None…` hors résumé ; formes : `trying to read (real) property P in <classe /Game/… ou « not an UClass »>`, `reading structure S`, forme nue. Clé = `propriété in propriétaire` (propriétaire = classe après le dernier `.` du chemin `/Game/…`).
|
|||
|
|
- Événement (b) : ligne `Attempted to access index … from array …` hors résumé ; forme directe (clé = tableau sans GUID `_[0-9A-F]{32}`, famille = `Function` sous l'avertissement) et forme `Script Msg: … array '<tableau>' … in '<classe>'` (clé = `tableau in classe`, famille = classe de `Script Msg called by:` + `(Script Msg)`). Le suffixe numérique de variable (`_3`, `_28`, `_29`) est conservé.
|
|||
|
|
- Famille = classe:fonction de la 1re ligne `Function /Game/…` sous l'avertissement (suffixe `:64X` retiré). Types (a) et (b) additionnés dans le tableau 2.4, séparés par la colonne T dans le CSV.
|
|||
|
|
|
|||
|
|
### 1. Lecture pour le diagnostic (compte CIBLE décroissant)
|
|||
|
|
1. `GI_C:getBeautyValue` : 2 505 événements, 76 % des 3 293 (b) et 31 % de tous les avertissements CIBLE ; avec `getRandomAge` (56) et `getRandomEthnicity` (30), la rafale `Floats_3` vaut 2 591 ; REF 18, tous dans `getBeautyValue` (famille 1). Ce sont les familles 1, 5 et 9.
|
|||
|
|
2. `GI_C:ExecuteUbergraph_GI` : 646 (CIBLE) contre 688 (REF) ; 630 sont constants (`ParseIntoArray`, 570 + 40 + 20), le reste est (a) : 16 contre 58 (`Interacting` 7 / 24, `TintUI` 5 / 17, `Companion` 2 / 4, `GetRootComponent_ReturnValue_*` 1 / 11, `Array_Get_Item_53` 1 / 2).
|
|||
|
|
3. `GI_C:clearVariable` : 72 (CIBLE) contre 94, une seule clé (`CallFunc_Array_Get_Item`), à 100 % du côté (a) ; plus gros poste (a) isolé.
|
|||
|
|
4. `Person_C:standIdle` : 56 contre 40, hausse nette de +16 (`Near` 42 / 30, nue 14 / 10) ; hausse seule des familles (a) présentes des deux côtés avec `ExecuteUbergraph_Person` (HeadtrackStatic 11 / 10, HeadtrackTarget 3 / 2) ; parcours différent (estimé, U8-T5c § 6 case 3).
|
|||
|
|
5. Constants (même compte des deux côtés, aucune action liée au correctif) : `MainMenu_C:Get_SpinBox_0_Value_0` 30 / 30 (4 clés), `GI_C:ReturnStatIfNeeded` 2 / 2, `MainMenu_C:ExecuteUbergraph_MainMenu` 2 / 2, `FamilyLiveWiths` 2 / 2.
|
|||
|
|
6. Nouveaux côté CIBLE (absents de REF) : `GI_C:getRandomAge` 56, `GI_C:getRandomEthnicity` 30, `Texture2dArray_3 in Te2dArray` 6 et `SexPersons in GI_C` 3 (scène de couple, 9 lignes `Show couple`), `GI_C:isCreatureType` / `Actor` 1, `PC_C:ExecuteUbergraph_PC` / `CallFunc_getFirstDick_Person_1` 1. Aucune erreur nouvelle.
|
|||
|
|
7. Disparus côté CIBLE : `Person_C:UpdateDailyPose` / `ContactMenu` 63 (objet du correctif, 0 événement), `CharGen_C:*` 4, `CityMenu_C:ExecuteUbergraph_CityMenu` 1, `StreetMap_Static_C:findNearbyBuilding` 2, `BGA`/AudioComponent 4 (voir 2.7 n° 24), `OldPlayer` 1 : chemins non joués (ville, création de personnage), estimé comme U8-T5c § F.
|
|||
|
|
8. Baisses sans lien avec le correctif : `StreetMap_Static_C:SearchByAmenitySafe` 10 / 15, `ExecuteUbergraph_StreetMap_Static` 5 / 6, `Room_C:pickPresetWorld` 4 / 10, `GI_C:clearScenePersons` 4 / 8, `OccupyingFnt` 10 / 17.
|
|||
|
|
9. `NoSkeletalMesh` (d) : CIBLE 866 événements (+ 5 du résumé = 871), REF 2 718 (+ 5 = 2 723) ; la baisse porte sur `Head` (196 / 978), `pelvis`, `hip`, `chestUpper` (98 / 489 chacun) ; `CenterBrow` monte (376 / 273) : parcours (estimé).
|
|||
|
|
|
|||
|
|
### 2. Points à donner à l'orchestrateur
|
|||
|
|
- Pour STA-T2 et suivantes : les familles à priorité de correction par volume sont 1 (rafale), 3 (`clearVariable`), 4 (`standIdle`) puis le fond constant `ExecuteUbergraph_GI` / `MainMenu_C` ; la fonction réelle derrière les familles `ExecuteUbergraph_*` demande une lecture de pile (escalade).
|
|||
|
|
- Les scripts `sta_t1.py` / `explore.py` ne sont pas conservés au projet ; à ranger dans `Saved/STA/` ou `Tools/` si l'orchestrateur les veut (`sk-protocol` § 7 : « script à usage répété »).
|
|||
|
|
|
|||
|
|
Fichiers écrits : `D:\Game\LifePlay-master 5.5\Docs\Migration\etat\ST\STA\STA-T1-INV.md` (ce livrable), `D:\Game\LifePlay-master 5.5\Docs\Migration\etat\ST\STA\STA-T1-familles.csv` (produit par `sta_t1.py`).
|