33 lines
2.8 KiB
Markdown
33 lines
2.8 KiB
Markdown
# SB2-IMPL — Bibliothèques, socle et mods (SB2-T2, SB2-T3a/b/c)
|
|
|
|
- **Fiches** : SB2-T2, SB2-T3a/b/c — **Agent** : A-IMPL-H — **Modèle** : prévu opus (M3) | utilisé opus (session principale)
|
|
- **Dépôt** : addon, branche `lot/SB2-bibliotheques` (tag d'entrée `lot-SB2-avant` = `b8fe6b3`)
|
|
- **Instantané** : `LifePlay_Backup_5.5\SB2-addon` (39 entrées : sources, descripteurs, nouveaux fichiers marqués absents)
|
|
- **Carte** : `SB2-CART.md` (décisions D1 à D7)
|
|
|
|
## Fichiers
|
|
|
|
| Fichier | Nature |
|
|
|---|---|
|
|
| `LPSandboxMod.h` | contexte (`World`, `Player`, `Camera`, `Scene`, `Actors`), `FLPSandboxInput`, crochets `TickInput`, `OnFellOff`, `OnBodyChanged` |
|
|
| `LPSandboxScene.h/.cpp` (ex-`LPSandboxRoomBuilder.cpp`, `git mv`) | `ALPSandboxScene` : chambre, éclairage, départs, `ApplyFurnitureCollision`, `HideRoom`/`ShowRoom` |
|
|
| `LPSandboxActors.h/.cpp` | `FLPSandboxActors` : capsule Person, `Spawn`, corps, scan Quaternius unique, `PlayClip`, `PlayPairClip`, masquage |
|
|
| `LPSandboxCamera.h/.cpp` | `FLPSandboxCamera` : `Bind` (ex-`SetStage`), `ResetView`, accès bras / caméra / contrôleur |
|
|
| `LPPairSandbox.h/.cpp` | pion réduit (menu : barre, rangée Corps, emplacement du panneau, aide ; `Tick` = souris, direction, Échap, aiguillage) ; GameMode : scène, personnages, caméra, `MakeContext` ; `ALPPairSandboxStage` supprimée |
|
|
| `LPPairSandboxMenu.h` | menu réduit à `Widget`, `BodyRow`, `ModPanel`, `Bodies` |
|
|
| `LPSandboxCoupleMod.h/.cpp` (ex-`LPCoupleSim.cpp`, `git mv`) | `ULPSandboxCoupleMod` |
|
|
| `LPSandboxInteractionMod.h`, `LPSandboxInteraction.cpp` | `ULPSandboxInteractionMod` |
|
|
| `LPSandboxMeasureMod.h`, `LPSandboxMeasure.cpp`, `LPSandboxMeasureTour.cpp` | `ULPSandboxMeasureMod` (substitutions mécaniques § 4 de la carte ; `Activate`/`Deactivate` = ex-`SelectMode`) |
|
|
| `LPSandboxModWrappers.cpp` | enveloppe générique `TModWrapper<TMod>` (`TStrongObjectPtr`, outer = scène, panneau mis en cache) |
|
|
| `LPSandboxModRegistry.h/.cpp` | `GetOpenMod` ; contexte filtré selon `MODULE_REQUIREMENTS` ; `EndSession` libère les instances |
|
|
| `Modules/Mods/lps_asset_integration/*.lpmod` | prérequis + `lps_lib_scene`, `lps_lib_actors` (D2) |
|
|
|
|
## Écarts à la carte (décisions de l'implémenteur)
|
|
|
|
1. `OnBodyChanged` du couple ne remet pas `SetOwnerNoSee(true)` quand la vue « yeux » de l'interaction était la
|
|
dernière choisie : avant SB2, changer le corps du MC en mode Pair après une vue « yeux » cachait le MC (état de
|
|
l'interaction lu par le couple). Le couple ne lit plus l'état d'un autre mod.
|
|
2. Fin de partie : le pion ne ferme plus la liste d'actions ni la pastille de l'interaction (elles appartiennent au
|
|
mod) ; la fenêtre se ferme avec le jeu.
|
|
3. Échap est lu avant l'entrée du mod ouvert (avant SB2 : avant la Mesure, après le couple et l'interaction) ; la
|
|
fermeture est différée par le moteur, sans effet visible.
|