Added regen_solutions.ps1, added to update_deps.ps1: imgui/cog/steamaduio into engine

SteamAudio seems to be working fine.
UE_Imgui/Cog are having some issues...
This commit is contained in:
Edward R. Gonzalez 2024-04-09 16:35:54 -04:00
parent 41a5dccab4
commit 1a2d8582f4
27 changed files with 1880 additions and 699 deletions

43
.editorconfig Normal file
View File

@ -0,0 +1,43 @@
root = true
[*]
charset = utf-8
indent_style = tab
indent_size = 4
tab_width = 4
trim_trailing_whitespace = false
max_line_length = 150
# MSBuild
[*.{csproj,proj,projitems,shproj,fsproj,target,props}]
indent_style = space
indent_size = 2
# XML config files
[*.{config,nuspec,resx,natvis}]
indent_style = space
indent_size = 2
[*.{h, c, hpp, cpp}]
indent_style = tab
indent_size = 4
[*.{ps1, psm1}]
indent_style = tab
indent_size = 4
[*.md]
indent_style = space
indent_size = 4
[*.{natvis, natstepfilter}]
indent_style = tab
indent_size = 4
# Settings for Verse source files
[*.{verse,versetest}]
indent_style = space
indent_size = 4
tab_width = 4
max_line_length = off

4
.gitignore vendored
View File

@ -1,6 +1,10 @@
.idea
.vs
.vscode
Project/.vs
Project/Intermediate
Project/Saved/Logs
Project/Surgo.sln
Project/Saved/ShaderDebugInfo
Project/Saved/Autosaves
Project/Saved/Config/CrashReportClient

View File

