LifePlay-Revival/Docs/Migration/etat/sandbox/S3/S3-INT.md
edujiro5972 e46093c81c DC3 : atelier de mods hors du jeu, dans l'addon LifePlay-Sandbox (CHG-236)
Retrait de BuildMod, NewMod, EditMod, ModSource, HairPipeline et leurs .py, Tools/anim,
Tools/hairs, Tools/mods, ModSources, AnimSources, Config/LPSandbox.ini, lanceurs sandbox et
guide des moddeurs (57 fichiers suivis ; contenu disque deplace vers la sauvegarde DC3).
References et docs mises a jour. Pin addon 79f0205. Validation : DC3-VAL PASS (cuisson
lpr_anim_freeanims depuis l'addon identique au mod publie, tournee identique a SB2-REF).

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

3.2 KiB

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 :
    "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)

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).