LifePlay-Revival/Source/LifePlayEditorTools/LPFixZeroScaleActorsCommandlet.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

39 lines
1.6 KiB
C++

// Portage UE 5.5 (2026.9 beta) - remediation R-06.
//
// /Game/Scenes/CentralLondon:PersistentLevel.Wall.StaticMeshComponent0 porte une echelle
// (X=0.000, Y=12.562, Z=5.750). Une composante nulle produit un corps physique degenere :
// le moteur emet « has a component set to zero, which will result in a bad body instance »
// a chaque cook, un MapCheck: Error, et l'inversion de la matrice de transformation declenche
// un ensure « TMatrix::InverseFast() ... results in NaNs » en session d'edition.
//
// La commandlet parcourt les cartes de /Game/, signale toute composante d'echelle nulle avec
// le maillage concerne et ses dimensions (pour pouvoir juger de la valeur de remplacement),
// puis corrige si on le lui demande.
//
// Usage :
// UnrealEditor-Cmd.exe <projet> -run=LPFixZeroScaleActors (rapport seul)
// UnrealEditor-Cmd.exe <projet> -run=LPFixZeroScaleActors -Fix [-Scale=1.0]
//
// ATTENTION sous PowerShell : « -Scale=0.1 » non guillemete est coupe en « -Scale=0 » et
// « .1 », la commandlet recevrait 0. Ecrire "-Scale=0.1". Le garde-fou sur la valeur nulle
// est la pour attraper le cas.
//
// Le rapport est le mode par defaut : contrairement aux autres commandlets du projet, la
// valeur de remplacement est un choix de niveau, pas une equivalence mecanique.
#pragma once
#include "CoreMinimal.h"
#include "Commandlets/Commandlet.h"
#include "LPFixZeroScaleActorsCommandlet.generated.h"
UCLASS()
class ULPFixZeroScaleActorsCommandlet : public UCommandlet
{
GENERATED_BODY()
public:
ULPFixZeroScaleActorsCommandlet();
virtual int32 Main(const FString& Params) override;
};