@ -18,7 +18,7 @@
"IsLicenseeVersion": 0,
"IsPromotedBuild": 0,
"BranchName": "UE5",
"BuildId": "3e3997fc-e486-42c7-9be0-aac4c5fe0d4b"
"BuildId": "dfcc88ea-e8aa-447f-94cf-14ba7a159c63"
},
"BuildProducts": [
{
@ -4537,6 +4537,26 @@
"Path": "$(EngineDir)/Plugins/Runtime/AudioWidgets/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/DataRegistry/Binaries/Win64/UnrealEditor-DataRegistry.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/DataRegistry/Binaries/Win64/UnrealEditor-DataRegistry.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/DataRegistry/Binaries/Win64/UnrealEditor-DataRegistryEditor.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/DataRegistry/Binaries/Win64/UnrealEditor-DataRegistryEditor.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/DataRegistry/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Database/SQLiteCore/Binaries/Win64/UnrealEditor-SQLiteCore.dll",
"Type": "DynamicLibrary"
@ -4569,6 +4589,26 @@
"Path": "$(EngineDir)/Plugins/Runtime/GameInput/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/GameplayAbilities/Binaries/Win64/UnrealEditor-GameplayAbilities.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/GameplayAbilities/Binaries/Win64/UnrealEditor-GameplayAbilities.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/GameplayAbilities/Binaries/Win64/UnrealEditor-GameplayAbilitiesEditor.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/GameplayAbilities/Binaries/Win64/UnrealEditor-GameplayAbilitiesEditor.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/GameplayAbilities/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/GeometryProcessing/Binaries/Win64/UnrealEditor-DynamicMesh.dll",
"Type": "DynamicLibrary"
@ -4897,6 +4937,26 @@
"Path": "$(EngineDir)/Plugins/Runtime/Spatialization/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamAudio/Binaries/Win64/UnrealEditor-SteamAudio.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamAudio/Binaries/Win64/UnrealEditor-SteamAudio.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamAudio/Binaries/Win64/UnrealEditor-SteamAudioEditor.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamAudio/Binaries/Win64/UnrealEditor-SteamAudioEditor.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamAudio/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamController/Binaries/Win64/UnrealEditor-SteamController.dll",
"Type": "DynamicLibrary"
@ -5009,6 +5069,118 @@
"Path": "$(EngineDir)/Plugins/Slate/SlateScripting/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAI/Binaries/Win64/UnrealEditor-CogAI.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAI/Binaries/Win64/UnrealEditor-CogAI.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAI/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAbility/Binaries/Win64/UnrealEditor-CogAbility.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAbility/Binaries/Win64/UnrealEditor-CogAbility.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAbility/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAll/Binaries/Win64/UnrealEditor-CogAll.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAll/Binaries/Win64/UnrealEditor-CogAll.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAll/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogInput/Binaries/Win64/UnrealEditor-CogInput.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogInput/Binaries/Win64/UnrealEditor-CogInput.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogInput/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogCommon.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogCommon.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogDebug.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogDebug.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogDebugEditor.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogDebugEditor.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogEngine.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogEngine.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogImgui.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogImgui.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogWindow.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor-CogWindow.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/UE_ImGui/Binaries/Win64/UnrealEditor-UE_ImGui.dll",
"Type": "DynamicLibrary"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/UE_ImGui/Binaries/Win64/UnrealEditor-UE_ImGui.pdb",
"Type": "SymbolFile"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/UE_ImGui/Binaries/Win64/UnrealEditor.modules",
"Type": "RequiredResource"
},
{
"Path": "$(EngineDir)/Plugins/VirtualProduction/Takes/Binaries/Win64/UnrealEditor-CacheTrackRecorder.dll",
"Type": "DynamicLibrary"
@ -28323,6 +28495,10 @@
"Path": "$(EngineDir)/Plugins/Runtime/AudioWidgets/AudioWidgets.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/DataRegistry/DataRegistry.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Database/SQLiteCore/SQLiteCore.uplugin",
"Type": "UFS"
@ -28331,6 +28507,10 @@
"Path": "$(EngineDir)/Plugins/Runtime/GameInput/GameInput.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/GameplayAbilities/GameplayAbilities.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/GeometryProcessing/GeometryProcessing.uplugin",
"Type": "UFS"
@ -28387,6 +28567,22 @@
"Path": "$(EngineDir)/Plugins/Runtime/Spatialization/Spatialization.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamAudio/Source/SteamAudioSDK/lib/windows-x64/GPUUtilities.dll",
"Type": "NonUFS"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamAudio/Source/SteamAudioSDK/lib/windows-x64/TrueAudioNext.dll",
"Type": "NonUFS"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamAudio/Source/SteamAudioSDK/lib/windows-x64/phonon.dll",
"Type": "NonUFS"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamAudio/SteamAudio.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Runtime/Steam/SteamController/SteamController.uplugin",
"Type": "UFS"
@ -28419,6 +28615,30 @@
"Path": "$(EngineDir)/Plugins/Slate/SlateScripting/SlateScripting.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAI/CogAI.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAbility/CogAbility.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogAll/CogAll.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/CogInput/CogInput.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/Cog/Cog.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/Surgo/UE_ImGui/UE_ImGui.uplugin",
"Type": "UFS"
},
{
"Path": "$(EngineDir)/Plugins/VirtualProduction/Takes/Takes.uplugin",
"Type": "UFS"
@ -28433,6 +28653,11 @@
"AudioWidgets",
"BlueprintMaterialTextureNodes",
"CodeView",
"Cog",
"CogAI",
"CogAbility",
"CogAll",
"CogInput",
"ConcertMain",
"ConcertSyncClient",
"ConcertSyncCore",
@ -28440,10 +28665,12 @@
"ContentBrowserAssetDataSource",
"ContentBrowserClassDataSource",
"ContentBrowserFileDataSource",
"DataRegistry",
"EngineAssetDefinitions",
"EnhancedInput",
"GameInput",
"GameInputWindows",
"GameplayAbilities",
"GameplayTagsEditor",
"GeometryProcessing",
"InputDebugging",
@ -28485,11 +28712,13 @@
"SoundMod",
"SoundUtilities",
"Spatialization",
"SteamAudio",
"SteamController",
"SteamShared",
"StructUtils",
"Takes",
"TextureFormatOodle",
"UE_ImGui",
"VariantManager",
"VariantManagerContent",
"WaveTable",

View File

@ -1,5 +1,5 @@
{
"BuildId": "3e3997fc-e486-42c7-9be0-aac4c5fe0d4b",
"BuildId": "dfcc88ea-e8aa-447f-94cf-14ba7a159c63",
"Modules":
{
"Surgo": "UnrealEditor-Surgo.dll",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 130 B

View File

@ -0,0 +1,3 @@
[ConsoleHistory]
History=Cog.ToggleInput

View File

@ -1,7 +0,0 @@
[CrashReportClient]
bHideLogFilesOption=false
bIsAllowedToCloseWithoutSending=true
CrashConfigPurgeDays=2
Stall.RecordDump=false
Ensure.RecordDump=true

View File

@ -1,7 +0,0 @@
[CrashReportClient]
bHideLogFilesOption=false
bIsAllowedToCloseWithoutSending=true
CrashConfigPurgeDays=2
Stall.RecordDump=false
Ensure.RecordDump=true

View File

@ -1,7 +0,0 @@
[CrashReportClient]
bHideLogFilesOption=false
bIsAllowedToCloseWithoutSending=true
CrashConfigPurgeDays=2
Stall.RecordDump=false
Ensure.RecordDump=true

View File

@ -1,7 +0,0 @@
[CrashReportClient]
bHideLogFilesOption=false
bIsAllowedToCloseWithoutSending=true
CrashConfigPurgeDays=2
Stall.RecordDump=false
Ensure.RecordDump=true

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
<BuildConfiguration>
<bAllowUBAExecutor>true</bAllowUBAExecutor>
<bAllowUBALocalExecuter>true</bAllowUBALocalExecuter>
</BuildConfiguration>
</Configuration>

View File

@ -9,5 +9,7 @@ public class SurgoTarget : TargetRules
{
Type = TargetType.Game;
DefaultBuildSettings = BuildSettingsVersion.Latest;
ExtraModuleNames.Add("Surgo");
}
}

View File

@ -16,5 +16,7 @@ public class Surgo : ModuleRules
"Core",
});
#endregion Engine
PublicIncludePathModuleNames.Add("Surgo");
}
}

