LifePlay-Revival/Docs/Migration/etat/sandbox/DC2/DC2-IMPL.md
edujiro5972 bd4ea43d20 DC2 : commandlets de mods dans le module LPModTools de l'addon ; le jeu compile et demarre sans l'addon (CHG-235)
13 sources retirees de LifePlayEditorTools (LPAnimEval/Twist/Catalog/Identify, LPAnimChecks,
LPAnimMethodSelect, LPHairFromStaticMesh) ; LifePlayEditorTools.Build.cs ne depend plus de
LPAnimMeasure. Pin addon 97c0d13. Validation : DC2-BUILD avec et sans addon code 0,
DC2-VAL PASS (resultats identiques a SB2-REF, jeu -game sans addon).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 19:14:48 +02:00

28 lines
2.7 KiB
Markdown

# DC2-IMPL — Commandlets de mods dans le module LPModTools de l'addon
- **Fiche** : DC2-T1 (A-IMPL-H) — **Modèle** : M3 opus | opus (session principale) — **Dépend de** : DC0-SPEC § 2 et § 3
- **Instantanés** : `D:\Game\LifePlay_Backup_5.5\DC2` (14 fichiers du jeu) et `DC2-addon` (13 fichiers + `LPModTools` absent).
Retour arrière proposé : `.\Tools\Restore.ps1 -Lot DC2` et `.\Tools\Restore.ps1 -Lot DC2-addon -ProjectRoot D:\Game\LifePlay-Sandbox`.
- **Branche addon** : `lot/DC2-modtools` (depuis `lot/DC1-animcore` = `0aca51d`).
## Addon
| Fichier | Changement |
|---|---|
| `Plugins/LPSandbox/Source/LPModTools/` | nouveau module **Editor** : `LPModTools.Build.cs` (`bUseUnity=false`, plat ; public `Core`, `CoreUObject`, `Engine`, `LPAnimMeasure` ; privé `UnrealEd`, `AssetRegistry`, `Json`, `MeshDescription`, `StaticMeshDescription`, `SkeletalMeshUtilitiesCommon`, `SkeletalMeshDescription`, `AnimationCore`), `LPModTools.cpp` |
| idem | 13 sources copiées du jeu, **SHA-256 identiques** : `LPAnimEvalCommandlet`, `LPAnimTwistCommandlet`, `LPAnimCatalogCommandlet`, `LPAnimIdentifyCommandlet`, `LPAnimChecks`, `LPHairFromStaticMeshCommandlet` (`.h/.cpp`), `LPAnimMethodSelect.h` ; aucune macro d'export à renommer (aucune n'utilisait `LIFEPLAYEDITORTOOLS_API`) ; puis une seule modification : `LPAnimIdentifyCommandlet.cpp` lit les profils par `LPAnimMeasurePaths::ToolsAnimDir()` |
| `LPSandbox.uplugin` | module `LPModTools` (Editor, Default), description |
| `LPAnimMeasure/LPAnimMeasurePaths.h/.cpp` | nouveau : `SandboxRoot()` (base du plugin `LPSandbox` + `../..`, journal `PATHS racine addon …`), `ToolsAnimDir()` (`<addon>/Tools/anim` s'il existe, sinon `<projet>/Tools/anim` jusqu'à DC3) |
| `LPSkeletonProfile.cpp`, `LPPoseMeasure.cpp` | `ProjectDir()/Tools/anim/{profiles,methodes}` → `ToolsAnimDir()/…` |
| `LPAnimMeasure.Build.cs` | dépendance privée `Projects` |
| `LPSandbox/LPSandboxConfig.cpp` | lit `<addon>/Config/LPSandbox.ini` (identique à la copie du jeu), repli `ProjectConfigDir()` jusqu'à DC3 |
## Jeu
| Fichier | Changement |
|---|---|
| `Source/LifePlayEditorTools/` | 13 sources retirées (`git rm`) |
| `LifePlayEditorTools.Build.cs` | `LPAnimMeasure` retiré ; retirés aussi `StaticMeshDescription`, `SkeletalMeshUtilitiesCommon`, `SkeletalMeshDescription`, `AnimationCore` et le doublon `Json` (seuls les fichiers déplacés les utilisaient ; `MeshDescription` reste pour `LPCheckMeshes`, `Json` pour `LPEditWidget`) |
Après DC2, plus aucun `Build.cs` ni `.uproject` du jeu ne cite `LPAnimMeasure`. Note : `LifePlay.Build.cs` garde
`Json` avec un commentaire AP1 périmé (aucun `.cpp` de `LifePlay` n'utilise Json) : laissé tel quel, reporté (DC4, nettoyage).