5.6 KiB
DC3-IMPL — Atelier de mods dans l'addon
- Fiches : DC3-T1 (A-IMPL-H, scripts structurants) et DC3-T2 (A-IMPL-L, déplacements simples) — Modèle : M3 opus | opus pour les deux (DC3-T2 fait dans la foulée par la session principale, motif : les déplacements et les chemins des scripts sont imbriqués, un second agent aurait dû relire tout le contexte).
- Dépend de : DC0-SPEC § 4. Instantané addon :
D:\Game\LifePlay_Backup_5.5\DC3-addon(cibles absentes +Config\LPSandbox.ini,.gitignore,README.md). Branche addon :lot/DC3-atelier(depuislot/DC2-modtools). - Jeu : côté jeu, rien n'est encore retiré (attente de la fin de la réécriture d'historique PUB1, autre session).
Copie jeu → addon (même disposition relative)
746 fichiers comparés par SHA-256 : 0 différence (copie brute, avant adaptation). Une erreur de copie
(Tools/anim/methodes/*.json arrivés dans Tools/anim/) corrigée aussitôt, contenu vérifié identique.
| Élément | Addon |
|---|---|
Tools/BuildMod.ps1, NewMod.ps1, EditMod.ps1, ModSource.ps1, HairPipeline.ps1 |
Tools/ (adaptés, voir ci-dessous) |
Tools/HairImportFbx.py, HairMaterials.py, FbxMaterialMap.py, ImportQuaternius.py, DiagnosePose.py |
Tools/ (inchangés) |
Tools/anim/ (AnimPipeline.ps1, DeliverAnims.ps1 adaptés ; .py, profiles/, methodes/ inchangés) |
Tools/anim/ — les 2 résidus non suivis Tools/anim/21_Sandbox_Addon.md, Journal_Modifications.md du jeu non copiés |
Tools/hairs/, Tools/mods/ |
idem |
ModSources/ (3 mods, */Content compris), AnimSources/ |
idem ; ModSources/*/Content/ ignoré par git (comme dans le jeu) |
Tools/debug/LifePlay_{pair,interaction,measure}_sandbox.bat |
Tools/debug/ (adaptés) |
Docs/Modding/FullGuides/Creating_Asset_Mods.md, ShortGuides/explanation.lphair |
Docs/Modding/ |
Deux racines
- Nouveau
Tools/Roots.ps1:$LPSbRoot(addon, déduit de l'emplacement deRoots.ps1) etResolve-LPRoots [-GameRoot]→ racine du jeu (paramètre, sinonConfig/LPSandbox.ini[Workshop] GameRoot=..\LifePlay-master 5.5, sinon erreur ; contrôle deLifePlay.uproject). Testé :D:\Game\LifePlay-master 5.5/D:\Game\LifePlay-Sandbox. Config/LPSandbox.inide l'addon : section[Workshop]ajoutée (la copie du jeu reste lue par repli jusqu'à son retrait).- Chaque script reçoit
-GameRoot(facultatif) ;$Root= jeu ; passent à$LPSbRoot:ModSources,AnimSources,Tools/mods,Tools/anim/*.py,RetargetPack.py,ImportQuaternius.py(source.importdespack.json), lanceur d'interaction,BuildMod/DeliverAnimsappelés par le pilote (avec-GameRoot $Root) ; restent au jeu : projet,Config/DefaultGame.ini,Releases,Mods,Content,Saved(donttravaildespack.json),Licenses,Tools/RunCommandlet.ps1,Tools/BuildCollections.py(HairPipeline: chemin explicite vers le jeu). ModSource.ps1:Source = $LPSbRoot\ModSources\<Mod>,Mounted = <jeu>\Mods\<Mod>(signature inchangée).- Lanceurs
.bat:GAME=%LP_GAMEROOT%sinon%~dp0..\..\..\LifePlay-master 5.5;PROJ,ROOT(Mesure :Saved\sandbox_mode.txt) en dérivent. - Analyse syntaxique PowerShell (
Parser::ParseFile) : 6 scripts sans erreur.
Reste (après la fin de PUB1)
Jeu : git rm des éléments copiés (scripts, Tools/anim|hairs|mods, Config/LPSandbox.ini, lanceurs, guide,
ModSources suivi) ; ModSources/, AnimSources/ et fichiers non suivis déplacés vers la sauvegarde (jamais
supprimés) ; références (SplitModules.ps1, LPModInfoSubsystem.h:8, BuildDebug.ps1:39, explanation.lpmod,
README, .gitignore) ; retrait des replis ProjectDir() / ProjectConfigDir() de LPAnimMeasurePaths et
LPSandboxConfig (addon) — reporté après DC3-T3 pour garder un repli pendant la validation.
Report DC2 traité
LPModTools/LPAnimCatalogCommandlet.cpp : -Livraison= devient obligatoire (erreur d'usage, code 1) ; l'ancien défaut
(pack quaternius) faisait réécrire Saved/AnimPipeline/quaternius/fiches_calculees.json par un lancement sans
argument (DC2-VAL, anomalie 1). Le pilote passe toujours -Livraison= (inchangé). Recompilation nécessaire (DC3-T3).
Après PUB1 : retrait côté jeu (2026-10-07)
- Addon commité d'abord :
1f4ec1f(copie + adaptations, 164 fichiers). - Instantané jeu
D:\Game\LifePlay_Backup_5.5\DC3(59 fichiers : les 53 suivis retirés +SplitModules.ps1,LPModInfoSubsystem.h,BuildDebug.ps1,explanation.lpmod,README.md,.gitignore). git rm --cachedde 57 fichiers suivis (dontAnimSources/*/pack.json,Tools/DiagnosePose.py,Tools/ImportQuaternius.py, suivis entre-temps par les commits de phase) ; tout le contenu disque correspondant (754 fichiers, dontModSources133 Mo et les 2 résidus deTools/anim) déplacé versD:\Game\LifePlay_Backup_5.5\DC3\deplaces_du_jeu(rien supprimé). Copie addon vérifiée identique (pack.json).- Références :
SplitModules.ps1:21,41,LPModInfoSubsystem.h:8,BuildDebug.ps1:39,explanation.lpmod:17(dépôt de l'atelier),README.md(outils et guide dans un dépôt d'atelier séparé ; le jeu se construit sans lui),.gitignore(/ModSources/*/…→/ModSources/,/AnimSources/). Seul reste un commentaire périmé dansLifePlay.Build.cs:30(report DC4, avecJson). - Addon : replis vers le jeu retirés (
LPAnimMeasurePaths::ToolsAnimDir()→<addon>/Tools/animseul ;LPSandboxConfig→<addon>/Config/LPSandbox.iniseul).