LifePlay-Revival/Source/LifePlay/LPVictoryCompat.h

52 lines
2 KiB
C
Raw Normal View History

// Portage UE 5.5 - remplacement des 2 seuls noeuds du Victory Plugin utilises par LifePlay.
//
// Le plugin d'origine (VictoryBPLibrary, 9327 lignes sur 17 fichiers) dependait de PhysX,
// APEX et ApexDestruction, supprimes d'UE5. Un releve exhaustif sur les 8562 .uasset du
// projet n'a trouve que deux fonctions appelees, depuis 5 assets seulement, plus
// l'enumeration EJoyImageFormats.
//
// Detail complet : Docs/Architecture/VictoryPlugin_Architecture.md
//
// Les noms et signatures sont reproduits a l'identique pour que les noeuds Blueprint
// existants se rebranchent seuls ; le raccordement se fait par les CoreRedirects
// declares dans Config/DefaultEngine.ini.
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "LPVictoryCompat.generated.h"
class UTexture2D;
/**
* Formats d'image acceptes par Victory_LoadTexture2D_FromFile.
* L'ordre des membres est celui du plugin d'origine : il est serialise en octet dans les
* valeurs par defaut des broches Blueprint, toute permutation les corromprait.
*/
UENUM(BlueprintType)
enum class EJoyImageFormats : uint8
{
JPG UMETA(DisplayName="JPG "),
PNG UMETA(DisplayName="PNG "),
BMP UMETA(DisplayName="BMP "),
ICO UMETA(DisplayName="ICO "),
EXR UMETA(DisplayName="EXR "),
ICNS UMETA(DisplayName="ICNS ")
};
UCLASS()
class LIFEPLAY_API ULPVictoryCompat : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
/** Load a Texture2D from a JPG,PNG,BMP,ICO,EXR,ICNS file! IsValid tells you if file path was valid or not. Enjoy! -Rama */
UFUNCTION(BlueprintPure, Category = "Victory BP Library|Load Texture From File", meta=(Keywords="image png jpg jpeg bmp bitmap ico icon exr icns"))
static UTexture2D* Victory_LoadTexture2D_FromFile(const FString& FullFilePath, EJoyImageFormats ImageFormat, bool& IsValid, int32& Width, int32& Height);
UFUNCTION(BlueprintCallable, Category = "Victory BP Library|String")
static void Victory_SaveStringToOSClipboard(const FString& ToClipboard);
};