Compare commits

..

No commits in common. "8880398cbe104cd7e08494381f234b6059cea7be" and "a9a7bc5768f27afcad832fc9144b6f87a4319c3b" have entirely different histories.

46 changed files with 29597 additions and 878 deletions

View File

@ -1,43 +0,0 @@
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

19
.gitignore vendored
View File

@ -1,25 +1,6 @@
.idea .idea
.vs
.vscode
Project/.vs Project/.vs
Project/Intermediate Project/Intermediate
Project/Saved/Logs Project/Saved/Logs
Project/Surgo.sln Project/Surgo.sln
Project/Saved/ShaderDebugInfo Project/Saved/ShaderDebugInfo
Project/Saved/Autosaves
Project/Saved/Config/CrashReportClient
Project/Saved/SourceControl
Project/Saved/Crashes
Project/Saved/Config/WindowsEditor/EditorPerProjectUserSettings.ini
Project/Saved/Cooked
Project/Build/Windows/FileOpenOrder/EditorOpenOrder.log
Project/Saved/Shaders
Project/Saved/MaterialStatsDebug
Project/Saved/MaterialStats
Project/Build/Windows/FileOpenOrder
*.target
Project/Saved/StagedBuilds
Project/Binaries
scripts/system_details.ini
Project/Binaries/Win64/SurgoEditor.target
Project/Binaries/Win64/UnrealEditor.modules

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
{
"BuildId": "3e3997fc-e486-42c7-9be0-aac4c5fe0d4b",
"Modules":
{
"Surgo": "UnrealEditor-Surgo.dll",
"SurgoEditor": "UnrealEditor-SurgoEditor.dll"
}
}

View File

@ -1,36 +0,0 @@
[/Script/EngineSettings.GameMapsSettings]
GlobalDefaultGameMode=/Game/Blueprints/TempGameMode.TempGameMode_C
[Audio]
UseAudioMixer=True
[/Script/HardwareTargeting.HardwareTargetingSettings]
TargetedHardwareClass=Desktop
AppliedTargetedHardwareClass=Desktop
DefaultGraphicsPerformance=Maximum
AppliedDefaultGraphicsPerformance=Maximum
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
!D3D12TargetedShaderFormats=ClearArray
+D3D12TargetedShaderFormats=PCD3D_SM6
[/Script/Engine.RendererSettings]
r.GenerateMeshDistanceFields=True
r.DynamicGlobalIlluminationMethod=1
r.ReflectionMethod=1
r.Shadow.Virtual.Enable=1
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8
r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8
[/Script/WorldPartitionEditor.WorldPartitionEditorSettings]
CommandletClass=Class'/Script/UnrealEd.WorldPartitionConvertCommandlet'
[/Script/Engine.UserInterfaceSettings]
bAuthorizeAutomaticWidgetVariableCreation=False
FontDPIPreset=Standard
FontDPI=72

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

After

