65 lines
2.9 KiB
Markdown
65 lines
2.9 KiB
Markdown
|
|
# 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** | `f09c42e5a2bc613cf269cce76c878461ca41c8b7` (`f09c42e`, **local, non pousse** au 2026-10-06) |
|
||
|
|
| 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 | `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 f09c42e5a2bc613cf269cce76c878461ca41c8b7
|
||
|
|
# 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).
|