aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client
diff options
context:
space:
mode:
authorrtm516 <rtm516@users.noreply.github.com>2026-03-02 08:14:14 +0000
committerGitHub <noreply@github.com>2026-03-02 15:14:14 +0700
commite15bd26917cca606800c025371e61129109af004 (patch)
treed8ead40563c82fc44e937618536bc4ec09de2254 /Minecraft.Client
parent09e0c04f7b9d2d357715dc908ff0094dcf3e4fcc (diff)
Move to a postbuild.ps1 script and set the working dir at runtime as output dir (#113)
* Move to a postbuild.ps1 script and Set the working dir at runtime as output dir * Update for 2f711d4 * Only copy newer files and remove needed files from gitignore
Diffstat (limited to 'Minecraft.Client')
-rw-r--r--Minecraft.Client/Minecraft.Client.vcxproj31
-rw-r--r--Minecraft.Client/Minecraft.Client.vcxproj.user8
-rw-r--r--Minecraft.Client/postbuild.ps142
3 files changed, 54 insertions, 27 deletions
diff --git a/Minecraft.Client/Minecraft.Client.vcxproj b/Minecraft.Client/Minecraft.Client.vcxproj
index 5e448ab6..4e8d46be 100644
--- a/Minecraft.Client/Minecraft.Client.vcxproj
+++ b/Minecraft.Client/Minecraft.Client.vcxproj
@@ -1302,14 +1302,8 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"</Command>
<ForceFileOutput>MultiplyDefinedSymbolOnly</ForceFileOutput>
</Link>
<PostBuildEvent>
- <Message>Copying sound assets to output directory</Message>
- <Command>xcopy /q /y /i /s /e "$(ProjectDir)Durango\Sound" "$(OutDir)Durango\Sound"
-xcopy /q /y /i /s /e "$(ProjectDir)music" "$(OutDir)music"
-xcopy /q /y /i /s /e "$(ProjectDir)Windows64\GameHDD" "$(OutDir)Windows64\GameHDD"
-xcopy /q /y /i /s /e "$(ProjectDir)Common\Media" "$(OutDir)Common\Media"
-xcopy /q /y /i /s /e "$(ProjectDir)Common\res" "$(OutDir)Common\res"
-xcopy /q /y /i /s /e "$(ProjectDir)Common\Trial" "$(OutDir)Common\Trial"
-xcopy /q /y /i /s /e "$(ProjectDir)Common\Tutorial" "$(OutDir)Common\Tutorial"</Command>
+ <Message>Run postbuild script</Message>
+ <Command>powershell -ExecutionPolicy Bypass -File "$(ProjectDir)postbuild.ps1" -OutDir "$(OutDir)/" -ProjectDir "$(ProjectDir)/"</Command>
</PostBuildEvent>
<ImageXex>
<ConfigurationFile>$(ProjectDir)xbox\xex-dev.xml</ConfigurationFile>
@@ -1440,25 +1434,8 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
<SuppressStartupBanner>false</SuppressStartupBanner>
</Link>
<PostBuildEvent>
- <Message>Copying game assets to output directory</Message>
- <Command>mkdir "$(OutDir)music" 2&gt;nul
-mkdir "$(OutDir)Windows64\GameHDD" 2&gt;nul
-mkdir "$(OutDir)Common\Media" 2&gt;nul
-mkdir "$(OutDir)Common\res" 2&gt;nul
-mkdir "$(OutDir)Common\Trial" 2&gt;nul
-mkdir "$(OutDir)Common\Tutorial" 2&gt;nul
-mkdir "$(OutDir)Windows64Media" 2&gt;nul
-
-xcopy /q /y /i /s /e "$(ProjectDir)music" "$(OutDir)music" || exit /b 0
-xcopy /q /y /i /s /e "$(ProjectDir)Windows64\GameHDD" "$(OutDir)Windows64\GameHDD" || exit /b 0
-xcopy /q /y /i /s /e "$(ProjectDir)Common\Media" "$(OutDir)Common\Media" || exit /b 0
-xcopy /q /y /i /s /e "$(ProjectDir)Common\res" "$(OutDir)Common\res" || exit /b 0
-xcopy /q /y /i /s /e "$(ProjectDir)Common\Trial" "$(OutDir)Common\Trial" || exit /b 0
-xcopy /q /y /i /s /e "$(ProjectDir)Common\Tutorial" "$(OutDir)Common\Tutorial" || exit /b 0
-xcopy /q /y /i /s /e "$(ProjectDir)DurangoMedia" "$(OutDir)Windows64Media" || exit /b 0
-xcopy /q /y /i /s /e "$(ProjectDir)Windows64Media" "$(OutDir)Windows64Media" || exit /b 0
-
-exit /b 0</Command>
+ <Message>Run postbuild script</Message>
+ <Command>powershell -ExecutionPolicy Bypass -File "$(ProjectDir)postbuild.ps1" -OutDir "$(OutDir)/" -ProjectDir "$(ProjectDir)/"</Command>
</PostBuildEvent>
<ImageXex>
<ConfigurationFile>$(ProjectDir)xbox\xex-dev.xml</ConfigurationFile>
diff --git a/Minecraft.Client/Minecraft.Client.vcxproj.user b/Minecraft.Client/Minecraft.Client.vcxproj.user
index cf9782cd..10dbfa33 100644
--- a/Minecraft.Client/Minecraft.Client.vcxproj.user
+++ b/Minecraft.Client/Minecraft.Client.vcxproj.user
@@ -3,4 +3,12 @@
<PropertyGroup>
<LastConfigDeployed>Debug</LastConfigDeployed>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LocalDebuggerWorkingDirectory>$(SolutionDir)$(Platform)\$(Configuration)\</LocalDebuggerWorkingDirectory>
+ <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LocalDebuggerWorkingDirectory>$(SolutionDir)$(Platform)\$(Configuration)\</LocalDebuggerWorkingDirectory>
+ <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
+ </PropertyGroup>
</Project> \ No newline at end of file
diff --git a/Minecraft.Client/postbuild.ps1 b/Minecraft.Client/postbuild.ps1
new file mode 100644
index 00000000..1c965758
--- /dev/null
+++ b/Minecraft.Client/postbuild.ps1
@@ -0,0 +1,42 @@
+param(
+ [string]$OutDir,
+ [string]$ProjectDir
+)
+
+Write-Host "Post-build script started. Output Directory: $OutDir, Project Directory: $ProjectDir"
+
+$directories = @(
+ "music",
+ "Windows64\GameHDD",
+ "Common\Media",
+ "Common\res",
+ "Common\Trial",
+ "Common\Tutorial",
+ "Windows64Media"
+)
+
+foreach ($dir in $directories) {
+ New-Item -ItemType Directory -Path (Join-Path $OutDir $dir) -Force | Out-Null
+}
+
+$copies = @(
+ @{ Source = "music"; Dest = "music" },
+ @{ Source = "Common\Media"; Dest = "Common\Media" },
+ @{ Source = "Common\res"; Dest = "Common\res" },
+ @{ Source = "Common\Trial"; Dest = "Common\Trial" },
+ @{ Source = "Common\Tutorial"; Dest = "Common\Tutorial" },
+ @{ Source = "Windows64\GameHDD"; Dest = "Windows64\GameHDD" },
+ @{ Source = "Windows64\Sound"; Dest = "Windows64\Sound" },
+ @{ Source = "DurangoMedia"; Dest = "Windows64Media" },
+ @{ Source = "Windows64Media"; Dest = "Windows64Media" }
+)
+
+foreach ($copy in $copies) {
+ $src = Join-Path $ProjectDir $copy.Source
+ $dst = Join-Path $OutDir $copy.Dest
+
+ if (Test-Path $src) {
+ # Copy the files using xcopy, forcing overwrite and suppressing errors, and only copying if the source is newer than the destination
+ xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null
+ }
+}