LifePlay-Revival/Source/LifePlay/LPSessionLogSubsystem.h
edujiro5972 58016141e8 L5 : option de diagnostic -LPDumpVars (contenu des variables de GI au demarrage et a la fin)
Dump de MeshSexRace en -game : 24 corps, Mesh vide au demarrage pour tous
(chargement a la demande), 6 corps legacy jamais charges (LegacyPercentage=0).
Presets de quete : race Daz.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 09:50:00 +02:00

43 lines
1.5 KiB
C++

// Portage UE 5.5 - lot L3 (journalisation). Voir Docs/Migration/04_Cahier_Des_Charges.md.
//
// Sous-systeme d'instance de jeu : cree et detruit avec GI, sans aucune modification de
// Blueprint. Il n'altere aucun message existant (les comparaisons A/B avec la build 4.27
// reposent sur ces messages) ; il AJOUTE :
// - au demarrage, un resume : versions, modules de donnees presents, fichiers par type ;
// - en fin de session, un bilan : volume de journal par categorie et verbosite, et les
// signatures d'avertissements/erreurs les plus frequentes, dedoublonnees.
#pragma once
#include "CoreMinimal.h"
#include "Subsystems/GameInstanceSubsystem.h"
#include "LPSessionLogSubsystem.generated.h"
class FLPLogCounter;
UCLASS()
class LIFEPLAY_API ULPSessionLogSubsystem : public UGameInstanceSubsystem
{
GENERATED_BODY()
public:
virtual void Initialize(FSubsystemCollectionBase& Collection) override;
virtual void Deinitialize() override;
/** Ecrit le bilan courant sans attendre la fin de session (console : LifePlay.LogSummary). */
UFUNCTION(BlueprintCallable, Category = "LifePlay|Log")
void LogSessionSummary() const;
private:
void LogStartupSummary() const;
/**
* Diagnostic (lot L5) : ecrit dans le journal le contenu des variables de l'instance de
* jeu (GI) nommees sur la ligne de commande, par exemple -LPDumpVars=MeshSexRace,LegacyPercentage.
* Un tableau est ecrit element par element. Sans l'option, ne fait rien.
*/
void DumpRequestedVariables(const TCHAR* When) const;
TSharedPtr<FLPLogCounter> Counter;
double StartTime = 0.0;
};