Width:  |  Height:  |  Size: 59 KiB

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,7 @@
[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,59 +0,0 @@
[Window][DockSpaceViewport_11111111]
Pos=0,18
Size=1266,628
Collapsed=0
[Window][Settings##Settings]
ViewportPos=1315,389
ViewportId=0x921CC939
Size=302,628
Collapsed=0
DockId=0x00000002,0
[Window][Selection##Selection]
Pos=7,240
Size=142,85
Collapsed=0
[Window][Debug##Default]
Pos=355,41
Size=400,400
Collapsed=0
[Window][Collision Viewer##Collision Viewer]
Pos=681,93
Size=185,382
Collapsed=0
[Window][Metrics##Metrics]
Pos=60,59
Size=170,67
Collapsed=0
[Window][Time Scale##Time Scale]
Pos=428,-58
Size=142,48
Collapsed=0
[Window][Output Log##Output Log]
ViewportPos=1340,471
ViewportId=0x37BEC3A2
Size=972,442
Collapsed=0
[Window][Plots##Plots]
ViewportPos=893,90
ViewportId=0x4546004B
Size=388,274
Collapsed=0
[Docking][Data]
DockNode ID=0x00000002 Pos=1315,389 Size=302,628 HiddenTabBar=1 Selected=0x62EDB289
DockSpace ID=0x8B93E3BD Window=0xA787BDB4 Pos=397,280 Size=1266,628 CentralNode=1
[Cog][Windows]
[Cog][Widgets]
0x348EE4A5 0
0x63A19979 1

View File

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

View File

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

View File

@ -1,7 +0,0 @@
// This is a low-cost header filled mostly with defines or forwards.
// Do not fill this with a bunch of actual definitions.
#include "CogCommon.h"
// Cog Forwards
class UCogWindowManager;

View File

@ -1,34 +0,0 @@
#include "SuGameState.h"
#include "CogAll.h"
#include "CogWindowManager.h"
ASuGameState::ASuGameState()
{
// Enable ticking
PrimaryActorTick.bCanEverTick = true;
PrimaryActorTick.SetTickFunctionEnable(true);
PrimaryActorTick.bStartWithTickEnabled = true;
}
#pragma region GameState
void ASuGameState::BeginPlay()
{
#if ENABLE_COG
CogWindowManager = NewObject<UCogWindowManager>(this);
CogWindowManagerRef = CogWindowManager;
// Add all the built-in windows
Cog::AddAllWindows(*CogWindowManager);
#endif //ENABLE_COG
}
void ASuGameState::Tick(float DeltaSeconds)
{
Super::Tick(DeltaSeconds);
#if ENABLE_COG
CogWindowManager->Tick(DeltaSeconds);
#endif //ENABLE_COG
}
#pragma endregion GameState

View File

@ -1,32 +0,0 @@
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/GameState.h"
#include "SuCommon.h"
#include "SuGameState.generated.h"
UCLASS(BlueprintType)
class SURGO_API ASuGameState : public AGameState
{
GENERATED_BODY()
public:
ASuGameState();
// To make sure it doesn't get garbage collected.
UPROPERTY()
TObjectPtr<UObject> CogWindowManagerRef = nullptr;
#if ENABLE_COG
TObjectPtr<UCogWindowManager> CogWindowManager = nullptr;
#endif // ENABLE_COG
#pragma region GameState
void BeginPlay() override;
void Tick(float DeltaSeconds) override;
#pragma endregion GameState
};

View File

@ -3,8 +3,6 @@ using System.Collections.Generic;
using ModuleRules = UnrealBuildTool.ModuleRules; using ModuleRules = UnrealBuildTool.ModuleRules;
using ReadOnlyTargetRules = UnrealBuildTool.ReadOnlyTargetRules; using ReadOnlyTargetRules = UnrealBuildTool.ReadOnlyTargetRules;
using TargetRules = UnrealBuildTool.TargetRules;
using UnrealTargetConfiguration = UnrealBuildTool.UnrealTargetConfiguration;
public class Surgo : ModuleRules public class Surgo : ModuleRules
{ {
@ -16,43 +14,7 @@ public class Surgo : ModuleRules
}); });
PrivateDependencyModuleNames.AddRange(new string[] { PrivateDependencyModuleNames.AddRange(new string[] {
"Core", "Core",
"AIModule",
"CoreUObject",
"Engine",
"EnhancedInput",
"GameplayAbilities",
"GameplayTags",
"GameplayTasks",
"InputCore",
"NetCore",
"Niagara",
}); });
#endregion Engine #endregion Engine
#region Plugins
if (Target.Configuration != UnrealTargetConfiguration.Shipping && Target.Type != TargetRules.TargetType.Server)
{
PrivateIncludePathModuleNames.AddRange( new string[]
{
"CogCommon",
});
PrivateDependencyModuleNames.AddRange(new string[]
{
// "UE_ImGui",
"CogCommon",
"CogAbility",
"CogAI",
"CogAll",
"CogDebug",
"CogEngine",
"CogImgui",
"CogInput",
"CogWindow",
});
}
#endregion Plugins
PublicIncludePathModuleNames.Add("Surgo");
} }
} }

View File

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

View File

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

View File

@ -8,12 +8,12 @@
{ {
"Name": "Surgo", "Name": "Surgo",
"Type": "Runtime", "Type": "Runtime",
"LoadingPhase": "Default" "LoadingPhase": "PostConfigInit"
}, },
{ {
"Name": "SurgoEditor", "Name": "SurgoEditor",
"Type": "Editor", "Type": "Editor",
"LoadingPhase": "Default" "LoadingPhase": "PostDefault"
} }
], ],
"Plugins": [ "Plugins": [
@ -257,34 +257,6 @@
{ {
"Name": "ModelViewViewModel", "Name": "ModelViewViewModel",
"Enabled": true "Enabled": true
},
{
"Name": "SteamAudio",
"Enabled": true
},
{
"Name": "Cog",
"Enabled": true
},
{
"Name": "CogAbility",
"Enabled": true
},
{
"Name": "CogAI",
"Enabled": true
},
{
"Name": "CogInput",
"Enabled": true
},
{
"Name": "CogAll",
"Enabled": true
},
{
"Name": "GameplayAbilities",
"Enabled": true
} }
], ],
"TargetPlatforms": [ "TargetPlatforms": [

View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

2
UE

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

Binary file not shown.

View File

@ -1,91 +0,0 @@
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'
$feditor_log = '-log'
$fubt_project = '-project'
$fubt_projectfiles = '-projectfiles'
$fubt_game = '-game'
$fubt_engine = '-engine'
$fubt_progress = '-progress'
$ue_editor = join-path $path_ue Engine\Binaries\Win64\UnrealEditor.exe
$UAT = join-path $path_ue '\Engine\Build\BatchFiles\RunUAT.bat'
$UBT = join-path $path_ue 'Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe'
$surgo_uproject = join-path $path_project 'Surgo.uproject'
$UAT_BuildCookRun = 'BuildCookRun'
$UAT_BuildGame = 'BuildGame'
$UAT_BuildTarget = 'BuildTarget'
$fUAT_unattended = '-unattended'
$fUAT_configuration = '-configuration'
$fUAT_no_tools = '-notools'
$fUAT_no_xge = '-NoXGE'
$fUAT_disable_unity = '-DisableUnity'
$fUAT_for_unity_builds = '-ForceUnity'
$fUAT_target_platform = '-targetplatform'
$fUAT_server_target_platform = '-servertargetplatform'
$fUAT_package_target = '-package'
$fUAT_skip_package_target = '-skippackage'
$fUAT_never_package_target = '-neverpackage'
$fUAT_project = '-project'
$fUAT_clean = '-clean'
$fUAT_build = '-build'
$fUAT_cook = '-cook'
$fUAT_cook_on_the_fly_streaming = '-cookontheflystreaming'
$fUAT_cook_all = '-CookAll'
$fUAT_cook_maps_only = '-CookMapsOnly'
$fUAT_stage_prequisites = '-prereqs'
$fUAT_stage = '-stage'
$fUAT_run = '-run'
$fUAT_rehydrate_assets = '-rehydrateassets' # Downloads assets that are only referenced virtually
$fUAT_archive = '-archive'
$fUAT_skip_cook = '-skipcook'
$fUAT_skip_cook_on_the_fly = '-skipcookonthefly'
$fUAT_skip_stage = '-skipstage'
$fUAT_generate_pak = '-pak'
$fUAT_pak_align_for_memory_mapping = '-PakAlignForMemoryMapping'
$fUAT_map_to_run = '-map'
$fUAT_server_map_additional_params = '-AdditionalServerMapParams'
$fUAT_distibute = '-distribute'
$fUAT_deploy = '-deploy'
# Build-Cook-Run combo
$fUAT_bcr_server_target = '-dedicatedserver'
$fUAT_bcr_client_target = '-client'
$fUAT_run_just_server = '-noclient'
$fUAT_client_open_log = '-logwindow'
$fUAT_skip_server = '-skipserver'
# Push-Location $path_ue
Push-Location $path_project
$UAT_args = @()
$UAT_args += $UAT_BuildCookRun
$UAT_args += "$fUAT_project=$surgo_uproject"
$UAT_args += $fUAT_build
$UAT_args += $fUAT_cook
$UAT_args += $fUAT_cook_all
$UAT_args += $fUAT_stage
& $UAT $UAT_args
Pop-Location

View File

@ -1,15 +0,0 @@
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'
$ue_editor = join-path $path_ue 'Engine\Binaries\Win64\UnrealEditor.exe'
$surgo_uproject = join-path $path_project 'Surgo.uproject'
$feditor_log = '-log'
& $ue_editor $surgo_uproject $feditor_log

View File

@ -1,51 +0,0 @@
# 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 -Confirm:$false
}

View File

@ -1,23 +0,0 @@
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'
$UAT = join-path $path_ue '\Engine\Build\BatchFiles\RunUAT.bat'
Push-Location $path_ueHordeServer
& $UAT BuildGraph -Script="Engine/Source/Programs/Horde/BuildHorde.xml" -Target="Build HordeServer"
Pop-Location

View File

@ -1,25 +0,0 @@
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'
$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,28 +0,0 @@
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

@ -0,0 +1,3 @@
[CPU]
PhysicalCores=16
LogicalCores=32

View File

@ -1,27 +0,0 @@
$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'
$UbaAgent = join-path $path_ue 'Engine\Binaries\Win64\UnrealBuildAccelerator\x64\UbaAgent.exe'
$uba_quic = '-quic'
$uba_host = '-host'
$uba_listen = '-listen'
$uba_name = '-name'
$uba_no_poll = '-no_poll'
$uba_store_raw = '-storeraw'
$uba_max_cpu = '-maxcpu'
$uba_mul_cpu = '-mulcpu'
$uba_memwait = '-maxwait'
$uba_zone = '-zone'
$args = @()
# $args += "$uba_host=192.168.1.148"
$args += $uba_listen
# $args += "$uba_mul_cpu=2.0"
# $args += $uba_quic
# $args += $
& $UbaAgent $args

View File

@ -1,18 +1,35 @@
clear-host clear-host
$path_scripts = $PSScriptRoot $path_scripts = $PSScriptRoot
$path_helpers = join-path $path_scripts 'helpers'
$path_root = split-path -Parent -Path $path_scripts $path_root = split-path -Parent -Path $path_scripts
$ini_parser = join-path $path_helpers 'ini.ps1' $ini_parser = join-path $PSScriptRoot 'helpers/ini.ps1'
. $ini_parser . $ini_parser
write-host 'ini.ps1 imported' write-host 'ini.ps1 imported'
$misc = join-path $path_helpers 'misc.ps1' $path_system_details = join-path $path_scripts 'system_details.ini'
. $misc if ( test-path $path_system_details ) {
write-host 'misc.ps1 imported' $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"
$path_ue = join-path $path_root 'UE' $path_ue = join-path $path_root 'UE'
$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'
$git_commit_depth = 1 $git_commit_depth = 1
@ -26,38 +43,41 @@ $flag_recursive = '--recursive'
$flag_shallow_submodules = '--shallow-submodules' $flag_shallow_submodules = '--shallow-submodules'
$flag_single_branch = '--single-branch' $flag_single_branch = '--single-branch'
if ((test-path $path_ue) -eq $false) {
new-item -Type Directory $path_ue
}
push-location $path_ue push-location $path_ue
write-host
$path_ue_git = join-path $path_ue '.git' function invoke-git {
# If its a clean project, need to do first-time setup param (
if ((test-path $path_ue_git) -eq $false) $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
# }
}
if ((test-path $path_ue) -eq $false)
{ {
write-host 'UE not found, pulling...' new-item -Type Directory $path_ue
$url_ue_repo = 'https://github.com/EpicGames/UnrealEngine.git' $clone_5_4 = @()
$ue_branch_5_3 = '5.3' $clone_5_4 += 'clone'
$ue_branch_5_4 = '5.4' $clone_5_4 += $flag_progress
$ue_branch_release = 'release' $clone_5_4 += @($flag_origin, $ue_origin_offical)
$ue_branch_main = 'ue5-main' $clone_5_4 += @($flag_branch, $ue_branch_5_4)
$ue_origin_offical = 'EpicGames' $clone_5_4 += $ue_repo_url
$clone_5_4 += @($flag_commit_depth, $git_commit_depth)
$clone_ue = @() $clone_5_4 += $flag_single_branch
$clone_ue += 'clone' $clone_5_4 += @($flag_jobs, $CoreCount_Physical)
$clone_ue += $flag_progress $clone_5_4 += $flag_shallow_submodules
$clone_ue += @($flag_origin, $ue_origin_offical) $clone_5_4 += $path_ue
$clone_ue += @($flag_branch, $ue_branch_5_4) invoke-git $clone_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 = @()
$init_submodules += 'submodule' $init_submodules += 'submodule'
@ -68,269 +88,9 @@ if ((test-path $path_ue_git) -eq $false)
$init_submodules += @($flag_jobs, $CoreCount_Physical) $init_submodules += @($flag_jobs, $CoreCount_Physical)
$init_submodules += $flag_single_branch $init_submodules += $flag_single_branch
invoke-git $init_submodules invoke-git $init_submodules
write-host "UE repo updated`n"
}
else {
write-host "Found existing UE repo, manage manually for updates`n"
} }
function Process-UnrealDeps & .\setup.bat
{
write-host 'Processing Unreal Deps...'
$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"
$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 = @()
$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'
$exclude_list += $ue_plugin_Avalanche
$exclude_list += $ue_plugin_Harmonix
$exclude_list += $ue_plugin_GooglePAD
$exclude_list += $ue_plugin_StormSyncAvalancheBridge
$exclude_list += $ue_plugin_OnlineSubsystemFacebook
$exclude_list += $ue_plugin_OnlineSubsystemGoogle
$setup_args = @()
foreach ($entry in $exclude_list) {
$setup_args += "$fgitdep_exclude=$entry"
if (verify-path $entry) {
# remove-item $entry -Recurse
}
}
$setup_args += "$fgitdep_cache=$path_gitdeps_cache"
# $setup_args += $fgitdep_dryrun
# $path_setup_log = 'setup_log.txt'
# $output = Start-Process -FilePath "cmd.exe" -ArgumentList "/c .\Setup.bat $setup_args" -Wait -PassThru -NoNewWindow -RedirectStandardOutput $path_setup_log
# & .\Setup.bat $setup_arg
& .\Setup.bat
# $path_templates = join-path $path_ue 'Templates'
# remove-item $path_templates -Recurse
# 'Deleted UE templates (grab them manually if want)'
write-host "Finished processing unreal deps`n"
}
Process-UnrealDeps
$ue_plugins_surgo = join-path $path_ue 'Engine\Plugins\Surgo'
verify-path $ue_plugins_surgo
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 -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)))
if ($add_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 -Confirm:$false
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-ip $url_Cog $path_cog_zip $ue_plugins_surgo
remove-item $path_cog_zip -Confirm:$false
}
write-host
}
setup-cog
function setup-tracy
{
# TODO(Ed): Eventually add
$url_ue_tracy = 'https://github.com/Nesquick0/TracyUnrealPlugin.git'
}
# setup_tracy
& .\GenerateProjectFiles.bat & .\GenerateProjectFiles.bat
pop-location # $path_ue pop-location # $path_ue