This commit is contained in:
2026-05-17 22:44:49 +03:00
commit 26fedadcd8
9071 changed files with 44364 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
Content/** filter=lfs diff=lfs merge=lfs -text
+17
View File
@@ -0,0 +1,17 @@
Binaries
DerivedDataCache
Intermediate
Saved
Build
.vscode
.vs
.idea
*.VC.db
*.opensdf
*.opendb
*.sdf
*.sln
*.suo
*.xcodeproj
*.xcworkspace
.DS_Store
+19
View File
@@ -0,0 +1,19 @@
{
"version": "1.0",
"components": [
"Component.Unreal.Debugger",
"Component.Unreal.Ide",
"Microsoft.Net.Component.4.6.2.TargetingPack",
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL",
"Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64",
"Microsoft.VisualStudio.Component.VC.14.44.17.14.ATL",
"Microsoft.VisualStudio.Component.VC.14.44.17.14.x86.x64",
"Microsoft.VisualStudio.Component.VC.Llvm.Clang",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.NativeGame"
]
}
+84
View File
@@ -0,0 +1,84 @@
# Working in this repo
Instructions for Claude when assisting on Naked Desire. Read this first; it is short by design.
## What this project is
- Unreal Engine **5.7** game. Single primary module: `NakedDesire`.
- NSFW exhibitionist sandbox / life-sim. Adult content is part of the design, not a bug.
- Single-player only. Multiplayer is out of scope (GDD §17.3) — do not add networking complexity.
- C++ for systems, Blueprint for content / animation hookups / UI widgets (GDD §17.5).
## Canonical documents (read in this order before non-trivial work)
1. **`README.md`** — Game Design Document. The design source of truth. Per GDD §23: when this doc and the code disagree, the doc wins until updated.
2. **`PLAN.md`** — phased dev plan + live status of what's implemented / partial / missing / conflicting. Update this when state changes.
3. The relevant `Source/NakedDesire/<Subsystem>/` folder.
If a request would change the design, update `README.md` first, then `PLAN.md`, then code. If a request changes implementation status, update `PLAN.md` in the same change.
## Repo layout
```
Source/NakedDesire/
Clothing/ # Definitions, instance data, manager, slot data
Global/ # GameMode, GameInstance, Constants, user settings, movement enums
Interactables/ # Wardrobe, base interactable
InteractionSystem/# Interaction manager + target interface
Locations/ # LocationData + LocationTrigger (gameplay tag-driven areas)
MissionBuilder/ # Mission/Goal/Restriction composition + concrete Goals/Restrictions
NPC/ # NPC pawn, AI controller, spawner, target locations
Player/ # NakedDesireCharacter, body part type, impostor, cinematic
SaveGame/ # GlobalSaveGameData (single slot today)
Stats/ # StatsManager (custom, not GAS yet)
Content/Blueprints/ # GameMode, GI, Player, NPC, Interactables, Data
Content/UI/ # Phone, HUD, Wardrobe, Shop, Inventory, etc. (BP widgets)
```
## Code conventions observed
- Copyright header on every C++ file: `// © 2025 Naked People Team. All Rights Reserved.` (some older files use the default "Fill out your copyright notice..." — replace when editing).
- `#pragma once` at the top of every header.
- Module export macro: `NAKEDDESIRE_API`.
- One class per file; folder per subsystem.
- DataAssets for static definitions (`UPrimaryDataAsset`); UObjects for instance / runtime data.
- BlueprintAssignable `DECLARE_DYNAMIC_MULTICAST_DELEGATE_*` for BP-exposed events; `DECLARE_MULTICAST_DELEGATE_*` for C++-only events.
- Localized strings use `LOCTEXT` with a `#define LOCTEXT_NAMESPACE "..."` / `#undef` block per file.
- Magic constants live in `Global/Constants.h` (e.g., `SLOT_NAME`, `IS_DEMO`).
- BlueprintImplementableEvents are widely used (time of day, end-game) — assume non-trivial logic lives in BP and grep `Content/` for asset usage when something seems "missing" from C++.
## Architectural rules (load-bearing)
- **Item identity (GDD §6.1)**: every item is a unique physical instance with a stable runtime ID. The current `UClothingItemData` does **not** satisfy this — Phase 1 of `PLAN.md` fixes it. Don't pile new content on top of the broken identity model.
- **Session loss (GDD §4.4)**: all "what gets lost" logic must live in a single `SessionLossResolver`. Do not scatter loss-handling into multiple components.
- **GAS-friendly attributes (GDD §17.2)**: attributes should map to a `UAttributeSet` eventually. Until Phase 4 lands, the custom `UStatsManager` is the source of truth — add new attributes there, but write them so they can migrate to GAS.
- **Data-driven content (GDD §17.4)**: clothing / commissions / food / NPC templates are DataAssets. Don't hardcode content into C++.
## When making changes
- **Match the surrounding code** — naming, copyright header, `UPROPERTY` metadata patterns, delegate style. If a folder has a convention, follow it before introducing a new one.
- **No premature abstractions** — three similar lines beat a half-built generic system. The GDD is detailed; let the actual systems drive shared interfaces, not speculation.
- **No backwards-compat shims** unless the user explicitly asks for one. Single-player game, no shipped saves to preserve unless the user says otherwise.
- **Don't mass-rename or restructure** without clearing it with the user first — Blueprint references to C++ classes / properties break silently when names change.
## Build / verify
- Mac project file: `NakedDesire (Mac).xcworkspace`. Can be built via Xcode or `xcodebuild` from CLI for a quick compile check.
- The user typically runs the editor — don't assume you can launch UE from CLI. After a code change, the build verification path is:
1. Static code review (Read + reason).
2. If unsure, ask the user to compile in-editor and report errors.
- Do not run destructive `git` actions (force push, reset --hard, branch -D) without explicit approval.
## Things to avoid
- Adding GAS bits piecemeal before Phase 4 (creates a split system).
- Editing `EClothingSlotType` casually — it currently mixes equipment slots and body parts; the cleanup is sequenced in Phase 1.
- Indexing `MissionsConfig->DailyMissions[DaysPassed]` without bounds checking — this is a known crash path (`NakedDesireGameMode.cpp:69`).
- Treating `Money` on `ANakedDesireCharacter` as authoritative — it is duplicated on the save game; both will be reconciled in the Phase 1 save refactor.
- Adding new persisted state to `UGlobalSaveGameData` directly — the schema is going to be rewritten in Phase 1. Coordinate before adding fields.
## Communication style
- The user is the game's developer (Oleh). Skip over-explanation of UE5 basics; do explain non-obvious design tradeoffs.
- Keep responses tight; cite `file:line` so the user can jump.
- If a task is ambiguous, ask before implementing. The GDD is long; assumptions are risky.
File diff suppressed because one or more lines are too long
+140
View File
@@ -0,0 +1,140 @@
[/Script/EngineSettings.GameMapsSettings]
EditorStartupMap=/Game/Maps/MainMenu.MainMenu
LocalMapOptions=
TransitionMap=None
bUseSplitscreen=True
TwoPlayerSplitscreenLayout=Horizontal
ThreePlayerSplitscreenLayout=FavorTop
FourPlayerSplitscreenLayout=Grid
bOffsetPlayerGamepadIds=False
GameInstanceClass=/Game/Blueprints/GI_NakedDesire.GI_NakedDesire_C
GameDefaultMap=/Game/Maps/MainMenu.MainMenu
ServerDefaultMap=/Engine/Maps/Entry.Entry
GlobalDefaultGameMode=/Game/Blueprints/GM_Main.GM_Main_C
GlobalDefaultServerGameMode=None
[/Script/Engine.RendererSettings]
r.AllowStaticLighting=False
r.GenerateMeshDistanceFields=True
r.DynamicGlobalIlluminationMethod=0
r.ReflectionMethod=2
r.SkinCache.CompileShaders=True
r.RayTracing=True
r.RayTracing.RayTracingProxies.ProjectEnabled=True
r.Shadow.Virtual.Enable=0
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8
r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8
r.GPUSkin.Support16BitBoneIndex=True
r.GPUSkin.UnlimitedBoneInfluences=True
SkeletalMesh.UseExperimentalChunking=1
r.AntiAliasingMethod=2
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
-D3D12TargetedShaderFormats=PCD3D_SM5
+D3D12TargetedShaderFormats=PCD3D_SM6
-D3D11TargetedShaderFormats=PCD3D_SM5
+D3D11TargetedShaderFormats=PCD3D_SM5
Compiler=Default
AudioSampleRate=48000
AudioCallbackBufferFrameSize=1024
AudioNumBuffersToEnqueue=1
AudioMaxChannels=0
AudioNumSourceWorkers=4
SpatializationPlugin=
SourceDataOverridePlugin=
ReverbPlugin=
OcclusionPlugin=
CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0)
CacheSizeKB=65536
MaxChunkSizeOverrideKB=0
bResampleForDevice=False
MaxSampleRate=48000.000000
HighSampleRate=32000.000000
MedSampleRate=24000.000000
LowSampleRate=12000.000000
MinSampleRate=8000.000000
CompressionQualityModifier=1.000000
AutoStreamingThreshold=0.000000
SoundCueCookQualityIndex=-1
[/Script/LinuxTargetPlatform.LinuxTargetSettings]
-TargetedRHIs=SF_VULKAN_SM5
+TargetedRHIs=SF_VULKAN_SM6
[/Script/HardwareTargeting.HardwareTargetingSettings]
TargetedHardwareClass=Desktop
AppliedTargetedHardwareClass=Desktop
DefaultGraphicsPerformance=Maximum
AppliedDefaultGraphicsPerformance=Maximum
[/Script/WorldPartitionEditor.WorldPartitionEditorSettings]
CommandletClass=Class'/Script/UnrealEd.WorldPartitionConvertCommandlet'
[/Script/Engine.UserInterfaceSettings]
bAuthorizeAutomaticWidgetVariableCreation=False
FontDPIPreset=Standard
FontDPI=72
RenderFocusRule=Never
[/Script/Engine.Engine]
+ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/NakedDesire")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/NakedDesire")
GameViewportClientClassName=/Script/CommonUI.CommonGameViewportClient
GameUserSettingsClassName=/Script/NakedDesire.NakedDesireUserSettings
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
bEnablePlugin=True
bAllowNetworkConnection=True
SecurityToken=5128407948CF5B4EFBF32293AB71BF73
bIncludeInShipping=False
bAllowExternalStartInShipping=False
bCompileAFSProject=False
bUseCompression=False
bLogFiles=False
bReportStats=False
ConnectionType=USBOnly
bUseManualIPAddress=False
ManualIPAddress=
[/Script/NavigationSystem.NavigationSystemV1]
DefaultAgentName=None
CrowdManagerClass=/Script/AIModule.CrowdManager
bAutoCreateNavigationData=True
bSpawnNavDataInNavBoundsLevel=False
bAllowClientSideNavigation=False
bShouldDiscardSubLevelNavData=True
bTickWhilePaused=False
bInitialBuildingLocked=False
bSkipAgentHeightCheckWhenPickingNavData=False
GeometryExportTriangleCountWarningThreshold=200000
bGenerateNavigationOnlyAroundNavigationInvokers=False
ActiveTilesUpdateInterval=1.000000
InvokersMaximumDistanceFromSeed=-1.000000
DataGatheringMode=Instant
DirtyAreaWarningSizeThreshold=-1.000000
GatheringNavModifiersWarningLimitTime=-1.000000
SupportedAgentsMask=(bSupportsAgent0=True,bSupportsAgent1=True,bSupportsAgent2=True,bSupportsAgent3=True,bSupportsAgent4=True,bSupportsAgent5=True,bSupportsAgent6=True,bSupportsAgent7=True,bSupportsAgent8=True,bSupportsAgent9=True,bSupportsAgent10=True,bSupportsAgent11=True,bSupportsAgent12=True,bSupportsAgent13=True,bSupportsAgent14=True,bSupportsAgent15=True)
[/Script/Engine.AudioSettings]
DefaultSoundClassName=/Game/Audio/SC_Main.SC_Main
DefaultMediaSoundClassName=/Game/Audio/SC_Music.SC_Music
[/Script/NavigationSystem.RecastNavMesh]
AgentRadius=35.000000
AgentMaxSlope=50.000000
+129
View File
@@ -0,0 +1,129 @@
[/Script/CommonUI.CommonUISettings]
CommonButtonAcceptKeyHandling=TriggerClick
bAutoLoadData=True
[/Script/EngineSettings.GeneralProjectSettings]
ProjectID=305A61484AE3739092FF13931B45C2C6
[/Script/CommonInput.CommonInputSettings]
InputData=/Game/Input/NakedDesireInputData.NakedDesireInputData_C
ActionDomainTable=/Game/Input/InputActionDomainTable.InputActionDomainTable
[CommonInputPlatformSettings_Windows CommonInputPlatformSettings]
DefaultInputType=MouseAndKeyboard
bSupportsMouseAndKeyboard=True
bSupportsTouch=False
bSupportsGamepad=True
DefaultGamepadName=Generic
bCanChangeGamepadType=True
+ControllerData=/Game/Input/KeyboardControllerData.KeyboardControllerData_C
+ControllerData=/Game/Input/GamepadControllerData.GamepadControllerData_C
[/Script/UnrealEd.ProjectPackagingSettings]
Build=IfProjectHasCode
BuildConfiguration=PPBC_Development
BuildTarget=
FullRebuild=False
ForDistribution=False
IncludeDebugFiles=False
BlueprintNativizationMethod=Disabled
bIncludeNativizedAssetsInProjectGeneration=False
bExcludeMonolithicEngineHeadersInNativizedCode=False
UsePakFile=True
bUseIoStore=True
bUseZenStore=False
bMakeBinaryConfig=False
bGenerateChunks=False
bGenerateNoChunks=False
bChunkHardReferencesOnly=False
bForceOneChunkPerFile=False
MaxChunkSize=0
bBuildHttpChunkInstallData=False
HttpChunkInstallDataDirectory=(Path="")
WriteBackMetadataToAssetRegistry=Disabled
bWritePluginSizeSummaryJsons=False
bCompressed=True
PackageCompressionFormat=Oodle
bForceUseProjectCompressionFormatIgnoreHardwareOverride=False
PackageAdditionalCompressionOptions=
PackageCompressionMethod=Kraken
PackageCompressionLevel_DebugDevelopment=4
PackageCompressionLevel_TestShipping=4
PackageCompressionLevel_Distribution=7
PackageCompressionMinBytesSaved=1024
PackageCompressionMinPercentSaved=5
bPackageCompressionEnableDDC=False
PackageCompressionMinSizeToConsiderDDC=0
HttpChunkInstallDataVersion=
IncludePrerequisites=True
IncludeAppLocalPrerequisites=False
bShareMaterialShaderCode=True
bDeterministicShaderCodeOrder=False
bSharedMaterialNativeLibraries=True
ApplocalPrerequisitesDirectory=(Path="")
IncludeCrashReporter=False
InternationalizationPreset=English
-CulturesToStage=en
+CulturesToStage=en
+CulturesToStage=ja
+CulturesToStage=uk
LocalizationTargetCatchAllChunkId=0
bCookAll=False
bCookMapsOnly=False
bTreatWarningsAsErrorsOnCook=False
bSkipEditorContent=False
bSkipMovies=False
-IniKeyDenylist=KeyStorePassword
-IniKeyDenylist=KeyPassword
-IniKeyDenylist=DebugKeyStorePassword
-IniKeyDenylist=DebugKeyPassword
-IniKeyDenylist=rsa.privateexp
-IniKeyDenylist=rsa.modulus
-IniKeyDenylist=rsa.publicexp
-IniKeyDenylist=aes.key
-IniKeyDenylist=SigningPublicExponent
-IniKeyDenylist=SigningModulus
-IniKeyDenylist=SigningPrivateExponent
-IniKeyDenylist=EncryptionKey
-IniKeyDenylist=DevCenterUsername
-IniKeyDenylist=DevCenterPassword
-IniKeyDenylist=IOSTeamID
-IniKeyDenylist=SigningCertificate
-IniKeyDenylist=MobileProvision
-IniKeyDenylist=AppStoreConnectKeyPath
-IniKeyDenylist=AppStoreConnectIssuerID
-IniKeyDenylist=AppStoreConnectKeyID
-IniKeyDenylist=IniKeyDenylist
-IniKeyDenylist=IniSectionDenylist
+IniKeyDenylist=KeyStorePassword
+IniKeyDenylist=KeyPassword
+IniKeyDenylist=DebugKeyStorePassword
+IniKeyDenylist=DebugKeyPassword
+IniKeyDenylist=rsa.privateexp
+IniKeyDenylist=rsa.modulus
+IniKeyDenylist=rsa.publicexp
+IniKeyDenylist=aes.key
+IniKeyDenylist=SigningPublicExponent
+IniKeyDenylist=SigningModulus
+IniKeyDenylist=SigningPrivateExponent
+IniKeyDenylist=EncryptionKey
+IniKeyDenylist=DevCenterUsername
+IniKeyDenylist=DevCenterPassword
+IniKeyDenylist=IOSTeamID
+IniKeyDenylist=SigningCertificate
+IniKeyDenylist=MobileProvision
+IniKeyDenylist=AppStoreConnectKeyPath
+IniKeyDenylist=AppStoreConnectIssuerID
+IniKeyDenylist=AppStoreConnectKeyID
+IniKeyDenylist=IniKeyDenylist
+IniKeyDenylist=IniSectionDenylist
-IniSectionDenylist=HordeStorageServers
-IniSectionDenylist=StorageServers
-IniSectionDenylist=/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings
+IniSectionDenylist=HordeStorageServers
+IniSectionDenylist=StorageServers
+IniSectionDenylist=/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings
+DirectoriesToAlwaysCook=(Path="/NNEDenoiser")
bRetainStagedDirectory=False
CustomStageCopyHandler=
+84
View File
@@ -0,0 +1,84 @@
[/Script/Engine.InputSettings]
-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f))
-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f))
+AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
+AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False))
bAltEnterTogglesFullscreen=True
bF11TogglesFullscreen=True
bUseMouseForTouch=False
bEnableMouseSmoothing=True
bEnableFOVScaling=True
bCaptureMouseOnLaunch=True
bEnableLegacyInputScales=True
bEnableMotionControls=True
bFilterInputByPlatformUser=False
bShouldFlushPressedKeysOnViewportFocusLost=True
bAlwaysShowTouchInterface=False
bShowConsoleOnFourFingerTap=True
bEnableGestureRecognizer=False
bUseAutocorrect=False
DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown
DefaultViewportMouseLockMode=LockOnCapture
FOVScale=0.011110
DoubleClickTime=0.200000
DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput
DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent
DefaultTouchInterface=/Engine/MobileResources/HUD/DefaultVirtualJoysticks.DefaultVirtualJoysticks
-ConsoleKeys=Tilde
+ConsoleKeys=Tilde
+45
View File
@@ -0,0 +1,45 @@
[/Script/Niagara.NiagaraSettings]
+AdditionalParameterEnums=/Niagara/Enums/ENiagaraCoordinateSpace.ENiagaraCoordinateSpace
+AdditionalParameterEnums=/Niagara/Enums/ENiagaraOrientationAxis.ENiagaraOrientationAxis
+AdditionalParameterEnums=/Niagara/Enums/ENiagaraRandomnessMode.ENiagaraRandomnessMode
bSystemViewportInOrbitMode=True
bShowConvertibleInputsInStack=False
QuickSimCacheCaptureFrameCount=5
bSystemsSupportLargeWorldCoordinates=True
LargeWorldCoordinateTileUpdateMode=ResetSimulation
LargeWorldCoordinateMaxTilesBeforeReset=4
bEnforceStrictStackTypes=True
bAccurateQuatInterpolation=True
InvalidNamespaceWriteSeverity=Warning
bLimitDeltaTime=True
MaxDeltaTimePerTick=0.125000
DefaultEffectType=None
bAllowCreateActorFromSystemWithNoEffectType=True
PositionPinTypeColor=(R=1.000000,G=0.300000,B=1.000000,A=1.000000)
ByteCodeStripOption=Strip_Original
CompilationMode=AsyncTasks
+QualityLevels=NSLOCTEXT("[/Script/Niagara]", "3D45F0C54145F29D6947A1880E359F0A", "Low")
+QualityLevels=NSLOCTEXT("[/Script/Niagara]", "E13C61484F7E1E9BCDE0BCA1DF7D32E6", "Medium")
+QualityLevels=NSLOCTEXT("[/Script/Niagara]", "F5CA410D441DB51D4A80B1B4B07071CB", "High")
+QualityLevels=NSLOCTEXT("[/Script/Niagara]", "D56BFF7C4D755EFCB5B350BDE094625A", "Epic")
+QualityLevels=NSLOCTEXT("[/Script/Niagara]", "1E2BA6CD40ADCA8512BC70AC59AACAD7", "Cinematic")
ComponentRendererWarningsPerClass=(("PostProcessComponent", NSLOCTEXT("[/Script/Niagara]", "022421AD4D0A1767041BEE86A524E12D", "The post process component has a separate \"Enabled\" flag in PostProcessVolume that you need to overwrite\n if you want to disable a component when a particle dies. Otherwise it will still affect the scene\n when it goes back into the component pool.")))
DefaultRenderTargetFormat=RTF_RGBA16f
DefaultGridFormat=HalfFloat
DefaultRendererMotionVectorSetting=Precise
DefaultPixelCoverageMode=Enabled
DefaultSortPrecision=Low
DefaultGpuTranslucentLatency=Immediate
DefaultLightInverseExposureBlend=0.000000
NDISkelMesh_SupportReadingDeformedGeometry=True
NDISkelMesh_Support16BitIndexWeight=True
NDISkelMesh_GpuMaxInfluences=Unlimited
NDISkelMesh_GpuUniformSamplingFormat=Full
NDISkelMesh_AdjacencyTriangleIndexFormat=Full
NDIStaticMesh_AllowDistanceFields=False
+NDICollisionQuery_AsyncGpuTraceProviderOrder=HWRT
+NDICollisionQuery_AsyncGpuTraceProviderOrder=GSDF
SimCacheAuxiliaryFileBasePath="{project_dir}/Saved/NiagaraSimCache"
SimCacheMaxCPUMemoryVolumetrics=5000
bGenerateMetaDataOnCompile=False
+19
View File
@@ -0,0 +1,19 @@
;METADATA=(Diff=true, UseCommands=true)
[CommonSettings]
SourcePath=Content/Localization/Game
DestinationPath=Content/Localization/Game
ManifestName=Game.manifest
ArchiveName=Game.archive
ResourceName=Game.locres
bSkipSourceCheck=false
bValidateFormatPatterns=true
bValidateSafeWhitespace=false
bValidateRichTextTags=false
NativeCulture=en
CulturesToGenerate=en
CulturesToGenerate=uk
CulturesToGenerate=ja
[GatherTextStep0]
CommandletClass=GenerateTextLocalizationResource
+21
View File
@@ -0,0 +1,21 @@
; THESE ARE GENERATED FILES, DO NOT EDIT DIRECTLY!
; USE THE LOCALIZATION DASHBOARD IN THE UNREAL EDITOR TO EDIT THE CONFIGURATION
[CommonSettings]
SourcePath=Content/Localization/Game
DestinationPath=Content/Localization/Game
NativeCulture=en
CulturesToGenerate=en
CulturesToGenerate=uk
CulturesToGenerate=ja
ManifestName=Game.manifest
ArchiveName=Game.archive
PortableObjectName=Game.po
[GatherTextStep0]
CommandletClass=InternationalizationExport
bExportLoc=true
LocalizedTextCollapseMode=ELocalizedTextCollapseMode::IdenticalTextIdAndSource
POFormat=EPortableObjectFormat::Unreal
ShouldPersistCommentsOnExport=false
ShouldAddSourceLocationsAsComments=true
@@ -0,0 +1,16 @@
; THESE ARE GENERATED FILES, DO NOT EDIT DIRECTLY!
; USE THE LOCALIZATION DASHBOARD IN THE UNREAL EDITOR TO EDIT THE CONFIGURATION
[CommonSettings]
SourcePath=Content/Localization/Game
DestinationPath=Content/Localization/Game
NativeCulture=en
CulturesToGenerate=en
CulturesToGenerate=uk
CulturesToGenerate=ja
ManifestName=Game.manifest
ArchiveName=Game.archive
DialogueScriptName=GameDialogue.csv
[GatherTextStep0]
CommandletClass=ExportDialogueScript
+44
View File
@@ -0,0 +1,44 @@
;METADATA=(Diff=true, UseCommands=true)
[CommonSettings]
ManifestDependencies=../../../../../Program Files/Epic Games/UE_5.6/Engine/Content/Localization/Engine/Engine.manifest
ManifestDependencies=../../../../../Program Files/Epic Games/UE_5.6/Engine/Content/Localization/Editor/Editor.manifest
SourcePath=Content/Localization/Game
DestinationPath=Content/Localization/Game
ManifestName=Game.manifest
ArchiveName=Game.archive
NativeCulture=en
CulturesToGenerate=en
CulturesToGenerate=uk
CulturesToGenerate=ja
[GatherTextStep0]
CommandletClass=GatherTextFromSource
SearchDirectoryPaths=Source/*
ExcludePathFilters=Config/Localization/*
FileNameFilters=*.h
FileNameFilters=*.cpp
FileNameFilters=*.ini
ShouldGatherFromEditorOnlyData=false
[GatherTextStep1]
CommandletClass=GatherTextFromAssets
IncludePathFilters=Content/Translations/*
ExcludePathFilters=Content/Localization/*
PackageFileNameFilters=*.uasset
ShouldExcludeDerivedClasses=false
ShouldGatherFromEditorOnlyData=false
SkipGatherCache=false
[GatherTextStep2]
CommandletClass=GenerateGatherManifest
[GatherTextStep3]
CommandletClass=GenerateGatherArchive
[GatherTextStep4]
CommandletClass=GenerateTextLocalizationReport
bWordCountReport=true
WordCountReportName=Game.csv
bConflictReport=true
ConflictReportName=Game_Conflicts.txt
@@ -0,0 +1,16 @@
; THESE ARE GENERATED FILES, DO NOT EDIT DIRECTLY!
; USE THE LOCALIZATION DASHBOARD IN THE UNREAL EDITOR TO EDIT THE CONFIGURATION
[CommonSettings]
SourcePath=Content/Localization/Game
DestinationPath=Content/Localization/Game
ManifestName=Game.manifest
ArchiveName=Game.archive
CulturesToGenerate=en
CulturesToGenerate=uk
CulturesToGenerate=ja
[GatherTextStep0]
CommandletClass=GenerateTextLocalizationReport
bWordCountReport=true
WordCountReportName=Game.csv
+19
View File
@@ -0,0 +1,19 @@
; THESE ARE GENERATED FILES, DO NOT EDIT DIRECTLY!
; USE THE LOCALIZATION DASHBOARD IN THE UNREAL EDITOR TO EDIT THE CONFIGURATION
[CommonSettings]
SourcePath=Content/Localization/Game
DestinationPath=Content/Localization/Game
NativeCulture=en
CulturesToGenerate=en
CulturesToGenerate=uk
CulturesToGenerate=ja
ManifestName=Game.manifest
ArchiveName=Game.archive
PortableObjectName=Game.po
[GatherTextStep0]
CommandletClass=InternationalizationExport
bImportLoc=true
LocalizedTextCollapseMode=ELocalizedTextCollapseMode::IdenticalTextIdAndSource
POFormat=EPortableObjectFormat::Unreal
@@ -0,0 +1,17 @@
; THESE ARE GENERATED FILES, DO NOT EDIT DIRECTLY!
; USE THE LOCALIZATION DASHBOARD IN THE UNREAL EDITOR TO EDIT THE CONFIGURATION
[CommonSettings]
SourcePath=Content/Localization/Game
ManifestName=Game.manifest
ArchiveName=Game.archive
NativeCulture=en
CulturesToGenerate=en
CulturesToGenerate=uk
CulturesToGenerate=ja
[GatherTextStep0]
CommandletClass=ImportLocalizedDialogue
RawAudioPath=
ImportedDialogueFolder=ImportedDialogue
bImportNativeAsSource=false
@@ -0,0 +1,16 @@
; THESE ARE GENERATED FILES, DO NOT EDIT DIRECTLY!
; USE THE LOCALIZATION DASHBOARD IN THE UNREAL EDITOR TO EDIT THE CONFIGURATION
[CommonSettings]
SourcePath=Content/Localization/Game
DestinationPath=Content/Localization/Game
NativeCulture=en
CulturesToGenerate=en
CulturesToGenerate=uk
CulturesToGenerate=ja
ManifestName=Game.manifest
ArchiveName=Game.archive
DialogueScriptName=GameDialogue.csv
[GatherTextStep0]
CommandletClass=ImportDialogueScript
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.
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.
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.
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.
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.
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.
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.
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.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More