init: UE MM project scaffold with workflow docs
This commit is contained in:
27
.gitignore
vendored
Normal file
27
.gitignore
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
# Unreal Engine
|
||||
Intermediate/
|
||||
Binaries/
|
||||
DerivedDataCache/
|
||||
Saved/Logs/
|
||||
Build/
|
||||
*.VC.db
|
||||
*.VC.opendb
|
||||
*.sln
|
||||
*.suo
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
._*
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
|
||||
# IDE
|
||||
.vs/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# Compiled
|
||||
*.pyc
|
||||
__pycache__/
|
||||
0
Config/DefaultEditor.ini
Normal file
0
Config/DefaultEditor.ini
Normal file
103
Config/DefaultEngine.ini
Normal file
103
Config/DefaultEngine.ini
Normal file
@@ -0,0 +1,103 @@
|
||||
|
||||
|
||||
[/Script/EngineSettings.GameMapsSettings]
|
||||
GameDefaultMap=/Game/AGame/Map/Map_Test.Map_Test
|
||||
EditorStartupMap=/Game/AGame/Map/Map_Test.Map_Test
|
||||
|
||||
[/Script/Engine.RendererSettings]
|
||||
r.AllowStaticLighting=False
|
||||
|
||||
r.GenerateMeshDistanceFields=True
|
||||
|
||||
r.DynamicGlobalIlluminationMethod=1
|
||||
|
||||
r.ReflectionMethod=1
|
||||
|
||||
r.SkinCache.CompileShaders=True
|
||||
|
||||
r.RayTracing=True
|
||||
|
||||
r.RayTracing.RayTracingProxies.ProjectEnabled=True
|
||||
|
||||
r.Substrate=True
|
||||
|
||||
r.Substrate.ProjectGBufferFormat=0
|
||||
|
||||
r.Shadow.Virtual.Enable=1
|
||||
|
||||
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
|
||||
|
||||
r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8
|
||||
|
||||
r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8
|
||||
|
||||
[/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/MacTargetPlatform.MacTargetSettings]
|
||||
-TargetedRHIs=SF_METAL_SM5
|
||||
+TargetedRHIs=SF_METAL_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
|
||||
|
||||
[/Script/Engine.Engine]
|
||||
+ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/MM")
|
||||
+ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/MM")
|
||||
|
||||
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
|
||||
bEnablePlugin=True
|
||||
bAllowNetworkConnection=True
|
||||
SecurityToken=79F59A1C984D8EFDC79685B767C1F870
|
||||
bIncludeInShipping=False
|
||||
bAllowExternalStartInShipping=False
|
||||
bCompileAFSProject=False
|
||||
bUseCompression=False
|
||||
bLogFiles=False
|
||||
bReportStats=False
|
||||
ConnectionType=USBOnly
|
||||
bUseManualIPAddress=False
|
||||
ManualIPAddress=
|
||||
|
||||
8
Config/DefaultGame.ini
Normal file
8
Config/DefaultGame.ini
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
[/Script/CommonUI.CommonUISettings]
|
||||
CommonButtonAcceptKeyHandling=TriggerClick
|
||||
|
||||
[/Script/EngineSettings.GeneralProjectSettings]
|
||||
ProjectID=CED3B1F9C94861A95FE88BBD3D80BFD7
|
||||
CopyrightNotice=
|
||||
|
||||
84
Config/DefaultInput.ini
Normal file
84
Config/DefaultInput.ini
Normal 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
|
||||
|
||||
BIN
Content/AGame/Map/Map_Test.umap
Normal file
BIN
Content/AGame/Map/Map_Test.umap
Normal file
Binary file not shown.
82
Docs/workflow.md
Normal file
82
Docs/workflow.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# UE MM 开发流水线
|
||||
|
||||
> 最后更新:2026-05-02
|
||||
|
||||
## 仓库
|
||||
|
||||
- 本地:`/Volumes/Game/UE/Projects/MM`
|
||||
- 远程:`https://git.codable.cn/cit110/MM.git`
|
||||
|
||||
## Agent 分工
|
||||
|
||||
| Agent | Profile | 模型 | 职责 |
|
||||
|-------|---------|------|------|
|
||||
| 大总管 | default | glm-5.1 | 需求讨论、设计文档、中央调度 |
|
||||
| game-main | game-main | deepseek-v4-flash | 任务拆解、生成 codex exec prompt |
|
||||
| operator | operator | deepseek-v4-flash | codex 执行、git 操作 |
|
||||
| techlead | techlead | deepseek-v4-pro | 代码审核 |
|
||||
| xie | xie | glm-5.1 | 剧情文案(独立,不走流水线) |
|
||||
|
||||
## 流水线
|
||||
|
||||
```
|
||||
你 ←聊天→ 【大总管】
|
||||
│
|
||||
├ 1. 讨论需求,确认方向
|
||||
├ 2. 输出设计文档
|
||||
│
|
||||
↓ terminal("game-main chat -q '...'")
|
||||
【game-main】
|
||||
│
|
||||
├ 3. 拆解为子任务
|
||||
├ 4. 为每个子任务生成 codex exec prompt
|
||||
├ 5. 排列依赖关系
|
||||
│
|
||||
↓ terminal("operator chat -q '...'")
|
||||
【operator】
|
||||
│
|
||||
├ 6. codex exec --full-auto(worktree 隔离)
|
||||
├ 7. 收集输出 / diff
|
||||
│
|
||||
↓ terminal("techlead chat -q '...'")
|
||||
【techlead】
|
||||
│
|
||||
├ 8. 审核代码质量、架构、安全性
|
||||
├ ✅ 通过 → operator 执行 git commit / merge
|
||||
└ ❌ 打回 → game-main 重写 prompt → 重来(最多3次)
|
||||
│
|
||||
↓
|
||||
大总管汇报结果
|
||||
```
|
||||
|
||||
## 调度方式
|
||||
|
||||
**中央调度**:大总管通过 `terminal("<profile> chat -q '...'")` 依次调用各 profile。
|
||||
|
||||
用户全程只跟大总管对话。
|
||||
|
||||
## Codex 执行策略
|
||||
|
||||
- 使用 `codex exec --full-auto` one-shot 模式
|
||||
- 每个子任务一个 git worktree 隔离(`/tmp/mm-task-N/`)
|
||||
- operator 用 `process(action="wait")` 阻塞等待 codex 完成
|
||||
- terminal timeout 上限 600 秒,任务粒度需控制在 10 分钟内
|
||||
- 可并行执行无依赖的子任务
|
||||
|
||||
## 审核打回机制
|
||||
|
||||
- techlead 打回时必须附带具体修改意见
|
||||
- game-main 拿到意见后调整 prompt 重新生成
|
||||
- 单个子任务最大重试 3 次
|
||||
- 超过 3 次报给用户决策
|
||||
|
||||
## Git 策略
|
||||
|
||||
- 主分支:`main`
|
||||
- 功能分支:`feature/<任务名>`
|
||||
- operator 负责:创建分支 → 提交代码 → 合并到 main → 推送远程
|
||||
- 每个 codex 任务对应一次 commit,commit message 格式:`feat: <简述>`
|
||||
|
||||
## xie(独立)
|
||||
|
||||
剧情文案工作直接与 xie 对话,不经过上述流水线。产出物通过大总管整合到项目中。
|
||||
40
MM (Mac).xcworkspace/contents.xcworkspacedata
generated
Normal file
40
MM (Mac).xcworkspace/contents.xcworkspacedata
generated
Normal file
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<Group
|
||||
location = "container:" name = "Engine">
|
||||
<FileRef
|
||||
location = "group:Intermediate/ProjectFiles/UnrealEditor (Mac).xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Intermediate/ProjectFiles/UnrealGame (Mac).xcodeproj">
|
||||
</FileRef>
|
||||
</Group>
|
||||
<Group
|
||||
location = "container:" name = "Games">
|
||||
<Group
|
||||
location = "container:" name = "MM">
|
||||
<FileRef
|
||||
location = "group:Intermediate/ProjectFiles/MM (Mac).xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Intermediate/ProjectFiles/MMEditor (Mac).xcodeproj">
|
||||
</FileRef>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group
|
||||
location = "container:" name = "Programs">
|
||||
<Group
|
||||
location = "container:" name = "Automation">
|
||||
</Group>
|
||||
<Group
|
||||
location = "container:" name = "Shared">
|
||||
</Group>
|
||||
<Group
|
||||
location = "container:" name = "UnrealBuildTool.Plugins">
|
||||
</Group>
|
||||
</Group>
|
||||
<Group
|
||||
location = "container:" name = "Rules">
|
||||
</Group>
|
||||
</Workspace>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>DisableBuildSystemDeprecationWarning</key>
|
||||
<true/>
|
||||
<key>DisableBuildSystemDeprecationDiagnostic</key>
|
||||
<true/>
|
||||
<key>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
MM (Mac).xcworkspace/xcuserdata/mchen.xcuserdatad/UserInterfaceState.xcuserstate
generated
Normal file
BIN
MM (Mac).xcworkspace/xcuserdata/mchen.xcuserdatad/UserInterfaceState.xcuserstate
generated
Normal file
Binary file not shown.
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildSystemType</key>
|
||||
<string>Original</string>
|
||||
<key>BuildLocationStyle</key>
|
||||
<string>UseTargetSettings</string>
|
||||
<key>CustomBuildLocationType</key>
|
||||
<string>RelativeToDerivedData</string>
|
||||
<key>DerivedDataLocationStyle</key>
|
||||
<string>Default</string>
|
||||
<key>IssueFilterStyle</key>
|
||||
<string>ShowAll</string>
|
||||
<key>LiveSourceIssuesEnabled</key>
|
||||
<true/>
|
||||
<key>SnapshotAutomaticallyBeforeSignificantChanges</key>
|
||||
<true/>
|
||||
<key>SnapshotLocationStyle</key>
|
||||
<string>Default</string>
|
||||
</dict>
|
||||
</plist>
|
||||
22
MM.uproject
Normal file
22
MM.uproject
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"FileVersion": 3,
|
||||
"EngineAssociation": "5.7",
|
||||
"Category": "",
|
||||
"Description": "",
|
||||
"Modules": [
|
||||
{
|
||||
"Name": "MM",
|
||||
"Type": "Runtime",
|
||||
"LoadingPhase": "Default"
|
||||
}
|
||||
],
|
||||
"Plugins": [
|
||||
{
|
||||
"Name": "ModelingToolsEditorMode",
|
||||
"Enabled": true,
|
||||
"TargetAllowList": [
|
||||
"Editor"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Saved/AutoScreenshot.png
Normal file
BIN
Saved/AutoScreenshot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 47 KiB |
BIN
Saved/Autosaves/PackageRestoreData.json
Normal file
BIN
Saved/Autosaves/PackageRestoreData.json
Normal file
Binary file not shown.
@@ -0,0 +1,9 @@
|
||||
[CrashReportClient]
|
||||
bHideLogFilesOption=false
|
||||
bHideAllowToBeContactedOption=false
|
||||
bIsAllowedToCloseWithoutSending=true
|
||||
bIsAllowedToSendWithoutDetailedInfo=true
|
||||
CrashConfigPurgeDays=2
|
||||
Stall.RecordDump=false
|
||||
Ensure.RecordDump=true
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
[CrashReportClient]
|
||||
bHideLogFilesOption=false
|
||||
bHideAllowToBeContactedOption=false
|
||||
bIsAllowedToCloseWithoutSending=true
|
||||
bIsAllowedToSendWithoutDetailedInfo=true
|
||||
CrashConfigPurgeDays=2
|
||||
Stall.RecordDump=false
|
||||
Ensure.RecordDump=true
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
[CrashReportClient]
|
||||
bHideLogFilesOption=false
|
||||
bHideAllowToBeContactedOption=false
|
||||
bIsAllowedToCloseWithoutSending=true
|
||||
bIsAllowedToSendWithoutDetailedInfo=true
|
||||
CrashConfigPurgeDays=2
|
||||
Stall.RecordDump=false
|
||||
Ensure.RecordDump=true
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
[CrashReportClient]
|
||||
bHideLogFilesOption=false
|
||||
bHideAllowToBeContactedOption=false
|
||||
bIsAllowedToCloseWithoutSending=true
|
||||
bIsAllowedToSendWithoutDetailedInfo=true
|
||||
CrashConfigPurgeDays=2
|
||||
Stall.RecordDump=false
|
||||
Ensure.RecordDump=true
|
||||
|
||||
4
Saved/Config/MacEditor/Editor.ini
Normal file
4
Saved/Config/MacEditor/Editor.ini
Normal file
@@ -0,0 +1,4 @@
|
||||
;METADATA=(Diff=true, UseCommands=true)
|
||||
[/Script/UnrealEd.UnrealEdOptions]
|
||||
UsingXGE=False
|
||||
|
||||
2264
Saved/Config/MacEditor/EditorPerProjectUserSettings.ini
Normal file
2264
Saved/Config/MacEditor/EditorPerProjectUserSettings.ini
Normal file
File diff suppressed because one or more lines are too long
28
Saved/Config/MacEditor/GameUserSettings.ini
Normal file
28
Saved/Config/MacEditor/GameUserSettings.ini
Normal file
@@ -0,0 +1,28 @@
|
||||
;METADATA=(Diff=true, UseCommands=true)
|
||||
[/Script/Engine.GameUserSettings]
|
||||
bUseVSync=False
|
||||
bUseDynamicResolution=False
|
||||
ResolutionSizeX=3840
|
||||
ResolutionSizeY=2160
|
||||
LastUserConfirmedResolutionSizeX=3840
|
||||
LastUserConfirmedResolutionSizeY=2160
|
||||
FullscreenMode=1
|
||||
LastConfirmedFullscreenMode=1
|
||||
PreferredFullscreenMode=1
|
||||
Version=5
|
||||
AudioQualityLevel=0
|
||||
LastConfirmedAudioQualityLevel=0
|
||||
FrameRateLimit=0.000000
|
||||
DesiredScreenWidth=1280
|
||||
bUseDesiredScreenHeight=False
|
||||
DesiredScreenHeight=720
|
||||
LastUserConfirmedDesiredScreenWidth=1280
|
||||
LastUserConfirmedDesiredScreenHeight=720
|
||||
LastRecommendedScreenWidth=-1.000000
|
||||
LastRecommendedScreenHeight=-1.000000
|
||||
LastCPUBenchmarkResult=-1.000000
|
||||
LastGPUBenchmarkResult=-1.000000
|
||||
LastGPUBenchmarkMultiplier=1.000000
|
||||
bUseHDRDisplayOutput=False
|
||||
HDRDisplayOutputNits=1000
|
||||
|
||||
BIN
Saved/Config/WorldState/1005749728.json
Normal file
BIN
Saved/Config/WorldState/1005749728.json
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
Saved/SourceControl/UncontrolledChangelists.json
Normal file
BIN
Saved/SourceControl/UncontrolledChangelists.json
Normal file
Binary file not shown.
3
Saved/UnrealBuildTool/BuildConfiguration.xml
Normal file
3
Saved/UnrealBuildTool/BuildConfiguration.xml
Normal file
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
|
||||
</Configuration>
|
||||
15
Source/MM.Target.cs
Normal file
15
Source/MM.Target.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
using UnrealBuildTool;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class MMTarget : TargetRules
|
||||
{
|
||||
public MMTarget(TargetInfo Target) : base(Target)
|
||||
{
|
||||
Type = TargetType.Game;
|
||||
DefaultBuildSettings = BuildSettingsVersion.V6;
|
||||
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_7;
|
||||
ExtraModuleNames.Add("MM");
|
||||
}
|
||||
}
|
||||
23
Source/MM/MM.Build.cs
Normal file
23
Source/MM/MM.Build.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
using UnrealBuildTool;
|
||||
|
||||
public class MM : ModuleRules
|
||||
{
|
||||
public MM(ReadOnlyTargetRules Target) : base(Target)
|
||||
{
|
||||
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||
|
||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput" });
|
||||
|
||||
PrivateDependencyModuleNames.AddRange(new string[] { });
|
||||
|
||||
// Uncomment if you are using Slate UI
|
||||
// PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
|
||||
|
||||
// Uncomment if you are using online features
|
||||
// PrivateDependencyModuleNames.Add("OnlineSubsystem");
|
||||
|
||||
// To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
|
||||
}
|
||||
}
|
||||
6
Source/MM/MM.cpp
Normal file
6
Source/MM/MM.cpp
Normal file
@@ -0,0 +1,6 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#include "MM.h"
|
||||
#include "Modules/ModuleManager.h"
|
||||
|
||||
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, MM, "MM" );
|
||||
6
Source/MM/MM.h
Normal file
6
Source/MM/MM.h
Normal file
@@ -0,0 +1,6 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
|
||||
15
Source/MMEditor.Target.cs
Normal file
15
Source/MMEditor.Target.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||
|
||||
using UnrealBuildTool;
|
||||
using System.Collections.Generic;
|
||||
|
||||
public class MMEditorTarget : TargetRules
|
||||
{
|
||||
public MMEditorTarget( TargetInfo Target) : base(Target)
|
||||
{
|
||||
Type = TargetType.Editor;
|
||||
DefaultBuildSettings = BuildSettingsVersion.V6;
|
||||
IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_7;
|
||||
ExtraModuleNames.Add("MM");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user