diff --git a/.gitignore b/.gitignore index dcf777f..104e7a3 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,12 @@ 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 diff --git a/scripts/build_sanity.ps1 b/scripts/build_sanity.ps1 new file mode 100644 index 0000000..2dd8eb4 --- /dev/null +++ b/scripts/build_sanity.ps1 @@ -0,0 +1,91 @@ +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 diff --git a/scripts/helpers/misc.ps1 b/scripts/helpers/misc.ps1 index 131e8b1..cf4a591 100644 --- a/scripts/helpers/misc.ps1 +++ b/scripts/helpers/misc.ps1 @@ -47,5 +47,5 @@ function verify-path { param( $path ) function grab-zip { param( $url, $path_file, $path_dst ) Invoke-WebRequest -Uri $url -OutFile $path_file - Expand-Archive -Path $path_file -DestinationPath $path_dst + Expand-Archive -Path $path_file -DestinationPath $path_dst -Confirm:$false } diff --git a/scripts/horde_build.ps1 b/scripts/horde_build.ps1 new file mode 100644 index 0000000..f8d062f --- /dev/null +++ b/scripts/horde_build.ps1 @@ -0,0 +1,23 @@ +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 diff --git a/scripts/regen_project.ps1 b/scripts/regen_project.ps1 new file mode 100644 index 0000000..45ff75a --- /dev/null +++ b/scripts/regen_project.ps1 @@ -0,0 +1,25 @@ +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 diff --git a/scripts/regen_solutions.ps1 b/scripts/regen_solutions.ps1 index dbc0877..58a55c9 100644 --- a/scripts/regen_solutions.ps1 +++ b/scripts/regen_solutions.ps1 @@ -8,7 +8,7 @@ $path_project = join-path $path_root 'Project' $surgo_uproject = join-path $path_project 'Surgo.uproject' -$UBT = join-path $path_ue 'Engine\Binaries\Win64\UnrealEditor.exe' +$UBT = join-path $path_ue 'Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe' $fubt_project = '-project' $fubt_projectfiles = '-projectfiles' diff --git a/scripts/update_deps.ps1 b/scripts/update_deps.ps1 index 3635f16..7adcdc9 100644 --- a/scripts/update_deps.ps1 +++ b/scripts/update_deps.ps1 @@ -125,18 +125,19 @@ function Process-UnrealDeps $setup_args += "$fgitdep_exclude=$entry" if (verify-path $entry) { - remove-item $entry -Recurse + # remove-item $entry -Recurse } } $setup_args += "$fgitdep_cache=$path_gitdeps_cache" # $setup_args += $fgitdep_dryrun $path_setup_log = 'setup_log.txt' - & .\Setup.bat $setup_args + # & .\Setup.bat $setup_arg + & .\Setup.bat # $output = Start-Process -FilePath "cmd.exe" -ArgumentList "/c .\Setup.bat $setup_args" -Wait -PassThru -NoNewWindow -RedirectStandardOutput $path_setup_log - $path_templates = join-path $path_ue 'Templates' - remove-item $path_templates -Recurse + # $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" @@ -207,7 +208,7 @@ function setup-steamaudio $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 + 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 } @@ -225,7 +226,8 @@ function setup-imgui $add_UnrealImGui = $false $add_UnrealImGuiTools = $false - if ($add_VesCodesImGui -and (-not (verify-git $ue_plugin_VesCodesImGui))) + # if ($add_VesCodesImGui -and (-not (verify-git $ue_plugin_VesCodesImGui))) + if ($add_VesCodesImGui) { write-host 'Grabbing VesCodes ImGui repo' verify-path $ue_plugin_VesCodesImGui @@ -245,7 +247,7 @@ function setup-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 + Move-Item -Path "$path_VescodesImGui_thirdparty\*" -Destination $path_engine_thirdparty -Confirm:$false Remove-Item -Path $path_VescodesImGui_thirdparty -Recurse -Confirm:$false } @@ -315,7 +317,7 @@ function setup-cog $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 + grab-ip $url_Cog $path_cog_zip $ue_plugins_surgo remove-item $path_cog_zip -Confirm:$false } write-host @@ -324,6 +326,7 @@ setup-cog function setup-tracy { + # TODO(Ed): Eventually add $url_ue_tracy = 'https://github.com/Nesquick0/TracyUnrealPlugin.git' } # setup_tracy