L7l : mesure en jeu preparee (releve sur changement de lieu, -LPDumpDelay) ; la dalle de neige n'est pas surelevee

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
edujiro5972 2026-10-01 23:05:30 +02:00
parent ed4bc46ba9
commit e941eab01c
2 changed files with 18 additions and 4 deletions

View file

@ -864,3 +864,13 @@ avec le sol de `SecondScreenFloor`) ; demande : cadrer le visage.
Compilation `LifePlayEditor` Development et `LifePlay` Shipping : 0 erreur. La position fixe posée par CHG-052 reste
la position de repli (avant tout appel).
Suite L7l (2026-10-01) : inspection en direct dans l'éditeur (serveur MCP, lecture seule) : la racine de l'acteur
`Room` porte l'échelle de la première ligne du `.lpworld` (studio : 8 ; 8 ; 0,2 ; forêt : 6 ; 16 ; **0,01**) ; positions
et échelles des meubles sont donc multipliées par 0,01 en hauteur : la dalle `fnt_new208` affleure le sol (≈ +0,3 cm
contre ≈ +0,5 cm). **La dalle n'est pas surélevée** : l'écart vient de la hauteur à laquelle les personnages sont
posés. Mesure en jeu préparée :
| CHG | Date | Lot | Fichiers | Raison | Retour arrière |
|---|---|---|---|---|---|
| CHG-055 | 2026-10-01 | L7l | `Source/LifePlay/LPSessionLogSubsystem.cpp` : option `-LPDumpDelay` (délai du relevé sur motif) | relever, 4 s après chaque changement de lieu (`test0706 amenity`), le sol du lieu (`Room`), la capsule du joueur et du personnage en interaction ; script `LifePlay_releve_L7l.bat` du build `LifePlay_Build_5.5_L7cdj` | `git checkout L7j2-apres -- Source` |

View file

@ -122,8 +122,8 @@ private:
class FLPLogTrigger : public FOutputDevice
{
public:
FLPLogTrigger(const FString& InPattern, int32 InMax, TFunction<void(int32, const FString&)> InOnMatch)
: Pattern(InPattern), Max(InMax), OnMatch(MoveTemp(InOnMatch)) {}
FLPLogTrigger(const FString& InPattern, int32 InMax, float InDelay, TFunction<void(int32, const FString&)> InOnMatch)
: Pattern(InPattern), Max(InMax), Delay(InDelay), OnMatch(MoveTemp(InOnMatch)) {}
virtual void Serialize(const TCHAR* V, ELogVerbosity::Type Verbosity, const FName& Category) override
{
@ -145,7 +145,7 @@ public:
{
OnMatch(Index, Line);
return false;
}), 1.5f);
}), Delay);
}
virtual bool CanBeUsedOnAnyThread() const override { return true; }
@ -155,6 +155,7 @@ private:
FCriticalSection Mutex;
FString Pattern;
int32 Max = 20;
float Delay = 1.5f;
int32 Count = 0;
double Last = -1000.0;
TFunction<void(int32, const FString&)> OnMatch;
@ -360,11 +361,14 @@ void ULPSessionLogSubsystem::StartLogTriggeredDump()
Paths.ParseIntoArray(DumpPathList, TEXT(","), true);
int32 Max = 20;
FParse::Value(FCommandLine::Get(), TEXT("LPDumpMax="), Max);
// Lot L7l : delai avant releve (le lieu se charge en arriere-plan), 1,5 s par defaut.
float Delay = 1.5f;
FParse::Value(FCommandLine::Get(), TEXT("LPDumpDelay="), Delay);
UE_LOG(LogLifePlay, Display, TEXT("Releve sur motif du journal : '%s', chemins [%s], %d releve(s) au plus"), *Pattern, *Paths, Max);
TWeakObjectPtr<ULPSessionLogSubsystem> WeakThis(this);
Trigger = MakeShared<FLPLogTrigger>(Pattern, Max, [WeakThis](int32 Index, const FString& Line)
Trigger = MakeShared<FLPLogTrigger>(Pattern, Max, Delay, [WeakThis](int32 Index, const FString& Line)
{
if (const ULPSessionLogSubsystem* Self = WeakThis.Get())
{