├── .gitignore ├── Config ├── DefaultEngine.ini └── DefaultGame.ini ├── Content ├── Mod │ ├── NoCook │ │ ├── M_UIPlaceholder.uasset │ │ ├── StartMap.umap │ │ └── StartMap_BuiltData.uasset │ ├── T_MootPic.uasset │ ├── WBP_MootButton.uasset │ ├── WBP_TestWidget.uasset │ └── WBP_TextEntry.uasset └── UI │ └── Shared │ ├── Materials │ └── MI_UI_Spinner.uasset │ └── Widgets │ └── WBP_MCCRetainFocus.uasset ├── MCC.uproject └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Shortcuts 2 | *.lnk 3 | *.url 4 | 5 | # Binary Art Source Files 6 | *.dae 7 | *.ies 8 | *.max 9 | *.png 10 | *.tga 11 | *.jpg 12 | *.dwg 13 | *.fbx 14 | *.psd 15 | *.dds 16 | *.hdr 17 | *.wav 18 | *.ttf 19 | 20 | # Packages 21 | *.7z 22 | *.dmg 23 | *.gz 24 | *.iso 25 | *.jar 26 | *.rar 27 | *.tar 28 | *.zip 29 | 30 | # Some OS generated files 31 | .DS_Store 32 | .DS_Store? 33 | ._* 34 | .Spotlight-V100 35 | .Trashes 36 | ehthumbs.db 37 | Thumbs.db 38 | 39 | 40 | # Visual Studio user specific files 41 | .vs/ 42 | .vscode/ 43 | #debufiles 44 | 45 | # Visual Studio database file 46 | *.VC.db 47 | 48 | # Compiled Object files 49 | *.slo 50 | *.lo 51 | *.o 52 | *.obj 53 | 54 | # Precompiled Headers 55 | *.gch 56 | *.pch 57 | 58 | # Compiled Dynamic libraries 59 | *.so 60 | *.dylib 61 | *.dll 62 | 63 | # Fortran module files 64 | *.mod 65 | 66 | # Compiled Static libraries 67 | *.lai 68 | *.la 69 | *.a 70 | *.lib 71 | 72 | # Executables 73 | *.exe 74 | *.out 75 | *.app 76 | *.ipa 77 | 78 | # These project files can be generated by the engine 79 | *.xcodeproj 80 | *.xcworkspace 81 | *.code-workspace 82 | *.sln 83 | *.suo 84 | *.opensdf 85 | *.sdf 86 | *.VC.db 87 | *.VC.opendb 88 | 89 | # Precompiled Assets 90 | SourceArt/**/*.png 91 | SourceArt/**/*.tga 92 | 93 | # Binary Files 94 | Binaries/* 95 | Plugins/*/Binaries/* 96 | 97 | # Builds 98 | Build/* 99 | 100 | # Don't ignore icon files in Build 101 | !Build/**/*.ico 102 | 103 | # Configuration files generated by the Editor 104 | Saved/* 105 | 106 | # Compiled source files for the engine to use 107 | Intermediate/* 108 | Plugins/*/Intermediate/* 109 | 110 | # Cache files for the editor to use 111 | DerivedDataCache/* 112 | -------------------------------------------------------------------------------- /Config/DefaultEngine.ini: -------------------------------------------------------------------------------- 1 | [URL] 2 | 3 | [/Script/HardwareTargeting.HardwareTargetingSettings] 4 | TargetedHardwareClass=Desktop 5 | AppliedTargetedHardwareClass=Desktop 6 | DefaultGraphicsPerformance=Maximum 7 | AppliedDefaultGraphicsPerformance=Maximum 8 | 9 | [/Script/IOSRuntimeSettings.IOSRuntimeSettings] 10 | bSupportsPortraitOrientation=False 11 | bSupportsUpsideDownOrientation=False 12 | bSupportsLandscapeLeftOrientation=True 13 | PreferredLandscapeOrientation=LandscapeLeft 14 | 15 | [/Script/EngineSettings.GameMapsSettings] 16 | EditorStartupMap=/Game/Mod/NoCook/StartMap.StartMap 17 | GameDefaultMap=/Game/Mod/NoCook/StartMap.StartMap 18 | 19 | [/Script/UnrealEd.CookerSettings] 20 | bEnableCookOnTheSide=False 21 | bEnableBuildDDCInBackground=False 22 | bIterativeCookingForLaunchOn=False 23 | bIterativeCookingForFileCookContent=False 24 | cook.displaymode=1 25 | bIgnoreIniSettingsOutOfDateForIteration=False 26 | bIgnoreScriptPackagesOutOfDateForIteration=False 27 | bCompileBlueprintsInDevelopmentMode=True 28 | bCookBlueprintComponentTemplateData=False 29 | -ClassesExcludedOnDedicatedServer=WidgetBlueprint 30 | -ClassesExcludedOnDedicatedServer=GroupActor 31 | -ClassesExcludedOnDedicatedServer=MetaData 32 | -ClassesExcludedOnDedicatedServer=ObjectRedirector 33 | -ClassesExcludedOnDedicatedServer=NavMeshRenderingComponent 34 | -ClassesExcludedOnDedicatedServer=ReflectionCaptureComponent 35 | -ClassesExcludedOnDedicatedServer=TextRenderComponent 36 | -ClassesExcludedOnDedicatedServer=Font 37 | -ClassesExcludedOnDedicatedServer=InterpCurveEdSetup 38 | -ClassesExcludedOnDedicatedServer=MaterialExpression 39 | -ClassesExcludedOnDedicatedServer=MatineeActorCameraAnim 40 | -ClassesExcludedOnDedicatedServer=ParticleEmitter 41 | -ClassesExcludedOnDedicatedServer=ParticleLODLevel 42 | -ClassesExcludedOnDedicatedServer=ParticleModule 43 | -ClassesExcludedOnDedicatedServer=SubUVAnimation 44 | -ClassesExcludedOnDedicatedServer=SoundNode 45 | -ClassesExcludedOnDedicatedServer=GameplayEffectUIData 46 | +ClassesExcludedOnDedicatedServer=WidgetBlueprint 47 | +ClassesExcludedOnDedicatedServer=GroupActor 48 | +ClassesExcludedOnDedicatedServer=MetaData 49 | +ClassesExcludedOnDedicatedServer=ObjectRedirector 50 | +ClassesExcludedOnDedicatedServer=NavMeshRenderingComponent 51 | +ClassesExcludedOnDedicatedServer=ReflectionCaptureComponent 52 | +ClassesExcludedOnDedicatedServer=TextRenderComponent 53 | +ClassesExcludedOnDedicatedServer=Font 54 | +ClassesExcludedOnDedicatedServer=InterpCurveEdSetup 55 | +ClassesExcludedOnDedicatedServer=MaterialExpression 56 | +ClassesExcludedOnDedicatedServer=MatineeActorCameraAnim 57 | +ClassesExcludedOnDedicatedServer=ParticleEmitter 58 | +ClassesExcludedOnDedicatedServer=ParticleLODLevel 59 | +ClassesExcludedOnDedicatedServer=ParticleModule 60 | +ClassesExcludedOnDedicatedServer=SubUVAnimation 61 | +ClassesExcludedOnDedicatedServer=SoundNode 62 | +ClassesExcludedOnDedicatedServer=GameplayEffectUIData 63 | -ClassesExcludedOnDedicatedClient=WidgetBlueprint 64 | -ClassesExcludedOnDedicatedClient=GroupActor 65 | -ClassesExcludedOnDedicatedClient=MetaData 66 | -ClassesExcludedOnDedicatedClient=ObjectRedirector 67 | -ClassesExcludedOnDedicatedClient=InterpCurveEdSetup 68 | -ClassesExcludedOnDedicatedClient=MatineeActorCameraAnim 69 | +ClassesExcludedOnDedicatedClient=WidgetBlueprint 70 | +ClassesExcludedOnDedicatedClient=GroupActor 71 | +ClassesExcludedOnDedicatedClient=MetaData 72 | +ClassesExcludedOnDedicatedClient=ObjectRedirector 73 | +ClassesExcludedOnDedicatedClient=InterpCurveEdSetup 74 | +ClassesExcludedOnDedicatedClient=MatineeActorCameraAnim 75 | DefaultPVRTCQuality=1 76 | DefaultASTCQualityBySpeed=1 77 | DefaultASTCQualityBySize=3 78 | 79 | [/Script/Engine.PhysicsSettings] 80 | DefaultGravityZ=-980.000000 81 | DefaultTerminalVelocity=4000.000000 82 | DefaultFluidFriction=0.300000 83 | SimulateScratchMemorySize=262144 84 | RagdollAggregateThreshold=4 85 | TriangleMeshTriangleMinAreaThreshold=5.000000 86 | bEnableAsyncScene=False 87 | bEnableShapeSharing=False 88 | bEnablePCM=True 89 | bEnableStabilization=False 90 | bWarnMissingLocks=True 91 | bEnable2DPhysics=False 92 | PhysicErrorCorrection=(PingExtrapolation=0.100000,PingLimit=100.000000,ErrorPerLinearDifference=1.000000,ErrorPerAngularDifference=1.000000,MaxRestoredStateError=1.000000,MaxLinearHardSnapDistance=400.000000,PositionLerp=0.000000,AngleLerp=0.400000,LinearVelocityCoefficient=100.000000,AngularVelocityCoefficient=10.000000,ErrorAccumulationSeconds=0.500000,ErrorAccumulationDistanceSq=15.000000,ErrorAccumulationSimilarity=100.000000) 93 | LockedAxis=Invalid 94 | DefaultDegreesOfFreedom=Full3D 95 | BounceThresholdVelocity=200.000000 96 | FrictionCombineMode=Average 97 | RestitutionCombineMode=Average 98 | MaxAngularVelocity=3600.000000 99 | MaxDepenetrationVelocity=0.000000 100 | ContactOffsetMultiplier=0.020000 101 | MinContactOffset=2.000000 102 | MaxContactOffset=8.000000 103 | bSimulateSkeletalMeshOnDedicatedServer=True 104 | DefaultShapeComplexity=CTF_UseSimpleAndComplex 105 | bDefaultHasComplexCollision=True 106 | bSuppressFaceRemapTable=False 107 | bSupportUVFromHitResults=False 108 | bDisableActiveActors=False 109 | bDisableKinematicStaticPairs=False 110 | bDisableKinematicKinematicPairs=False 111 | bDisableCCD=False 112 | bEnableEnhancedDeterminism=False 113 | MaxPhysicsDeltaTime=0.033333 114 | bSubstepping=False 115 | bSubsteppingAsync=False 116 | MaxSubstepDeltaTime=0.016667 117 | MaxSubsteps=6 118 | SyncSceneSmoothingFactor=0.000000 119 | AsyncSceneSmoothingFactor=0.990000 120 | InitialAverageFrameRate=0.016667 121 | PhysXTreeRebuildRate=10 122 | DefaultBroadphaseSettings=(bUseMBPOnClient=False,bUseMBPOnServer=False,MBPBounds=(Min=(X=0.000000,Y=0.000000,Z=0.000000),Max=(X=0.000000,Y=0.000000,Z=0.000000),IsValid=0),MBPNumSubdivs=2) 123 | -------------------------------------------------------------------------------- /Config/DefaultGame.ini: -------------------------------------------------------------------------------- 1 | [/Script/EngineSettings.GeneralProjectSettings] 2 | ProjectID=82343BFD4AA96CCF71E1669B8BB911D4 3 | 4 | [/Script/UnrealEd.ProjectPackagingSettings] 5 | Build=IfProjectHasCode 6 | BuildConfiguration=PPBC_Development 7 | StagingDirectory=(Path="E:/MCC") 8 | FullRebuild=False 9 | ForDistribution=False 10 | IncludeDebugFiles=False 11 | BlueprintNativizationMethod=Disabled 12 | bIncludeNativizedAssetsInProjectGeneration=False 13 | bExcludeMonolithicEngineHeadersInNativizedCode=False 14 | UsePakFile=True 15 | bGenerateChunks=False 16 | bGenerateNoChunks=False 17 | bChunkHardReferencesOnly=False 18 | bBuildHttpChunkInstallData=False 19 | HttpChunkInstallDataDirectory=(Path="") 20 | HttpChunkInstallDataVersion= 21 | IncludePrerequisites=True 22 | IncludeAppLocalPrerequisites=False 23 | bShareMaterialShaderCode=False 24 | bSharedMaterialNativeLibraries=False 25 | ApplocalPrerequisitesDirectory=(Path="") 26 | IncludeCrashReporter=False 27 | InternationalizationPreset=English 28 | -CulturesToStage=en 29 | +CulturesToStage=en 30 | bCookAll=True 31 | bCookMapsOnly=False 32 | bCompressed=True 33 | bEncryptIniFiles=False 34 | bEncryptPakIndex=False 35 | bSkipEditorContent=True 36 | bSkipMovies=True 37 | +DirectoriesToNeverCook=(Path="/Game/Mod/NoCook") 38 | +DirectoriesToNeverCook=(Path="/Game/UI/Shared/Materials") 39 | bNativizeBlueprintAssets=False 40 | bNativizeOnlySelectedBlueprints=False 41 | 42 | 43 | -------------------------------------------------------------------------------- /Content/Mod/NoCook/M_UIPlaceholder.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HiIAmMoot/MCCMenuPatcher/1828e6323b8364ed0caaf251a09c4644e7b69316/Content/Mod/NoCook/M_UIPlaceholder.uasset -------------------------------------------------------------------------------- /Content/Mod/NoCook/StartMap.umap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HiIAmMoot/MCCMenuPatcher/1828e6323b8364ed0caaf251a09c4644e7b69316/Content/Mod/NoCook/StartMap.umap -------------------------------------------------------------------------------- /Content/Mod/NoCook/StartMap_BuiltData.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HiIAmMoot/MCCMenuPatcher/1828e6323b8364ed0caaf251a09c4644e7b69316/Content/Mod/NoCook/StartMap_BuiltData.uasset -------------------------------------------------------------------------------- /Content/Mod/T_MootPic.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HiIAmMoot/MCCMenuPatcher/1828e6323b8364ed0caaf251a09c4644e7b69316/Content/Mod/T_MootPic.uasset -------------------------------------------------------------------------------- /Content/Mod/WBP_MootButton.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HiIAmMoot/MCCMenuPatcher/1828e6323b8364ed0caaf251a09c4644e7b69316/Content/Mod/WBP_MootButton.uasset -------------------------------------------------------------------------------- /Content/Mod/WBP_TestWidget.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HiIAmMoot/MCCMenuPatcher/1828e6323b8364ed0caaf251a09c4644e7b69316/Content/Mod/WBP_TestWidget.uasset -------------------------------------------------------------------------------- /Content/Mod/WBP_TextEntry.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HiIAmMoot/MCCMenuPatcher/1828e6323b8364ed0caaf251a09c4644e7b69316/Content/Mod/WBP_TextEntry.uasset -------------------------------------------------------------------------------- /Content/UI/Shared/Materials/MI_UI_Spinner.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HiIAmMoot/MCCMenuPatcher/1828e6323b8364ed0caaf251a09c4644e7b69316/Content/UI/Shared/Materials/MI_UI_Spinner.uasset -------------------------------------------------------------------------------- /Content/UI/Shared/Widgets/WBP_MCCRetainFocus.uasset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HiIAmMoot/MCCMenuPatcher/1828e6323b8364ed0caaf251a09c4644e7b69316/Content/UI/Shared/Widgets/WBP_MCCRetainFocus.uasset -------------------------------------------------------------------------------- /MCC.uproject: -------------------------------------------------------------------------------- 1 | { 2 | "FileVersion": 3, 3 | "EngineAssociation": "4.21", 4 | "Category": "", 5 | "Description": "", 6 | "Plugins": [ 7 | { 8 | "Name": "Paper2D", 9 | "Enabled": false 10 | }, 11 | { 12 | "Name": "OculusVR", 13 | "Enabled": false 14 | }, 15 | { 16 | "Name": "OnlineSubsystemSteam", 17 | "Enabled": true 18 | }, 19 | { 20 | "Name": "WebBrowserWidget", 21 | "Enabled": true 22 | } 23 | ] 24 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MCCMenuPatcher 2 | 3 | 4 | UE4 4.21 project which serves as an example on how to implement blueprint code through a single asset replacement for Halo the Master Chief Collection. 5 | The pak is created with u4pak: https://github.com/panzi/u4pak 6 | 7 | This works for both the Steam and Windows Store version. For the Windows Store version there's additional steps required which isn't covered here. 8 | 9 | In order to create a pak that can be used in MCC: 10 | 11 | GENERATING THE PATCH 12 | 1. Open the project with UE4 4.21 13 | 2. Under file -> Cook Content for Windows 14 | 3. When content is cooked, go to Saved/Cooked/WindowsNoEditor/MCC/ 15 | 4. Remove everything in said MCC folder except the content folder 16 | 5. Run the MCC folder through u4pak 17 | 6. Rename the pak file to whatever you want but add "_p" to the end of the name 18 | 19 | APPLYING THE PATCH 20 | 1. Browse to the folder where you can find MCC's pak file (Halo the Master Chief Collection/MCC/Content/Paks/) 21 | 2. Create a new folder named ~mods (it can be any name as long as it's precedes the pak file in alphabetical order) 22 | 3. Paste the generated pak file in the ~mods folder 23 | 4. Run MCC with EAC disabled 24 | --------------------------------------------------------------------------------