LifePlay-Revival/Docs/Migration/etat/sandbox/S3/S3-INT.md

65 lines
3.2 KiB
Markdown
Raw Normal View History

# S3-INT — Integration jeu <-> addon LifePlay-Sandbox (fiche S3-T4)
Date : 2026-10-06 — Role A-INT
## Pin addon
| Champ | Valeur |
|---|---|
| Repo addon | https://github.com/edujiro5972/LifePlay-Sandbox.git |
| Branche | `main` |
| **Commit pin** | `79f0205b7281152dde7cd088086d8c813e0b20f5` (`79f0205`, DC3 : atelier de mods dans l'addon, replis vers le jeu retires, branche `lot/DC3-atelier`, tag `lot-DC3-valide`, **local, non pousse** au 2026-10-07) |
| Contenu du commit | S5-T2 : `LPCoupleSim` (géométrie du couple partagée jeu/addon) ; inclut S4-T3 (retrait GM Interaction legacy), S4-T2 (découpe `LPPairSandbox.cpp`) et S3-T4 (`StartupModule` → `SetUALRoot`) |
| Pins précédents | `97c0d134cd1388c3735add79d77ea98817e89fbe` (DC2), `3e9c32f1f27b1abdaf7731dc90496c27ee061718` (DC1), `16905c68070992f5139dab907b41b461fb765957` (SB4), `3d858527fccfdddd8711c7c7448fa001442e0b8a` (SB2-O1), `82dae58380b76c45f60541fd7cb5a0a409700e10` (SB1), `f09c42e5a2bc613cf269cce76c878461ca41c8b7` (S7-T2), `c1fdd29e2c1036c7d6365ba6389eff5d2f8c8c96` (S5-T2), `f8102647ccdebad37e4977ccbf2c51e583823a80` (S4-T3), `4de1f0b6764ed3bc575bb687630d3f070e1be221` (S3-T4) |
## Structure
- Addon = uproject mince + plugin nested : `LifePlay-Sandbox/Plugins/LPSandbox/LPSandbox.uplugin`.
- Un submodule monte sur `Plugins/LPSandbox` du jeu donnerait `Plugins/LPSandbox/Plugins/LPSandbox` : **incorrect**, ecarte.
## Strategie retenue : repos siblings + AdditionalPluginDirectories
1. Deux repos git independants, cote a cote :
```
D:\Game\LifePlay-master 5.5\ (jeu)
D:\Game\LifePlay-Sandbox\ (addon)
```
2. `LifePlay.uproject` :
```json
"AdditionalPluginDirectories": [ "../LifePlay-Sandbox/Plugins" ],
"Plugins": [ { "Name": "LPSandbox", "Enabled": true }, ... ]
```
Chemin relatif au dossier du `.uproject` ; UBT/UE scannent `../LifePlay-Sandbox/Plugins/**/*.uplugin`.
3. La junction `Plugins\LPSandbox` du jeu a ete **retiree** (`rmdir Plugins\LPSandbox`, cible intacte).
4. Les modules plugin (LPSandbox, LPAnimMeasure, ...) se compilent dans
`Intermediate/External/...` du jeu (plugin hors arbre projet).
5. `Source/LifePlay/LifePlay.Build.cs` depend de `LPAnimMeasure` (inchange, noms OK) ;
`LPDirectControlSubsystem` n'a pas necessite d'adaptation.
## Submodule optionnel `External/LifePlay-Sandbox` : NON retenu
Un submodule dans le jeu dupliquerait l'addon (sibling + copie) et preterait a confusion
sur la copie effectivement chargee. Pin manuel a la place (ci-dessous).
## Pin manuel (reproduire l'environnement)
```powershell
cd D:\Game
git clone https://github.com/edujiro5972/LifePlay-Sandbox.git
git -C LifePlay-Sandbox checkout 79f0205b7281152dde7cd088086d8c813e0b20f5
# Le jeu doit etre clone a cote : D:\Game\LifePlay-master 5.5
```
Mettre a jour ce document (hash) a chaque bump de l'addon qui doit etre consomme par le jeu.
## Validation
- `Build.bat LifePlayEditor Win64 Development -Project="...\LifePlay.uproject"` :
**OK** (91/91, 0 erreur) ; `UnrealEditor-LPSandbox.dll` lie depuis `AdditionalPluginDirectories`.
- Journal : `%TEMP%\s3t4_build.log`.
## Etat des repos
- Addon : `main` pousse sur `origin` (premier push, `-u`), arbre propre.
- Jeu : `LifePlay.uproject` modifie + ce document ; non commites (a faire par A-INT/orchestrateur).