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>
50 lines
2.1 KiB
C++
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;
|
|
};
|