work 4 Jan
This commit is contained in:
parent
438da5f0e7
commit
d6b11d063a
20 changed files with 169 additions and 102 deletions
11
Config/DefaultEditorSettings.ini
Normal file
11
Config/DefaultEditorSettings.ini
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
[/Script/UnrealEd.EditorSettings]
|
||||
LocalDerivedDataCache=(Path="D:/DDC")
|
||||
+RecentlyOpenedProjectFiles=D:/LifePlay/LifePlay.uproject
|
||||
+RecentlyOpenedProjectFiles=D:/CreationLab/CreatorsLab/UE4/CreatorsLab/CreatorsLab.uproject
|
||||
+RecentlyOpenedProjectFiles=D:/Documents/Unreal Projects/PhotorealisticCharacter/PhotorealisticCharacter.uproject
|
||||
+CreatedProjectPaths=D:/
|
||||
bCopyStarterContentPreference=False
|
||||
AutoScalabilityWorkScaleAmount=1.000000
|
||||
|
||||
|
||||
Binary file not shown.
BIN
Content/Clothes/ClothMaterials/Wool.uasset
Normal file
BIN
Content/Clothes/ClothMaterials/Wool.uasset
Normal file
Binary file not shown.
BIN
Content/Clothes/Fisherman_Sweater/Fisherman_Sweater.uasset
Normal file
BIN
Content/Clothes/Fisherman_Sweater/Fisherman_Sweater.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1
Events/vin_TestEvent.lifeplay
Normal file
1
Events/vin_TestEvent.lifeplay
Normal file
|
|
@ -0,0 +1 @@
|
|||
Hello
|
||||
|
|
@ -9,5 +9,11 @@
|
|||
"Type": "Runtime",
|
||||
"LoadingPhase": "Default"
|
||||
}
|
||||
],
|
||||
"Plugins": [
|
||||
{
|
||||
"Name": "ModdingPlus",
|
||||
"Enabled": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -2,24 +2,22 @@
|
|||
"FileVersion": 3,
|
||||
"Version": 1,
|
||||
"VersionName": "1.0",
|
||||
"FriendlyName": "ModdingPlus",
|
||||
"Description": "Expands UE4's modding capacity",
|
||||
"FriendlyName": "ModdingExtra",
|
||||
"Description": "Modding Extra",
|
||||
"Category": "Other",
|
||||
"CreatedBy": "Vinfamy",
|
||||
"CreatedByURL": "",
|
||||
"DocsURL": "",
|
||||
"MarketplaceURL": "",
|
||||
"SupportURL": "",
|
||||
"EnabledByDefault" : true,
|
||||
"CanContainContent" : true,
|
||||
"CanContainContent": true,
|
||||
"IsBetaVersion": false,
|
||||
"Installed": false,
|
||||
"Modules": [
|
||||
{
|
||||
"Name": "ModdingPlus",
|
||||
"Type": "Developer",
|
||||
"LoadingPhase": "Default"
|
||||
"Name": "ModdingExtra",
|
||||
"Type": "Runtime",
|
||||
"LoadingPhase": "PreLoadingScreen"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,16 +1,17 @@
|
|||
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
||||
// Some copyright should be here...
|
||||
|
||||
using UnrealBuildTool;
|
||||
|
||||
public class ModdingPlus : ModuleRules
|
||||
public class ModdingExtra : ModuleRules
|
||||
{
|
||||
public ModdingPlus(ReadOnlyTargetRules Target) : base(Target)
|
||||
public ModdingExtra(ReadOnlyTargetRules Target) : base(Target)
|
||||
{
|
||||
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
|
||||
PublicIncludePaths.AddRange(
|
||||
new string[] {
|
||||
"ModdingPlus/Public"
|
||||
"ModdingExtra/Public"
|
||||
|
||||
// ... add public include paths required here ...
|
||||
}
|
||||
);
|
||||
|
|
@ -18,7 +19,8 @@ public class ModdingPlus : ModuleRules
|
|||
|
||||
PrivateIncludePaths.AddRange(
|
||||
new string[] {
|
||||
"ModdingPlus/Private",
|
||||
"ModdingExtra/Private",
|
||||
|
||||
// ... add other private include paths required here ...
|
||||
}
|
||||
);
|
||||
|
|
@ -27,11 +29,8 @@ public class ModdingPlus : ModuleRules
|
|||
PublicDependencyModuleNames.AddRange(
|
||||
new string[]
|
||||
{
|
||||
"Engine",
|
||||
"Core",
|
||||
"CoreUObject",
|
||||
"InputCore",
|
||||
"Projects",
|
||||
|
||||
// ... add other public dependencies that you statically link with here ...
|
||||
}
|
||||
);
|
||||
|
|
@ -40,7 +39,11 @@ public class ModdingPlus : ModuleRules
|
|||
PrivateDependencyModuleNames.AddRange(
|
||||
new string[]
|
||||
{
|
||||
"ModdingPlus",
|
||||
"CoreUObject",
|
||||
"Engine",
|
||||
"Slate",
|
||||
"SlateCore",
|
||||
|
||||
// ... add private dependencies that you statically link with here ...
|
||||
}
|
||||
);
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#include "ModdingExtra.h"
|
||||
|
||||
#define LOCTEXT_NAMESPACE "FModdingExtraModule"
|
||||
|
||||
void FModdingExtraModule::StartupModule()
|
||||
{
|
||||
// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module
|
||||
|
||||
}
|
||||
|
||||
void FModdingExtraModule::ShutdownModule()
|
||||
{
|
||||
// This function may be called during shutdown to clean up your module. For modules that support dynamic reloading,
|
||||
// we call this function before unloading the module.
|
||||
|
||||
}
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
|
||||
IMPLEMENT_MODULE(FModdingExtraModule, ModdingExtra)
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#include "ModdingExtraBPLibrary.h"
|
||||
#include "ModdingExtra.h"
|
||||
#include "Engine.h"
|
||||
|
||||
UModdingExtraBPLibrary::UModdingExtraBPLibrary(const FObjectInitializer& ObjectInitializer)
|
||||
: Super(ObjectInitializer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
float UModdingExtraBPLibrary::ModdingExtraSampleFunction(float Param)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool UModdingExtraBPLibrary::GetAllFilesFromFolder(TArray<FString>& Files, FString RootFolderFullPath, FString Ext)
|
||||
{
|
||||
if(RootFolderFullPath.Len() < 1) return false;
|
||||
|
||||
// FPaths::NormalizeDirectoryName(RootFolderFullPath);
|
||||
|
||||
//RootFolderFullPath = FPaths::ConvertRelativePathToFull(RootFolderFullPath);
|
||||
|
||||
IFileManager& FileManager = IFileManager::Get();
|
||||
|
||||
FString RelativePath = FPaths::ProjectContentDir();
|
||||
FString FullPath = FileManager.ConvertToAbsolutePathForExternalAppForRead(*RelativePath);
|
||||
|
||||
if(Ext == "")
|
||||
{
|
||||
Ext = "*.*";
|
||||
}
|
||||
else
|
||||
{
|
||||
Ext = (Ext.Left(1) == ".") ? "*" + Ext : "*." + Ext;
|
||||
}
|
||||
|
||||
FString FinalPath = FullPath + "/" + RootFolderFullPath + "/" + Ext;
|
||||
FileManager.FindFiles(Files, *FinalPath, true, false);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool UModdingExtraBPLibrary::LoadTxt(FString FileNameA, FString& SaveTextA)
|
||||
{
|
||||
return FFileHelper::LoadFileToString(SaveTextA, *(FPaths::ProjectContentDir() + FileNameA));
|
||||
}
|
||||
|
||||
FString UModdingExtraBPLibrary::ContentDirectory()
|
||||
{
|
||||
FString RelativePath = FPaths::ProjectContentDir();
|
||||
FString FullPath = IFileManager::Get().ConvertToAbsolutePathForExternalAppForRead(*RelativePath);
|
||||
return FullPath;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "ModuleManager.h"
|
||||
|
||||
class FModdingExtraModule : public IModuleInterface
|
||||
{
|
||||
public:
|
||||
|
||||
/** IModuleInterface implementation */
|
||||
virtual void StartupModule() override;
|
||||
virtual void ShutdownModule() override;
|
||||
};
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Kismet/BlueprintFunctionLibrary.h"
|
||||
#include "ModdingExtraBPLibrary.generated.h"
|
||||
|
||||
/*
|
||||
* Function library class.
|
||||
* Each function in it is expected to be static and represents blueprint node that can be called in any blueprint.
|
||||
*
|
||||
* When declaring function you can define metadata for the node. Key function specifiers will be BlueprintPure and BlueprintCallable.
|
||||
* BlueprintPure - means the function does not affect the owning object in any way and thus creates a node without Exec pins.
|
||||
* BlueprintCallable - makes a function which can be executed in Blueprints - Thus it has Exec pins.
|
||||
* DisplayName - full name of the node, shown when you mouse over the node and in the blueprint drop down menu.
|
||||
* Its lets you name the node using characters not allowed in C++ function names.
|
||||
* CompactNodeTitle - the word(s) that appear on the node.
|
||||
* Keywords - the list of keywords that helps you to find node when you search for it using Blueprint drop-down menu.
|
||||
* Good example is "Print String" node which you can find also by using keyword "log".
|
||||
* Category - the category your node will be under in the Blueprint drop-down menu.
|
||||
*
|
||||
* For more info on custom blueprint nodes visit documentation:
|
||||
* https://wiki.unrealengine.com/Custom_Blueprint_Node_Creation
|
||||
*/
|
||||
UCLASS()
|
||||
class UModdingExtraBPLibrary : public UBlueprintFunctionLibrary
|
||||
{
|
||||
GENERATED_UCLASS_BODY()
|
||||
|
||||
UFUNCTION(BlueprintCallable, meta = (DisplayName = "Execute Sample function", Keywords = "ModdingExtra sample test testing"), Category = "ModdingExtraTesting")
|
||||
static float ModdingExtraSampleFunction(float Param);
|
||||
|
||||
UFUNCTION(BlueprintPure, Category = "ModdingExtra")
|
||||
static bool GetAllFilesFromFolder(TArray<FString>& Files, FString RootFolderFullPath, FString Ext);
|
||||
|
||||
UFUNCTION(BlueprintPure, Category = "ModdingExtra", meta = (Keywords = "LoadTxt"))
|
||||
static bool LoadTxt(FString FileNameA, FString& SaveTextA);
|
||||
|
||||
UFUNCTION(BlueprintPure, Category = "ModdingExtra")
|
||||
static FString ContentDirectory();
|
||||
};
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#include "ModdingPlus.h"
|
||||
|
||||
#define LOCTEXT_NAMESPACE "FModdingPlusModule"
|
||||
|
||||
/**
|
||||
void FModdingPlusModule::StartupModule()
|
||||
{
|
||||
// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module
|
||||
}
|
||||
|
||||
void FModdingPlusModule::ShutdownModule()
|
||||
{
|
||||
// This function may be called during shutdown to clean up your module. For modules that support dynamic reloading,
|
||||
// we call this function before unloading the module.
|
||||
}
|
||||
*/
|
||||
|
||||
bool UModdingPlus::GetAllFilesFromFolder(TArray<FString>& Files, FString RootFolderFullPath, FString Ext)
|
||||
{
|
||||
if(RootFolderFullPath.Len() < 1) return false;
|
||||
|
||||
// FPaths::NormalizeDirectoryName(RootFolderFullPath);
|
||||
|
||||
//RootFolderFullPath = FPaths::ConvertRelativePathToFull(RootFolderFullPath);
|
||||
|
||||
IFileManager& FileManager = IFileManager::Get();
|
||||
|
||||
FString RelativePath = FPaths::GameContentDir();
|
||||
FString FullPath = FileManager.ConvertToAbsolutePathForExternalAppForRead(*RelativePath);
|
||||
|
||||
if(Ext == "")
|
||||
{
|
||||
Ext = "*.*";
|
||||
}
|
||||
else
|
||||
{
|
||||
Ext = (Ext.Left(1) == ".") ? "*" + Ext : "*." + Ext;
|
||||
}
|
||||
|
||||
FString FinalPath = FullPath + "/" + RootFolderFullPath + "/" + Ext;
|
||||
FileManager.FindFiles(Files, *FinalPath, true, false);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool UModdingPlus::LoadTxt(FString FileNameA, FString& SaveTextA)
|
||||
{
|
||||
return FFileHelper::LoadFileToString(SaveTextA, *(FPaths::GameContentDir() + FileNameA));
|
||||
}
|
||||
|
||||
#undef LOCTEXT_NAMESPACE
|
||||
|
||||
IMPLEMENT_MODULE(FModdingPlusModule, ModdingPlus)
|
||||
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "ModuleManager.h"
|
||||
#include "ModdingPlus.generated.h"
|
||||
|
||||
class FModdingPlusModule : public IModuleInterface
|
||||
{
|
||||
public:
|
||||
|
||||
/** IModuleInterface implementation */
|
||||
//virtual void StartupModule() override;
|
||||
//virtual void ShutdownModule() override;
|
||||
};
|
||||
|
||||
UCLASS()
|
||||
class UModdingPlus : public UObject
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
|
||||
UFUNCTION(BlueprintPure, Category = "ModdingPlus")
|
||||
static bool GetAllFilesFromFolder(TArray<FString>& Files, FString RootFolderFullPath, FString Ext);
|
||||
|
||||
UFUNCTION(BlueprintPure, Category = "ModdingPlus", meta = (Keywords = "LoadTxt"))
|
||||
static bool LoadTxt(FString FileNameA, FString& SaveTextA);
|
||||
};
|
||||
Loading…
Reference in a new issue