Step 1: the Salty project, two modules, tests and the gym
Salty.uproject (UE 5.8) from the Third Person template with class redirects, the SaltyCore and Salty modules, the three build targets, USaltyAssetManager calling InitGlobalData, Config/Tags with the 23 root namespaces, Scripts/run-tests.sh, build.sh and Authoring/create_gym.py, L_Gym, Git LFS attributes and the placeholder test. Template variants kept as reference (D-41). The four Fab packs stay out of the repository for now (~10 GB). The editor serves the engine MCP plugin on 127.0.0.1:8000 through DefaultEditorPerProjectUserSettings.ini. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
0e61a77346
commit
4f2c55cd2a
@@ -0,0 +1,24 @@
|
||||
using UnrealBuildTool;
|
||||
|
||||
// Rules, data types, tags and the telemetry contract. Knows no AActor and no UWorld; if something here seems to
|
||||
// need one, the thing it needs is data (Docs/Spec/Architecture.md, Modules).
|
||||
public class SaltyCore : ModuleRules
|
||||
{
|
||||
public SaltyCore(ReadOnlyTargetRules Target) : base(Target)
|
||||
{
|
||||
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
|
||||
PublicDependencyModuleNames.AddRange(new string[] {
|
||||
"Core",
|
||||
"CoreUObject",
|
||||
"Engine", // UPrimaryDataAsset, FGameplayTag
|
||||
"GameplayTags",
|
||||
"GameplayAbilities" // FGameplayAttribute in the damage maths
|
||||
});
|
||||
|
||||
PrivateDependencyModuleNames.AddRange(new string[] { });
|
||||
|
||||
// Includes are rooted at the module: "Tags/NativeTags.h", "Telemetry/TelemetryEvent.h".
|
||||
PublicIncludePaths.Add(ModuleDirectory);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
#include "SaltyCore.h"
|
||||
#include "Modules/ModuleManager.h"
|
||||
|
||||
IMPLEMENT_MODULE(FDefaultModuleImpl, SaltyCore);
|
||||
|
||||
DEFINE_LOG_CATEGORY(LogSaltyCore);
|
||||
@@ -0,0 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "Logging/LogMacros.h"
|
||||
|
||||
SALTYCORE_API DECLARE_LOG_CATEGORY_EXTERN(LogSaltyCore, Log, All);
|
||||
@@ -0,0 +1,3 @@
|
||||
#include "Tags/NativeTags.h"
|
||||
|
||||
// UE_DEFINE_GAMEPLAY_TAG_COMMENT(TAG_..., "...", "...") lines arrive with the step that needs them.
|
||||
@@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "NativeGameplayTags.h"
|
||||
|
||||
// Native declarations for every gameplay tag that code references, so a typo fails at compile time. The source of
|
||||
// truth for the tag tree is Config/Tags/<Namespace>.ini; a tag declared here must also exist there. Each spec adds
|
||||
// its own tags as the step that builds it lands (Docs/Spec/Architecture.md, Gameplay tags).
|
||||
@@ -0,0 +1,16 @@
|
||||
#include "Misc/AutomationTest.h"
|
||||
|
||||
#if WITH_DEV_AUTOMATION_TESTS
|
||||
|
||||
// Proves the test pipeline itself: Scripts/run-tests.sh finds the Salty.Core filter, runs it headless, and reports.
|
||||
// Replaced by real rule tests from step 2 onwards; it may be deleted once another Salty.Core.* test exists.
|
||||
IMPLEMENT_SIMPLE_AUTOMATION_TEST(FSaltyCorePlaceholderTest, "Salty.Core.Placeholder.Compiles",
|
||||
EAutomationTestFlags::ProductFilter | EAutomationTestFlags_ApplicationContextMask)
|
||||
|
||||
bool FSaltyCorePlaceholderTest::RunTest(const FString& Parameters)
|
||||
{
|
||||
TestTrue(TEXT("The core module compiles and its tests run"), true);
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user