diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d8ebcca --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +Binaries +Intermediate \ No newline at end of file diff --git a/LICENSE b/LICENSE index 2071b23..f8cefad 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) +Copyright (c) 2023 Kevin Poretti (kevinporetti.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/README.md b/README.md index 06231e3..601c0b4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,31 @@ # UnrealFightingEngine -This library provides actors, components, and other general data structures that are useful for developing character action or fighting games. \ No newline at end of file +This library provides actors, components, and other general data structures that are useful for developing character action or fighting games. + +### To-Do + +- [ ] State Machine +- [ ] Input Buffer + +### Setup + +Clone this repository into the Plugins folder of your game project or your Unreal Engine installation. + +Engine - /[UE Root]/Engine/Plugins/ +Game - /[Project Root]/Plugins/ + +### Usage + +Coming soon... + +### Supported Unreal Engine Versions + +- UE 5.2 + +### Known Issues + +None so far... + +### Licensing + +This library is available under [The MIT License](https://mit-license.org/). This library is free for commercial and non-commercial use. Attribution is not required, but is greatly appreciated. \ No newline at end of file diff --git a/Resources/Icon128.png b/Resources/Icon128.png new file mode 100644 index 0000000..1231d4a Binary files /dev/null and b/Resources/Icon128.png differ diff --git a/Source/UnrealFightingEngine/Private/UnrealFightingEngine.cpp b/Source/UnrealFightingEngine/Private/UnrealFightingEngine.cpp new file mode 100644 index 0000000..86106a8 --- /dev/null +++ b/Source/UnrealFightingEngine/Private/UnrealFightingEngine.cpp @@ -0,0 +1,22 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "UnrealFightingEngine.h" + +#define LOCTEXT_NAMESPACE "FUnrealFightingEngineModule" + +void FUnrealFightingEngineModule::StartupModule() +{ + // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module + +} + +void FUnrealFightingEngineModule::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(FUnrealFightingEngineModule, UnrealFightingEngine) \ No newline at end of file diff --git a/Source/UnrealFightingEngine/Private/UnrealFightingEngineBPLibrary.cpp b/Source/UnrealFightingEngine/Private/UnrealFightingEngineBPLibrary.cpp new file mode 100644 index 0000000..cca6b9c --- /dev/null +++ b/Source/UnrealFightingEngine/Private/UnrealFightingEngineBPLibrary.cpp @@ -0,0 +1,16 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "UnrealFightingEngineBPLibrary.h" +#include "UnrealFightingEngine.h" + +UUnrealFightingEngineBPLibrary::UUnrealFightingEngineBPLibrary(const FObjectInitializer& ObjectInitializer) +: Super(ObjectInitializer) +{ + +} + +float UUnrealFightingEngineBPLibrary::UnrealFightingEngineSampleFunction(float Param) +{ + return -1; +} + diff --git a/Source/UnrealFightingEngine/Public/UnrealFightingEngine.h b/Source/UnrealFightingEngine/Public/UnrealFightingEngine.h new file mode 100644 index 0000000..c763149 --- /dev/null +++ b/Source/UnrealFightingEngine/Public/UnrealFightingEngine.h @@ -0,0 +1,14 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Modules/ModuleManager.h" + +class FUnrealFightingEngineModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +}; diff --git a/Source/UnrealFightingEngine/Public/UnrealFightingEngineBPLibrary.h b/Source/UnrealFightingEngine/Public/UnrealFightingEngineBPLibrary.h new file mode 100644 index 0000000..f524d8b --- /dev/null +++ b/Source/UnrealFightingEngine/Public/UnrealFightingEngineBPLibrary.h @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Kismet/BlueprintFunctionLibrary.h" +#include "UnrealFightingEngineBPLibrary.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 UUnrealFightingEngineBPLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_UCLASS_BODY() + + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Execute Sample function", Keywords = "UnrealFightingEngine sample test testing"), Category = "UnrealFightingEngineTesting") + static float UnrealFightingEngineSampleFunction(float Param); +}; diff --git a/Source/UnrealFightingEngine/UnrealFightingEngine.Build.cs b/Source/UnrealFightingEngine/UnrealFightingEngine.Build.cs new file mode 100644 index 0000000..5015cba --- /dev/null +++ b/Source/UnrealFightingEngine/UnrealFightingEngine.Build.cs @@ -0,0 +1,53 @@ +// Some copyright should be here... + +using UnrealBuildTool; + +public class UnrealFightingEngine : ModuleRules +{ + public UnrealFightingEngine(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "Slate", + "SlateCore", + // ... add private dependencies that you statically link with here ... + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + // ... add any modules that your module loads dynamically here ... + } + ); + } +} diff --git a/UnrealFightingEngine.uplugin b/UnrealFightingEngine.uplugin new file mode 100644 index 0000000..0b3ea6d --- /dev/null +++ b/UnrealFightingEngine.uplugin @@ -0,0 +1,24 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "1.0", + "FriendlyName": "UnrealFightingEngine", + "Description": "This library provides actors, components, and other general data structures that are useful for developing character action or fighting games.", + "Category": "Other", + "CreatedBy": "Kevin Poretti", + "CreatedByURL": "https://kevinporetti.com", + "DocsURL": "", + "MarketplaceURL": "", + "SupportURL": "", + "CanContainContent": true, + "IsBetaVersion": true, + "IsExperimentalVersion": false, + "Installed": false, + "Modules": [ + { + "Name": "UnrealFightingEngine", + "Type": "Runtime", + "LoadingPhase": "PreLoadingScreen" + } + ] +} \ No newline at end of file