LifePlay-Revival/Source/LifePlayEditorTools/LPFixAssetRegistryPinsCommandlet.h
edujiro5972 1122e17fa6 L0 : etat initial du projet 5.5 avant toute correction
Instantane de reference de la reprise de migration (2026-09-29).
Contient GI.uasset tel que trouve (copie UE4 identique a 4.27,
MD5 F4550DA5DC05FC005400CDCA2FC123C9). Ajouts de ce commit :
.gitattributes (aucune conversion de fin de ligne), regles .gitignore
CHG-001, Tools/ (Snapshot, Restore, AssetHeaders), empreintes L0.

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

50 lines
2.1 KiB
C++

// Portage UE 5.5 (2026.9 beta) - correctif du 2026-09-28.
//
// SYMPTOME : pendant un evenement, l'homme s'appelle toujours Tyrone et la femme girl ou
// Meihui, tous nus et au meme visage. generatePerson() sans argument doit produire un
// acteur completement aleatoire ; il retombait sur un personnage par defaut.
//
// CAUSE : UE 5.1 a remplace
// IAssetRegistry::GetAssetsByClass(FName ClassName, ...)
// par GetAssetsByClass(FTopLevelAssetPath ClassPathName, ...)
// FAssetData::ObjectPath (FName)
// par FAssetData::GetSoftObjectPath()
// La montee de version a supprime les anciennes broches des noeuds existants SANS reporter
// leur contenu sur les nouvelles. Releve par LPCheckMeshAssignment :
//
// [GetAssetsByClass] ClassPathName [TopLevelAssetPath] VIDE
// ClassName [orpheline] defaut='SkeletalMesh'
//
// Les trois appels de GI interrogeaient donc l'AssetRegistry avec un chemin de classe vide
// et ne renvoyaient rien. Plus aucune enumeration de corps, de vetements ni de coiffures :
// le tirage aleatoire n'avait plus de population ou puiser. Le chargement par chemin
// explicite (GetAssetByObjectPath) fonctionnait, d'ou les seuls personnages visibles : ceux
// que les scenes nomment explicitement, comme Tyrone via generatePerson(bggw_tyrone).
//
// Aucune erreur de compilation ne le signalait : 103 Blueprints compilaient a zero
// avertissement. Seul le drapeau bOrphanedPin pose par le moteur le revelait (5 en 5.5,
// 0 en 4.27).
//
// CORRECTIF : reaiguiller vers ULPAssetRegistryHelpers, qui re-expose les deux API avec
// leur ancienne signature. Meme patron que LPFixAssetRegistryNodes et
// LPFixEditableTextBoxFont.
//
// Usage :
// UnrealEditor-Cmd.exe <projet> -run=LPFixAssetRegistryPins [-DryRun]
#pragma once
#include "CoreMinimal.h"
#include "Commandlets/Commandlet.h"
#include "LPFixAssetRegistryPinsCommandlet.generated.h"
UCLASS()
class ULPFixAssetRegistryPinsCommandlet : public UCommandlet
{
GENERATED_BODY()
public:
ULPFixAssetRegistryPinsCommandlet();
virtual int32 Main(const FString& Params) override;
};