View File

@ -10,5 +10,8 @@ public class SurgoEditorTarget : TargetRules
Type = TargetType.Editor;
DefaultBuildSettings = BuildSettingsVersion.Latest;
ExtraModuleNames.Add("Surgo");
ExtraModuleNames.Add("SurgoEditor");
}
}

View File

@ -13,5 +13,7 @@ public class SurgoEditor : ModuleRules
"Core",
});
#endregion Engine
PublicIncludePathModuleNames.Add("Surgo");
}
}

View File

@ -257,6 +257,34 @@
{
"Name": "ModelViewViewModel",
"Enabled": true
},
{
"Name": "SteamAudio",
"Enabled": true
},
{
"Name": "UE_ImGui",
"Enabled": true
},
{
"Name": "Cog",
"Enabled": true
},
{
"Name": "CogAbility",
"Enabled": true
},
{
"Name": "CogAI",
"Enabled": true
},
{
"Name": "CogAll",
"Enabled": true
},
{
"Name": "CogInput",
"Enabled": true
}
],
"TargetPlatforms": [

3
Readme.md Normal file
View File

@ -0,0 +1,3 @@
# Surgo
Just a little prototype horde game.

2
UE

@ -1 +1 @@
Subproject commit e5036d7515a3e1c7dabf3b2bee82a46a7bb31015
Subproject commit 1122347e64530d380353e3045fc12709691e59fe

51
scripts/helpers/misc.ps1 Normal file
View File

@ -0,0 +1,51 @@
# Not a standalone script meant to be used at minimum with update_deps.ps1 in Surgo/Scripts.
$path_system_details = join-path $path_scripts 'system_details.ini'
if ( test-path $path_system_details ) {
$iniContent = Get-IniContent $path_system_details
$CoreCount_Physical = $iniContent["CPU"]["PhysicalCores"]
$CoreCount_Logical = $iniContent["CPU"]["LogicalCores"]
}
elseif ( $IsWindows ) {
$CPU_Info = Get-CimInstance ClassName Win32_Processor | Select-Object -Property NumberOfCores, NumberOfLogicalProcessors
$CoreCount_Physical, $CoreCount_Logical = $CPU_Info.NumberOfCores, $CPU_Info.NumberOfLogicalProcessors
new-item -path $path_system_details -ItemType File
"[CPU]" | Out-File $path_system_details
"PhysicalCores=$CoreCount_Physical" | Out-File $path_system_details -Append
"LogicalCores=$CoreCount_Logical" | Out-File $path_system_details -Append
}
write-host "Core Count - Physical: $CoreCount_Physical Logical: $CoreCount_Logical"
function invoke-git {
param (
$command
)
write-host $command
& git @command
# 2>&1 | ForEach-Object {
# $color = 'Cyan'
# switch ($_){
# { $_ -match "error" } { $color = 'Red' ; break }
# { $_ -match "warning" } { $color = 'Yellow' ; break }
# }
# Write-Host "`t $_" -ForegroundColor $color
# }
}
function verify-git { param( $path )
return test-path (join-path $path '.git')
}
function verify-path { param( $path )
if (test-path $path) {return $true}
new-item -ItemType Directory -Path $path
return $false
}
function grab-zip { param( $url, $path_file, $path_dst )
Invoke-WebRequest -Uri $url -OutFile $path_file
Expand-Archive -Path $path_file -DestinationPath $path_dst
}

View File

@ -0,0 +1,28 @@
Clear-Host
$path_scripts = $PSScriptRoot
$path_helpers = join-path $path_scripts 'helpers'
$path_root = split-path -Parent -Path $path_scripts
$path_ue = join-path $path_root 'UE'
$path_project = join-path $path_root 'Project'
$surgo_uproject = join-path $path_project 'Surgo.uproject'
$UBT = join-path $path_ue 'Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe'
$fubt_project = '-project'
$fubt_projectfiles = '-projectfiles'
$fubt_game = '-game'
$fubt_engine = '-engine'
$fubt_progress = '-progress'
$GenerateProjectFiles = join-path $path_ue 'GenerateProjectFiles.bat'
& $GenerateProjectFiles
$ubt_args = @()
$ubt_args += $fubt_projectfiles
$ubt_args += "$fubt_project=$surgo_uproject"
$ubt_args += $fubt_game
$ubt_args += $fubt_engine
$ubt_args += $fubt_progress
& $UBT $ubt_args

View File

@ -1,36 +1,18 @@
clear-host
$path_scripts = $PSScriptRoot
$path_scripts = $PSScriptRoot
$path_helpers = join-path $path_scripts 'helpers'
$path_root = split-path -Parent -Path $path_scripts
$ini_parser = join-path $PSScriptRoot 'helpers/ini.ps1'
$ini_parser = join-path $path_helpers 'ini.ps1'
. $ini_parser
write-host 'ini.ps1 imported'
$path_system_details = join-path $path_scripts 'system_details.ini'
if ( test-path $path_system_details ) {
$iniContent = Get-IniContent $path_system_details
$CoreCount_Physical = $iniContent["CPU"]["PhysicalCores"]
$CoreCount_Logical = $iniContent["CPU"]["LogicalCores"]
}
elseif ( $IsWindows ) {
$CPU_Info = Get-CimInstance ClassName Win32_Processor | Select-Object -Property NumberOfCores, NumberOfLogicalProcessors
$CoreCount_Physical, $CoreCount_Logical = $CPU_Info.NumberOfCores, $CPU_Info.NumberOfLogicalProcessors
$misc = join-path $path_helpers 'misc.ps1'
. $misc
write-host 'misc.ps1 imported'
new-item -path $path_system_details -ItemType File
"[CPU]" | Out-File $path_system_details
"PhysicalCores=$CoreCount_Physical" | Out-File $path_system_details -Append
"LogicalCores=$CoreCount_Logical" | Out-File $path_system_details -Append
}
write-host "Core Count - Physical: $CoreCount_Physical Logical: $CoreCount_Logical"
$path_ue = join-path $path_root 'UE'
$path_ue_git = join-path $path_ue 'git'
$ue_repo_url = 'https://github.com/EpicGames/UnrealEngine.git'
$ue_branch_5_4 = '5.4'
$ue_branch_release = 'release'
$ue_branch_main = 'ue5-main'
$ue_origin_offical = 'EpicGames'
$path_ue = join-path $path_root 'UE'
$git_commit_depth = 1
@ -44,43 +26,38 @@ $flag_recursive = '--recursive'
$flag_shallow_submodules = '--shallow-submodules'
$flag_single_branch = '--single-branch'
if ((test-path $path_ue) -eq $false)
{
if ((test-path $path_ue) -eq $false) {
new-item -Type Directory $path_ue
}
push-location $path_ue
write-host
function invoke-git {
param (
$command
)
write-host $command
& git @command
# 2>&1 | ForEach-Object {
# $color = 'Cyan'
# switch ($_){
# { $_ -match "error" } { $color = 'Red' ; break }
# { $_ -match "warning" } { $color = 'Yellow' ; break }
# }
# Write-Host "`t $_" -ForegroundColor $color
# }
}
$path_ue_git = join-path $path_ue '.git'
# If its a clean project, need to do first-time setup
if ((test-path $path_ue_git) -eq $false)
{
$clone_5_4 = @()
$clone_5_4 += 'clone'
$clone_5_4 += $flag_progress
$clone_5_4 += @($flag_origin, $ue_origin_offical)
$clone_5_4 += @($flag_branch, $ue_branch_5_4)
$clone_5_4 += $ue_repo_url
$clone_5_4 += @($flag_commit_depth, $git_commit_depth)
$clone_5_4 += $flag_single_branch
$clone_5_4 += @($flag_jobs, $CoreCount_Physical)
$clone_5_4 += $flag_shallow_submodules
$clone_5_4 += $path_ue
invoke-git $clone_5_4
write-host 'UE not found, pulling...'
$url_ue_repo = 'https://github.com/EpicGames/UnrealEngine.git'
$ue_branch_5_3 = '5.3'
$ue_branch_5_4 = '5.4'
$ue_branch_release = 'release'
$ue_branch_main = 'ue5-main'
$ue_origin_offical = 'EpicGames'
$clone_ue = @()
$clone_ue += 'clone'
$clone_ue += $flag_progress
$clone_ue += @($flag_origin, $ue_origin_offical)
$clone_ue += @($flag_branch, $ue_branch_5_4)
$clone_ue += $url_ue_repo
$clone_ue += @($flag_commit_depth, $git_commit_depth)
$clone_ue += $flag_single_branch
$clone_ue += @($flag_jobs, $CoreCount_Physical)
$clone_ue += $flag_shallow_submodules
$clone_ue += $path_ue
invoke-git $clone_ue
$init_submodules = @()
$init_submodules += 'submodule'
@ -91,128 +68,260 @@ if ((test-path $path_ue_git) -eq $false)
$init_submodules += @($flag_jobs, $CoreCount_Physical)
$init_submodules += $flag_single_branch
invoke-git $init_submodules
write-host "UE repo updated`n"
}
else {
write-host "Found existing UE repo, manage manually for updates`n"
}
$fgitdep_cache = '--cache'
$fgitdep_dryrun = '--dry-run'
$fgitdep_include = '--include'
$fgitdep_exclude = '--exclude'
$fgitdep_no_cache = '--no-cache'
$path_gitdeps_cache = "C:/dev/epic/GitDeps"
function Process-UnrealDeps
{
write-host 'Processing Unreal Deps...'
$ue_module_Avalanche = 'Engine/Plugins/Editor/Avalanche'
$ue_module_Harmonix = 'Engine/Plugins/Experimental/Harmonix'
$ue_module_GooglePAD = 'Engine/Plugins/Experimental/GooglePAD'
$ue_module_StormSyncAvalancheBridge = 'Engine/Plugins/Experimental/StormSyncAvalancheBridge'
$ue_module_OnlineSubsystemFacebook = 'Engine/Plugins/Online/OnlineSubsystemFacebook'
$ue_module_OnlineSubsystemGoogle = 'Engine/Plugins/Online/OnlineSubsystemGoogle'
$fgitdep_cache = '--cache'
$fgitdep_dryrun = '--dry-runhttps://github.com/EpicGames/UnrealEngine/tree/5.3'
$fgitdep_include = '--include'
$fgitdep_exclude = '--exclude'
$fgitdep_no_cache = '--no-cache'
$path_gitdeps_cache = "C:/dev/epic/GitDeps"
$exclude_list = @()
$exclude_list += 'WinRT'
$exclude_list += 'Mac'
$exclude_list += 'MacOSX'
$exclude_list += 'osx'
$exclude_list += 'osx64'
$exclude_list += 'osx32'
$exclude_list += 'Android'
$exclude_list += 'IOS'
$exclude_list += 'TVOS'
$exclude_list += 'HTML5'
$exclude_list += 'PS4'
$exclude_list += 'XboxOne'
$exclude_list += 'Switch'
$exclude_list += 'Dingo'
$exclude_list += 'GoogleVR'
$exclude_list += 'LeapMotion'
$exclude_list += 'HoloLens'
$ue_plugin_Avalanche = 'Engine/Plugins/Editor/Avalanche'
$ue_plugin_Harmonix = 'Engine/Plugins/Experimental/Harmonix'
$ue_plugin_StormSyncAvalancheBridge = 'Engine/Plugins/Experimental/StormSyncAvalancheBridge'
$ue_plugin_OnlineSubsystemFacebook = 'Engine/Plugins/Online/OnlineSubsystemFacebook'
$ue_plugin_OnlineSubsystemGoogle = 'Engine/Plugins/Online/OnlineSubsystemGoogle'
$ue_plugin_GooglePAD = 'Engine/Plugins/Runtime/GooglePAD'
# $exclude_list += 'Engine/Plugins/Editor/DisplayClusterLaunch'
$exclude_list = @()
$exclude_list += 'WinRT'
$exclude_list += 'Mac'
$exclude_list += 'MacOSX'
$exclude_list += 'osx'
$exclude_list += 'osx64'
$exclude_list += 'osx32'
$exclude_list += 'Android'
$exclude_list += 'IOS'
$exclude_list += 'TVOS'
$exclude_list += 'HTML5'
$exclude_list += 'PS4'
$exclude_list += 'XboxOne'
$exclude_list += 'Switch'
$exclude_list += 'Dingo'
$exclude_list += 'GoogleVR'
$exclude_list += 'LeapMotion'
$exclude_list += 'HoloLens'
# $exlcude_list += 'Engine/Plugins/Experimental/AR'
$exclude_list += $ue_module_Avalanche
$exclude_list += $ue_module_Harmonix
$exclude_list += $ue_module_GooglePAD
# $exclude_list += 'Engine/Plugins/Experimental/LiveLinkOvernDisplay'
# $exclude_list += 'Engine/Plugins/Experimental/MeshModelingToolset'
# $exclude_list += 'Engine/Plugins/Experimental/Mutable'
# $exclude_list += 'Engine/Plugins/Experimental/ResonanceAudio'
# $exclude_list += 'Engine/Plugins/Experimental/OpenCV'
$exclude_list += $ue_module_StormSyncAvalancheBridge
$exclude_list += $ue_plugin_Avalanche
$exclude_list += $ue_plugin_Harmonix
$exclude_list += $ue_plugin_GooglePAD
$exclude_list += $ue_plugin_StormSyncAvalancheBridge
# $exclude_list += 'Engine/Plugins/Runtime/nDisplay'
# $exclude_list += 'Engine/Plugins/Runtime/nDisplayModularFeatures'
$exclude_list += $ue_plugin_OnlineSubsystemFacebook
$exclude_list += $ue_plugin_OnlineSubsystemGoogle
# $exclude_list += 'Engine/Source/Thirdparty/CEF3'
$setup_args = @()
foreach ($entry in $exclude_list) {
$setup_args += "$fgitdep_exclude=$entry"
# $exclude_list += 'Engine/Plugins/Runtime/LiveLinkOvernDisplay'
if (verify-path $entry) {
remove-item $entry -Recurse
}
}
$setup_args += "$fgitdep_cache=$path_gitdeps_cache"
# $setup_args += $fgitdep_dryrun
# LiveLinkXR is in here...
# $exclude_list += 'VirtualProduction'
# $exclude_list += 'VirtualProductionUtilities'
$path_setup_log = 'setup_log.txt'
& .\Setup.bat $setup_args
# $output = Start-Process -FilePath "cmd.exe" -ArgumentList "/c .\Setup.bat $setup_args" -Wait -PassThru -NoNewWindow -RedirectStandardOutput $path_setup_log
# $exclude_list += 'Engine/Plugins/VirtualProduction'
$path_templates = join-path $path_ue 'Templates'
remove-item $path_templates -Recurse
'Deleted UE templates (grab them manually if want)'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/CameraCalibration'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/CameraCalibrationCore'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/CompositePlane'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/DataCharts'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/DMX'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/EpicStageApp'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/ICVFX'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/ICVFXTesting'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LedWallCalibration'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LensComponent'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LevelSnapshots'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LiveLinkCamera'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LiveLinkFreeD'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LiveLinkInputDevice'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LiveLinkInputLens'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LiveLinkMasterLockit'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LiveLinkPrestonMDR'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LiveLinkVRPN'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/LiveLinkXR'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/MultiUserTakes'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/RemoteControl'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/RemoteControlInterception'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/RemoteControlProtocolIDMX'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/RemoteControlProtocolIMIDI'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/RemoteControlProtocolIOSC'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/RemoteControlWebInterface'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/Rivermax'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/SequencePlaylists'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/StageMonitoring'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/Switchboard'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/Takes'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/TextureShare'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/TimedDataMonitor'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/VirtualCamera'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/VirtualCameraCore'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/VPRoles'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProduction/VPSettings'
# $exclude_list += 'Engine/Plugins/Experimental/VirtualProductionUtilities'
$exclude_list += $ue_module_OnlineSubsystemFacebook
$exclude_list += $ue_module_OnlineSubsystemGoogle
$setup_args = @()
foreach ($entry in $exclude_list) {
$setup_args += "$fgitdep_exclude=$entry"
# remove-item $entry -Recurse
write-host "Finished processing unreal deps`n"
}
$setup_args += "$fgitdep_cache=$path_gitdeps_cache"
# $setup_args += $fgitdep_dryrun
Process-UnrealDeps
$ue_plugins_surgo = join-path $path_ue 'Engine\Plugins\Surgo'
verify-path $ue_plugins_surgo
$path_setup_log = 'setup_log.txt'
& .\Setup.bat $setup_args
# $output = Start-Process -FilePath "cmd.exe" -ArgumentList "/c .\Setup.bat $setup_args" -Wait -PassThru -NoNewWindow -RedirectStandardOutput $path_setup_log
function setup-fmod
{
$ue_module_FMODStudio = join-path $path_ue '\Engine\Plugins\FMODStudio'
$ue_module_FMODStudioNiagara = join-path $path_ue '\Engine\Plugins\FMODStudioNiagara'
$url_fmod = 'https://github.com/fmod/fmod-for-unreal.git'
$clone_repo = @()
$clone_repo += 'clone'
$clone_repo += $flag_progress
$clone_repo += @($flag_origin, 'fmod')
$clone_repo += @($flag_branch, 'master')
$clone_repo += $url_steamaudio
$clone_repo += $flag_single_branch
$clone_repo += @($flag_jobs, $CoreCount_Physical)
$clone_repo += $ue_module_SteamAudio
invoke-git $clone_repo
}
# setup-fmod
function setup-steamaudio
{
$ue_plugin_Steam = join-path $path_ue 'Engine\Plugins\Runtime\Steam'
$ue_plugin_SteamAudio = join-path $path_ue 'Engine\Plugins\Runtime\Steam\SteamAudio'
$ue_plugin_SteamAudioFMODStudio = join-path $path_ue 'Engine\Plugins\Runtime\Steam\SteamAudioFMODStudio'
if ($false) {
if (verify-git $ue_plugin_SteamAudio ) {
write-host "Steam Audio repo found, manage manually for updates`n"
return
}
write-host 'Grabbing Steam Audio repo'
remove-item -Path "$ue_plugin_SteamAudio\*" -Recurse -Confirm:$false
$url_steamaudio = 'https://github.com/ValveSoftware/steam-audio.git'
$clone_repo = @()
$clone_repo += 'clone'
$clone_repo += $flag_progress
$clone_repo += @($flag_origin, 'ValveSoftware')
$clone_repo += @($flag_branch, 'master')
$clone_repo += $url_steamaudio
$clone_repo += $flag_single_branch
$clone_repo += @($flag_jobs, $CoreCount_Physical)
$clone_repo += $ue_plugin_SteamAudio
invoke-git $clone_repo
}
else {
write-host 'Grabbing Steam Audio zip'
remove-item -Path $ue_plugin_SteamAudio -Recurse -Confirm:$false
$url_steamaudio = 'https://github.com/ValveSoftware/steam-audio/releases/download/v4.5.3/steamaudio_unreal_4.5.3.zip'
$path_steamaudio_zip = join-path $ue_plugin_Steam 'steamaudio_unreal_4.5.3.zip'
grab-zip $url_steamaudio $path_steamaudio_zip $ue_plugin_Steam
# Engine\Plugins\Runtime\Steam\steamaudio_unreal\unreal\SteamAudio
$path_steamaudio_unreal = join-path $ue_plugin_Steam 'steamaudio_unreal'
$path_steamaudio_unreal_SteamAudio = join-path $path_steamaudio_unreal 'unreal\SteamAudio'
# $ue_binaries_SteamFMODStudio = join-path $path_steamaudio_unreal 'FMODStudio'
# remove-item -Type Directory $ue_binaries_SteamFMODStudio -Recurse -Confirm:$false
move-item -Path $path_steamaudio_unreal_SteamAudio -Destination $ue_plugin_Steam -Force -Confirm:$false
remove-item $path_steamaudio_unreal -Recurse -Confirm:$false
remove-item $path_steamaudio_zip -Confirm:$false
}
write-host
}
setup-steamaudio
function setup-imgui
{
$ue_plugin_VesCodesImGui = join-path $path_ue 'Engine\Plugins\Surgo\UE_ImGui'
$ue_plugin_ImGui = join-path $path_ue 'Engine\Plugins\Surgo\UnrealImGui'
$ue_plugin_ImGuiTools = join-path $path_ue 'Engine\Plugins\Surgo\UnrealImGuiTools'
$add_VesCodesImGui = $true
$add_UnrealImGui = $false
$add_UnrealImGuiTools = $false
if ($add_VesCodesImGui -and (-not (verify-git $ue_plugin_VesCodesImGui)))
{
write-host 'Grabbing VesCodes ImGui repo'
verify-path $ue_plugin_VesCodesImGui
$url_VesCodesImGui = 'https://github.com/Ed94/UE_ImGui.git'
$clone_imgui = @()
$clone_imgui += 'clone'
$clone_imgui += $flag_progress
$clone_imgui += @($flag_origin, 'Ed94')
$clone_imgui += @($flag_branch, 'Main')
$clone_imgui += $url_VesCodesImGui
$clone_imgui += $flag_single_branch
$clone_imgui += @($flag_jobs, $CoreCount_Physical)
$clone_imgui += $ue_plugin_VesCodesImGui
invoke-git $clone_imgui
$path_engine_thirdparty = Join-Path $path_ue 'Engine/Source/Thirdparty'
$path_VescodesImGui_thirdparty = join-path $ue_plugin_VesCodesImGui 'Source/Thirdparty'
Move-Item -Path "$path_VescodesImGui_thirdparty\*" -Destination $path_engine_thirdparty
Remove-Item -Path $path_VescodesImGui_thirdparty -Recurse -Confirm:$false
}
if ($add_UnrealImGui -and (-not (verify-git $ue_plugin_ImGui)))
{
write-host 'Grabbing UnrealImGui repo'
verify-path $ue_plugin_ImGui
$url_UnrealImGui = 'https://github.com/Ed94/UnrealImGui.git'
$clone_imgui = @()
$clone_imgui += 'clone'
$clone_imgui += $flag_progress
$clone_imgui += @($flag_origin, 'Ed94')
$clone_imgui += @($flag_branch, 'master')
$clone_imgui += $url_UnrealImGui
$clone_imgui += $flag_single_branch
$clone_imgui += @($flag_jobs, $CoreCount_Physical)
$clone_imgui += $ue_plugin_ImGui
invoke-git $clone_imgui
}
if ($add_UnrealImGuiTools -and (-not (verify-git $ue_plugin_ImGuiTools)))
{
write-host 'Grabbing UnrealImGuiTools repo'
verify-path $ue_plugin_ImGuiTools
$url_UnrealImGuiTools = 'https://github.com/nakdeyes/UnrealImGuiTools.git'
$clone_imguitools = @()
$clone_imguitools += 'clone'
$clone_imguitools += $flag_progress
$clone_imguitools += @($flag_origin, 'nakdeyes')
$clone_imguitools += @($flag_branch, 'main')
$clone_imguitools += $url_UnrealImGuiTools
$clone_imguitools += $flag_single_branch
$clone_imguitools += @($flag_jobs, $CoreCount_Physical)
$clone_imguitools += $ue_plugin_ImGuiTools
invoke-git $clone_imguitools
}
write-host
}
setup-imgui
function setup-cog
{
$ue_plugin_Cog = join-path $path_ue 'Engine\Plugins\Surgo\Cog'
if ($false) {
write-host 'Grabbing Cog repo'
if (verify-git $ue_plugin_Cog) {return}
verify-path $ue_plugin_Cog
$url_Cog = 'https://github.com/arnaud-jamin/Cog.git'
$clone_cog = @()
$clone_cog += 'clone'
$clone_cog += $flag_progress
$clone_cog += @($flag_origin, 'arnaud-jamin')
$clone_cog += @($flag_branch, 'main')
$clone_cog += $url_Cog
$clone_cog += $flag_single_branch
$clone_cog += @($flag_jobs, $CoreCount_Physical)
$clone_cog += $ue_plugin_Cog
invoke-git $clone_cog
}
else {
write-host 'Grabbing Cog zip'
$url_Cog = 'https://github.com/Ed94/Cog/releases/download/latest/Cog.zip'
$path_cog_zip = join-path $ue_plugins_surgo 'Cog.zip'
grab-zip $url_Cog $path_cog_zip $ue_plugins_surgo
remove-item $path_cog_zip -Confirm:$false
}
write-host
}
setup-cog
& .\GenerateProjectFiles.bat
$path_templates = join-path $path_ue 'Templates'
remove-item $path_templates
pop-location # $path_ue